aboutsummaryrefslogtreecommitdiff
path: root/gcc/config.gcc
diff options
context:
space:
mode:
authorDave Korn <dave.korn.cygwin@gmail.com>2011-01-26 04:19:58 +0000
committerDave Korn <davek@gcc.gnu.org>2011-01-26 04:19:58 +0000
commit58c741a62e5f940a8e6f26b3154eebed3c03a466 (patch)
tree5baaf71e1160b38141e3ca33b23497cde91da050 /gcc/config.gcc
parenta7150b3d881e4386649de951cf314d9e9a86fc20 (diff)
downloadgcc-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.gcc16
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"