diff options
author | Dave Korn <dave.korn.cygwin@gmail.com> | 2011-01-26 04:19:58 +0000 |
---|---|---|
committer | Dave Korn <davek@gcc.gnu.org> | 2011-01-26 04:19:58 +0000 |
commit | 58c741a62e5f940a8e6f26b3154eebed3c03a466 (patch) | |
tree | 5baaf71e1160b38141e3ca33b23497cde91da050 /gcc/config.gcc | |
parent | a7150b3d881e4386649de951cf314d9e9a86fc20 (diff) | |
download | gcc-58c741a62e5f940a8e6f26b3154eebed3c03a466.zip gcc-58c741a62e5f940a8e6f26b3154eebed3c03a466.tar.gz gcc-58c741a62e5f940a8e6f26b3154eebed3c03a466.tar.bz2 |
re PR target/40125 (libgcc_s DLL installed in wrong directory in cross toolchain)
gcc/ChangeLog:
PR target/40125
* config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
t-dlldir{,-x} fragment for build and add it to tmake_file.
(i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
* Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
* config/i386/t-dlldir: New file.
(SHLIB_DLLDIR): Define.
* config/i386/t-dlldir-x: New file.
(SHLIB_DLLDIR): Define.
* config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
(SHLIB_INSTALL): Use it.
libgcc/ChangeLog:
PR target/40125
* configure.ac: Call ACX_NONCANONICAL_TARGET.
(toolexecdir): Calculate and AC_SUBST.
(toolexeclibdir): Likewise.
* Makefile.in (target_noncanonical): Import.
(toolexecdir): Likewise.
(toolexeclibdir): Likewise.
* configure: Regenerate.
From-SVN: r169274
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r-- | gcc/config.gcc | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc index 0f6aae1..516c41f 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -1424,7 +1424,13 @@ i[34567]86-*-pe | i[34567]86-*-cygwin*) else tmake_eh_file="i386/t-sjlj-eh" fi - tmake_file="${tmake_file} ${tmake_eh_file} i386/t-cygming i386/t-cygwin" + # Shared libgcc DLL install dir depends on cross/native build. + if test x${host} = x${target} ; then + tmake_dlldir_file="i386/t-dlldir" + else + tmake_dlldir_file="i386/t-dlldir-x" + fi + tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-cygming i386/t-cygwin" target_gtfiles="\$(srcdir)/config/i386/winnt.c" extra_options="${extra_options} i386/cygming.opt" extra_objs="winnt.o winnt-stubs.o" @@ -1480,7 +1486,13 @@ i[34567]86-*-mingw* | x86_64-*-mingw*) else tmake_eh_file="i386/t-sjlj-eh" fi - tmake_file="${tmake_file} ${tmake_eh_file} i386/t-cygming t-dfprules" + # Shared libgcc DLL install dir depends on cross/native build. + if test x${host} = x${target} ; then + tmake_dlldir_file="i386/t-dlldir" + else + tmake_dlldir_file="i386/t-dlldir-x" + fi + tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-cygming t-dfprules" case ${target} in x86_64-w64-*) tmake_file="${tmake_file} i386/t-mingw-w64" |