From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31795 invoked by alias); 2 Dec 2019 14:26:06 -0000 Mailing-List: contact libffi-discuss-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libffi-discuss-owner@sourceware.org Received: (qmail 31780 invoked by uid 89); 2 Dec 2019 14:26:05 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-8.8 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_2,GIT_PATCH_3,KAM_ASCII_DIVIDERS,KAM_SHORT autolearn=ham version=3.3.1 spammy=sk:withta, sk:with-ta, particularly, sk:libphob X-HELO: esa1.hgst.iphmx.com Received: from esa1.hgst.iphmx.com (HELO esa1.hgst.iphmx.com) (68.232.141.245) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 02 Dec 2019 14:25:53 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1575296753; x=1606832753; h=date:from:to:cc:subject:message-id:mime-version; bh=z0Z33WSN02yNbH+fcyP3udF/9y0NVUKt8Z9ryXEIYQY=; b=N3LR3ZZW2e1kILXzsAfzVwZwD3/aYNKMevQmuVtuOiplG+El2W52lWi7 lPhgK+5doKzEPu/ztf5mp8TQcg0smey/sch2r+iDz1R3reOEMZ4dxrlJn fiInZfV30inowL0lNaaLgtlueJKth9lC7wZOk/QV6WWisLYFTZvQauLZi m9ji0wclEjAM6h1ju/WGAdQkQMMl62awpRJB2M51J667w/b1IrQJtA72D 77TEU6r1nD30nQSdvzMZMivZqxVtmOo7A0WC+Lx7E95+MckdMA83BGOH2 kxzt/0sAqq0EJEQLa8C4Se6cfRWFxpy3V46S7DcX36VumLE2fuWbposg6 w==; IronPort-SDR: BcHdGSHVxG26JWFkqFrugcx57TjYXKkkjF/8noicz2yimNaVq9YO5ahg9ohi9O3at066gnU4C/ HLE6C7Fdcimodtcpqbdb4QY0ah+B9UKHUcFi6VqQSb/DJ1YTmP10lERCo1M0E9ZKMbGjwQ0uN7 YyO7bRq629pJLEp3JDcvVm5n1jVQEYR1NdzQS67AgtHhkgyA9OkzYZgqZf9ZuSh41ytLJAalVb DFexs2yQBMNOJiSmjCEo4DUVm3tDulobykoHtEZ4iwd36i9rAnK0NRCkUWpGc6J7p4ELaYroSQ AHw= Received: from h199-255-45-14.hgst.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 02 Dec 2019 22:25:51 +0800 IronPort-SDR: GVPWVDIE8pnqTbllQVkxHbVoqZt/onM/goiEJIs8oDLK/9DoVsT1ekBV0kuyKANjJ7yjTQfz/c YZR/Sl1CduQrxRtxhxV5HqJZMJ29vjoNqrzA4pU9KbPNbFtj94Rpq3B1mA1cKvAL45XTPE5O5O LicbvuZH/ZLwSarcwXTl3aS2bOYV13htYkI16X06QTguyis6BtWWO2rGrFiSL6GYdDCuqdLAx+ HJmFdtyUGHn9V/Zbwz1iAhhFEYQIGSg2yHWIjxse0ApD2s2Nc6m6PRaBGtNf2SDrUJW3GOiIzD qymN/Uv3PLdW0PRGNZE/TKkK Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Dec 2019 06:20:41 -0800 IronPort-SDR: nNTdEpbHoRaVLCCqX5gBqCW7CImPgl+WdFOSOLHHzJZpBGJB/UqgBBaS7erOCXGdYjV16CpQCX LDEGNk1O4OPXEu1wWZC2OGNpBD6+327m2iKWpAt8fZaOl5zAGGespVpqYT4wAxnMvlXDYMVWD0 06sYiyFn1JCq+rxSzDg1RJzcLXY18hcYN2YcIy/Gej62bYP03ImHRiMnanOX82DdhXT6/ctx0Q uQiJGGO9qAO4RBFdIagXsUixR6M3CN2XJqL0b2T0QM3TDkjoGYWlU70x9htK33OtnO6jIF5YOB Xow= WDCIronportException: Internal Received: from unknown (HELO redsun52) ([10.149.66.28]) by uls-op-cesaip02.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Dec 2019 06:25:48 -0800 Date: Mon, 02 Dec 2019 14:26:00 -0000 From: "Maciej W. Rozycki" To: Joseph Myers , gcc-patches@gcc.gnu.org cc: libffi-discuss@sourceware.org, gofrontend-dev@googlegroups.com, zlib@gzip.org Subject: [PATCH v3] Add `--with-toolexeclibdir=' configuration option Message-ID: User-Agent: Alpine 2.21 (LFD 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-SW-Source: 2019/txt/msg00096.txt.bz2 Provide means, in the form of a `--with-toolexeclibdir=' configuration option, to override the default installation directory for target libraries, otherwise known as $toolexeclibdir. This is so that it is possible to get newly-built libraries, particularly the shared ones, installed in a common place, so that they can be readily used by the target system as their host libraries, possibly over NFS, without a need to manually copy them over from the currently hardcoded location they would otherwise be installed in. In the presence of the `--enable-version-specific-runtime-libs' option and for configurations building native GCC the option is ignored. config/ * toolexeclibdir.m4: New file. gcc/ * doc/install.texi (Cross-Compiler-Specific Options): Document `--with-toolexeclibdir' option. libada/ * Makefile.in (configure_deps): Add `toolexeclibdir.m4'. * configure.ac: Handle `--with-toolexeclibdir='. * configure: Regenerate. libatomic/ * configure.ac: Handle `--with-toolexeclibdir='. * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * configure: Regenerate. * testsuite/Makefile.in: Regenerate. libffi/ * configure.ac: Handle `--with-toolexeclibdir='. * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * configure: Regenerate. * include/Makefile.in: Regenerate. * man/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. libgcc/ * Makefile.in (configure_deps): Add `toolexeclibdir.m4'. * configure.ac: Handle `--with-toolexeclibdir='. * configure: Regenerate. libgfortran/ * configure.ac: Handle `--with-toolexeclibdir='. * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * configure: Regenerate. libgo/ * configure.ac: Handle `--with-toolexeclibdir='. * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * configure: Regenerate. * testsuite/Makefile.in: Regenerate. libgomp/ * configure.ac: Handle `--with-toolexeclibdir='. * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * configure: Regenerate. * testsuite/Makefile.in: Regenerate. libhsail-rt/ * configure.ac: Handle `--with-toolexeclibdir='. * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * configure: Regenerate. libitm/ * configure.ac: Handle `--with-toolexeclibdir='. * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * configure: Regenerate. * testsuite/Makefile.in: Regenerate. libobjc/ * Makefile.in (aclocal_deps): Add `toolexeclibdir.m4'. * aclocal.m4: Include `toolexeclibdir.m4'. * configure.ac: Handle `--with-toolexeclibdir='. * configure: Regenerate. liboffloadmic/ * plugin/configure.ac: Handle `--with-toolexeclibdir='. * plugin/Makefile.in: Regenerate. * plugin/aclocal.m4: Regenerate. * plugin/configure: Regenerate. * configure.ac: Handle `--with-toolexeclibdir='. * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * configure: Regenerate. libphobos/ * m4/druntime.m4: Handle `--with-toolexeclibdir='. * m4/Makefile.in: Regenerate. * libdruntime/Makefile.in: Regenerate. * src/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * configure: Regenerate. libquadmath/ * configure.ac: Handle `--with-toolexeclibdir='. * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * configure: Regenerate. libsanitizer/ * configure.ac: Handle `--with-toolexeclibdir='. * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * configure: Regenerate. * asan/Makefile.in: Regenerate. * interception/Makefile.in: Regenerate. * libbacktrace/Makefile.in: Regenerate. * lsan/Makefile.in: Regenerate. * sanitizer_common/Makefile.in: Regenerate. * tsan/Makefile.in: Regenerate. * ubsan/Makefile.in: Regenerate. libssp/ * configure.ac: Handle `--with-toolexeclibdir='. * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * configure: Regenerate. libstdc++-v3/ * acinclude.m4: Handle `--with-toolexeclibdir='. * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * configure: Regenerate. * doc/Makefile.in: Regenerate. * include/Makefile.in: Regenerate. * libsupc++/Makefile.in: Regenerate. * po/Makefile.in: Regenerate. * python/Makefile.in: Regenerate. * src/Makefile.in: Regenerate. * src/c++11/Makefile.in: Regenerate. * src/c++17/Makefile.in: Regenerate. * src/c++98/Makefile.in: Regenerate. * src/filesystem/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. libvtv/ * configure.ac: Handle `--with-toolexeclibdir='. * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * configure: Regenerate. * testsuite/Makefile.in: Regenerate. zlib/ * configure.ac: Handle `--with-toolexeclibdir='. * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * configure: Regenerate. --- On Thu, 28 Nov 2019, Joseph Myers wrote: > > Do you mean that there's no option to print SYSROOT_SUFFIX_SPEC on its > > own or that no option prints it as a path component? If the latter, then > > I think it's an awful shortcoming, because there's no reasonable way for > > a given GCC compilation to determine the layout expected. > > There is no option to print the results of expanding SYSROOT_SUFFIX_SPEC > on its own. You can use -print-sysroot to print the full sysroot used, > including the suffix. That's presumably updated as per the multilib selected, right? I guess this should help supporting a `--enable-sysroot-for-toolexeclibdir' option because in `configure' we can then do: $ $CC --sysroot=$toolexeclibdir/.. -print-sysroot to determine the intended per-multilib library installation prefix (replacing `toolexeclibdir=$toolexeclibdir/$multi_os_directory' retained for the `--disable-sysroot-for-toolexeclibdir' case of course). However it's not clear to me how to determine the $libdir suffix that is specific to the target and multilib selected, which might be /usr/lib64 for `mips64el-st-linux-gnu' and `-mabi=64", but /usr/lib32/ilp32d for `riscv64-linux-gnu' and `-march=rv32imafdc -mabi=ilp32d' (and then with the /usr part removed/substituted for libgcc if so requested using `--with-slibdir). > > If my understanding as expressed above is correct, then I think the way > > to move forward with this change will be to rename the option to > > `--with-toolexeclibdir=' or suchlike (and adjust documentation > > accordingly) so that it avoids the ambiguity of "sysroot" and is in line > > with the usual `--bindir=', `--libdir=', etc. or less usual > > `--with-slibdir=' options where people can adjust the various installation > > directories according to their requirements or preferences. > > Yes, that seems a plausible approach. OK for the following reworked change then? NB it looks to me the manual would benefit from a bit of refreshment in documenting the tooldir; not only ${gcc_tooldir} (which I have repeated here for consistency with `--with-sysroot' option's documentation) has not been clearly defined (you have to look it up in the Makefile system), but this paragraph: "There is a subtle point with tooldirs and 'DESTDIR': If you relocate a cross-compiler installation with e.g. 'DESTDIR=ROOTDIR', then the directory 'ROOTDIR/EXEC-PREFIX/TARGET-ALIAS/bin' will be filled with duplicated GCC executables only if it already exists, it will not be created otherwise. This is regarded as a feature, not as a bug, because it gives slightly more control to the packagers using the 'DESTDIR' feature." is no longer true as well, because as from r202544 ("Don't install $(target)/bin/gcc, gfortran, etc."), (cf. PR driver/42955), we do not install tooldir binaries at all. [Which I think was an unfortunate decision as from my own experience setting PATH="/usr//bin:$PATH" used to be quite a reasonable way to cross-compile pieces of software -- without the need to mess with them too much -- whose, arguably antiquated, build systems had the name of the compiler hardcoded, typically to `cc'. Given the amount of time that has passed since the removal though I guess it makes no sense anymore to fix the underlying path handling bug and restore the feature.] Maciej Changes from v2: - Option renamed to `--with-toolexeclibdir=' and the interpretation of the argument changed to include the lib/ subdir; default handling and the corresponding argument to GCC_WITH_TOOLEXECLIBDIR dropped, reflecting how such other directory settings are dealt with. - Option's help clarified to specifically mention "libraries built with a cross compiler". - Documentation updated, simplified and reordered accordingly. Changes from v1: - The handling of `--with-install-sysroot=' moved to install-sysroot.m4. - Documentation added for `--with-install-sysroot=' to install.texi. --- config/toolexeclibdir.m4 | 31 +++++++++++++++++++ gcc/doc/install.texi | 4 ++ libada/Makefile.in | 1 libada/configure | 29 +++++++++++++++++- libada/configure.ac | 12 +++++++ libatomic/Makefile.in | 1 libatomic/aclocal.m4 | 1 libatomic/configure | 33 +++++++++++++++++++-- libatomic/configure.ac | 11 ++++++- libatomic/testsuite/Makefile.in | 1 libffi/Makefile.in | 1 libffi/aclocal.m4 | 1 libffi/configure | 33 +++++++++++++++++++-- libffi/configure.ac | 11 ++++++- libffi/include/Makefile.in | 1 libffi/man/Makefile.in | 1 libffi/testsuite/Makefile.in | 1 libgcc/Makefile.in | 1 libgcc/configure | 38 ++++++++++++++++++++++-- libgcc/configure.ac | 25 +++++++++++++-- libgfortran/Makefile.in | 1 libgfortran/aclocal.m4 | 1 libgfortran/configure | 33 +++++++++++++++++++-- libgfortran/configure.ac | 11 ++++++- libgo/Makefile.in | 1 libgo/aclocal.m4 | 1 libgo/configure | 33 +++++++++++++++++++-- libgo/configure.ac | 11 ++++++- libgo/testsuite/Makefile.in | 1 libgomp/Makefile.in | 10 +++--- libgomp/aclocal.m4 | 1 libgomp/configure | 33 +++++++++++++++++++-- libgomp/configure.ac | 11 ++++++- libgomp/testsuite/Makefile.in | 10 +++--- libhsail-rt/Makefile.in | 1 libhsail-rt/aclocal.m4 | 1 libhsail-rt/configure | 33 +++++++++++++++++++-- libhsail-rt/configure.ac | 11 ++++++- libitm/Makefile.in | 1 libitm/aclocal.m4 | 1 libitm/configure | 33 +++++++++++++++++++-- libitm/configure.ac | 11 ++++++- libitm/testsuite/Makefile.in | 1 libobjc/Makefile.in | 1 libobjc/aclocal.m4 | 1 libobjc/configure | 33 +++++++++++++++++++-- libobjc/configure.ac | 11 ++++++- liboffloadmic/Makefile.in | 1 liboffloadmic/aclocal.m4 | 1 liboffloadmic/configure | 33 +++++++++++++++++++-- liboffloadmic/configure.ac | 11 ++++++- liboffloadmic/plugin/Makefile.in | 1 liboffloadmic/plugin/aclocal.m4 | 1 liboffloadmic/plugin/configure | 33 +++++++++++++++++++-- liboffloadmic/plugin/configure.ac | 11 ++++++- libphobos/Makefile.in | 1 libphobos/aclocal.m4 | 1 libphobos/configure | 33 +++++++++++++++++++-- libphobos/libdruntime/Makefile.in | 1 libphobos/m4/druntime.m4 | 11 ++++++- libphobos/src/Makefile.in | 1 libphobos/testsuite/Makefile.in | 1 libquadmath/Makefile.in | 1 libquadmath/aclocal.m4 | 1 libquadmath/configure | 33 +++++++++++++++++++-- libquadmath/configure.ac | 11 ++++++- libsanitizer/Makefile.in | 1 libsanitizer/aclocal.m4 | 1 libsanitizer/asan/Makefile.in | 1 libsanitizer/configure | 33 +++++++++++++++++++-- libsanitizer/configure.ac | 11 ++++++- libsanitizer/interception/Makefile.in | 1 libsanitizer/libbacktrace/Makefile.in | 1 libsanitizer/lsan/Makefile.in | 1 libsanitizer/sanitizer_common/Makefile.in | 1 libsanitizer/tsan/Makefile.in | 1 libsanitizer/ubsan/Makefile.in | 1 libssp/Makefile.in | 1 libssp/aclocal.m4 | 1 libssp/configure | 33 +++++++++++++++++++-- libssp/configure.ac | 11 ++++++- libstdc++-v3/Makefile.in | 1 libstdc++-v3/acinclude.m4 | 11 ++++++- libstdc++-v3/aclocal.m4 | 1 libstdc++-v3/configure | 47 +++++++++++++++++++++++------- libstdc++-v3/doc/Makefile.in | 1 libstdc++-v3/include/Makefile.in | 1 libstdc++-v3/libsupc++/Makefile.in | 1 libstdc++-v3/po/Makefile.in | 1 libstdc++-v3/python/Makefile.in | 1 libstdc++-v3/src/Makefile.in | 1 libstdc++-v3/src/c++11/Makefile.in | 1 libstdc++-v3/src/c++17/Makefile.in | 1 libstdc++-v3/src/c++98/Makefile.in | 1 libstdc++-v3/src/filesystem/Makefile.in | 1 libstdc++-v3/testsuite/Makefile.in | 1 libvtv/Makefile.in | 1 libvtv/aclocal.m4 | 1 libvtv/configure | 33 +++++++++++++++++++-- libvtv/configure.ac | 11 ++++++- libvtv/testsuite/Makefile.in | 1 zlib/Makefile.in | 1 zlib/aclocal.m4 | 1 zlib/configure | 33 +++++++++++++++++++-- zlib/configure.ac | 11 ++++++- 105 files changed, 893 insertions(+), 91 deletions(-) gcc-with-toolexeclibdir.diff Index: gcc/config/toolexeclibdir.m4 =================================================================== --- /dev/null +++ gcc/config/toolexeclibdir.m4 @@ -0,0 +1,31 @@ +dnl toolexeclibdir override support. +dnl Copyright (C) 2019 Free Software Foundation, Inc. +dnl +dnl This program is free software; you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation; either version 3, or (at your option) +dnl any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program; see the file COPYING3. If not see +dnl . + +AC_DEFUN([GCC_WITH_TOOLEXECLIBDIR], +[AC_ARG_WITH(toolexeclibdir, + [AS_HELP_STRING([--with-toolexeclibdir=DIR], + [install libraries built with a cross compiler within DIR])], + [dnl +case ${with_toolexeclibdir} in + /) + ;; + */) + with_toolexeclibdir=`echo $with_toolexeclibdir | sed 's,/$,,'` + ;; +esac], + [with_toolexeclibdir=no]) +]) Index: gcc/gcc/doc/install.texi =================================================================== --- gcc.orig/gcc/doc/install.texi +++ gcc/gcc/doc/install.texi @@ -2202,6 +2202,10 @@ target if target binutils supported. The following options only apply to building cross compilers. @table @code +@item --with-toolexeclibdir=@var{dir} +Specify the installation directory for libraries built with a cross compiler. +The default is @option{$@{gcc_tooldir@}/lib}. + @item --with-sysroot @itemx --with-sysroot=@var{dir} Tells GCC to consider @var{dir} as the root of a tree that contains Index: gcc/libada/Makefile.in =================================================================== --- gcc.orig/libada/Makefile.in +++ gcc/libada/Makefile.in @@ -186,6 +186,7 @@ configure_deps = \ $(srcdir)/../config/multi.m4 \ $(srcdir)/../config/override.m4 \ $(srcdir)/../config/picflag.m4 \ + $(srcdir)/../config/toolexeclibdir.m4 \ $(srcdir)/../config/unwind_ipinfo.m4 $(srcdir)/configure: @MAINT@ $(configure_deps) Index: gcc/libada/configure =================================================================== --- gcc.orig/libada/configure +++ gcc/libada/configure @@ -704,6 +704,7 @@ enable_option_checking with_build_libsubdir enable_version_specific_runtime_libs enable_maintainer_mode +with_toolexeclibdir enable_multilib enable_shared with_system_libunwind @@ -1339,6 +1340,9 @@ if test -n "$ac_init_help"; then --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-build-libsubdir=DIR Directory where to find libraries for build system + --with-toolexeclibdir=DIR + install libraries built with a cross compiler within + DIR --with-system-libunwind use installed libunwind --with-gcc-major-version-only use only GCC major number in filesystem paths @@ -2249,6 +2253,22 @@ else fi + +# Check whether --with-toolexeclibdir was given. +if test "${with_toolexeclibdir+set}" = set; then : + withval=$with_toolexeclibdir; case ${with_toolexeclibdir} in + /) + ;; + */) + with_toolexeclibdir=`echo $with_toolexeclibdir | sed 's,/$,,'` + ;; +esac +else + with_toolexeclibdir=no +fi + + + # Default to --enable-multilib # Check whether --enable-multilib was given. if test "${enable_multilib+set}" = set; then : @@ -2301,7 +2321,14 @@ case ${enable_version_specific_runtime_l test x"$with_cross_host" != x"no"; then # Install a library built with a cross compiler in tooldir, not libdir. toolexecdir='$(exec_prefix)/$(target_alias)' - toolexeclibdir='$(toolexecdir)/lib' + case ${with_toolexeclibdir} in + no) + toolexeclibdir='$(toolexecdir)/lib' + ;; + *) + toolexeclibdir=${with_toolexeclibdir} + ;; + esac else toolexecdir='$(libdir)/gcc-lib/$(target_alias)' toolexeclibdir='$(libdir)' Index: gcc/libada/configure.ac =================================================================== --- gcc.orig/libada/configure.ac +++ gcc/libada/configure.ac @@ -19,6 +19,7 @@ sinclude(../config/acx.m4) sinclude(../config/multi.m4) sinclude(../config/override.m4) sinclude(../config/picflag.m4) +sinclude(../config/toolexeclibdir.m4) sinclude(../config/unwind_ipinfo.m4) AC_INIT @@ -67,6 +68,8 @@ AC_ARG_ENABLE([maintainer-mode], [MAINT='#']) AC_SUBST([MAINT])dnl +GCC_WITH_TOOLEXECLIBDIR + AM_ENABLE_MULTILIB(, ..) # Calculate toolexeclibdir # Also toolexecdir, though it's only used in toolexeclibdir @@ -83,7 +86,14 @@ case ${enable_version_specific_runtime_l test x"$with_cross_host" != x"no"; then # Install a library built with a cross compiler in tooldir, not libdir. toolexecdir='$(exec_prefix)/$(target_alias)' - toolexeclibdir='$(toolexecdir)/lib' + case ${with_toolexeclibdir} in + no) + toolexeclibdir='$(toolexecdir)/lib' + ;; + *) + toolexeclibdir=${with_toolexeclibdir} + ;; + esac else toolexecdir='$(libdir)/gcc-lib/$(target_alias)' toolexeclibdir='$(libdir)' Index: gcc/libatomic/Makefile.in =================================================================== --- gcc.orig/libatomic/Makefile.in +++ gcc/libatomic/Makefile.in @@ -106,6 +106,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/multi.m4 \ $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../config/warnings.m4 \ $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ Index: gcc/libatomic/aclocal.m4 =================================================================== --- gcc.orig/libatomic/aclocal.m4 +++ gcc/libatomic/aclocal.m4 @@ -1194,6 +1194,7 @@ m4_include([../config/lthostflags.m4]) m4_include([../config/multi.m4]) m4_include([../config/override.m4]) m4_include([../config/stdint.m4]) +m4_include([../config/toolexeclibdir.m4]) m4_include([../config/warnings.m4]) m4_include([../ltoptions.m4]) m4_include([../ltsugar.m4]) Index: gcc/libatomic/configure =================================================================== --- gcc.orig/libatomic/configure +++ gcc/libatomic/configure @@ -794,6 +794,7 @@ enable_version_specific_runtime_libs enable_generated_files_in_srcdir enable_silent_rules enable_multilib +with_toolexeclibdir enable_dependency_tracking enable_shared enable_static @@ -1459,6 +1460,9 @@ if test -n "$ac_init_help"; then Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-toolexeclibdir=DIR + install libraries built with a cross compiler within + DIR --with-pic try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] @@ -3343,6 +3347,22 @@ fi ac_config_commands="$ac_config_commands default-1" + +# Check whether --with-toolexeclibdir was given. +if test "${with_toolexeclibdir+set}" = set; then : + withval=$with_toolexeclibdir; case ${with_toolexeclibdir} in + /) + ;; + */) + with_toolexeclibdir=`echo $with_toolexeclibdir | sed 's,/$,,'` + ;; +esac +else + with_toolexeclibdir=no +fi + + + # Calculate toolexeclibdir # Also toolexecdir, though it's only used in toolexeclibdir case ${enable_version_specific_runtime_libs} in @@ -3358,7 +3378,14 @@ case ${enable_version_specific_runtime_l test x"$with_cross_host" != x"no"; then # Install a library built with a cross compiler in tooldir, not libdir. toolexecdir='$(exec_prefix)/$(target_alias)' - toolexeclibdir='$(toolexecdir)/lib' + case ${with_toolexeclibdir} in + no) + toolexeclibdir='$(toolexecdir)/lib' + ;; + *) + toolexeclibdir=${with_toolexeclibdir} + ;; + esac else toolexecdir='$(libdir)/gcc-lib/$(target_alias)' toolexeclibdir='$(libdir)' @@ -11360,7 +11387,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11363 "configure" +#line 11390 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11466,7 +11493,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11469 "configure" +#line 11496 "configure" #include "confdefs.h" #if HAVE_DLFCN_H Index: gcc/libatomic/configure.ac =================================================================== --- gcc.orig/libatomic/configure.ac +++ gcc/libatomic/configure.ac @@ -84,6 +84,8 @@ target_alias=${target_alias-$host_alias} AM_INIT_AUTOMAKE([1.9.0 foreign no-dist -Wall -Wno-portability -Wno-override]) AM_ENABLE_MULTILIB(, ..) +GCC_WITH_TOOLEXECLIBDIR + # Calculate toolexeclibdir # Also toolexecdir, though it's only used in toolexeclibdir case ${enable_version_specific_runtime_libs} in @@ -99,7 +101,14 @@ case ${enable_version_specific_runtime_l test x"$with_cross_host" != x"no"; then # Install a library built with a cross compiler in tooldir, not libdir. toolexecdir='$(exec_prefix)/$(target_alias)' - toolexeclibdir='$(toolexecdir)/lib' + case ${with_toolexeclibdir} in + no) + toolexeclibdir='$(toolexecdir)/lib' + ;; + *) + toolexeclibdir=${with_toolexeclibdir} + ;; + esac else toolexecdir='$(libdir)/gcc-lib/$(target_alias)' toolexeclibdir='$(libdir)' Index: gcc/libatomic/testsuite/Makefile.in =================================================================== --- gcc.orig/libatomic/testsuite/Makefile.in +++ gcc/libatomic/testsuite/Makefile.in @@ -97,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/multi.m4 \ $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../config/warnings.m4 \ $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ Index: gcc/libffi/Makefile.in =================================================================== --- gcc.orig/libffi/Makefile.in +++ gcc/libffi/Makefile.in @@ -103,6 +103,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/lead-dot.m4 \ $(top_srcdir)/../config/multi.m4 \ $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ Index: gcc/libffi/aclocal.m4 =================================================================== --- gcc.orig/libffi/aclocal.m4 +++ gcc/libffi/aclocal.m4 @@ -1193,6 +1193,7 @@ m4_include([../config/depstand.m4]) m4_include([../config/lead-dot.m4]) m4_include([../config/multi.m4]) m4_include([../config/override.m4]) +m4_include([../config/toolexeclibdir.m4]) m4_include([../libtool.m4]) m4_include([../ltoptions.m4]) m4_include([../ltsugar.m4]) Index: gcc/libffi/configure =================================================================== --- gcc.orig/libffi/configure +++ gcc/libffi/configure @@ -813,6 +813,7 @@ enable_debug enable_structs enable_raw_api enable_purify_safety +with_toolexeclibdir enable_symvers with_gcc_major_version_only ' @@ -1476,6 +1477,9 @@ if test -n "$ac_init_help"; then --with-pic try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-toolexeclibdir=DIR + install libraries built with a cross compiler within + DIR --with-gcc-major-version-only use only GCC major number in filesystem paths @@ -11557,7 +11561,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11560 "configure" +#line 11564 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11663,7 +11667,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11666 "configure" +#line 11670 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -16177,10 +16181,33 @@ $as_echo "#define USING_PURIFY 1" >>conf fi + +# Check whether --with-toolexeclibdir was given. +if test "${with_toolexeclibdir+set}" = set; then : + withval=$with_toolexeclibdir; case ${with_toolexeclibdir} in + /) + ;; + */) + with_toolexeclibdir=`echo $with_toolexeclibdir | sed 's,/$,,'` + ;; +esac +else + with_toolexeclibdir=no +fi + + + if test -n "$with_cross_host" && test x"$with_cross_host" != x"no"; then toolexecdir='$(exec_prefix)/$(target_alias)' - toolexeclibdir='$(toolexecdir)/lib' + case ${with_toolexeclibdir} in + no) + toolexeclibdir='$(toolexecdir)/lib' + ;; + *) + toolexeclibdir=${with_toolexeclibdir} + ;; + esac else toolexecdir='$(libdir)/gcc-lib/$(target_alias)' toolexeclibdir='$(libdir)' Index: gcc/libffi/configure.ac =================================================================== --- gcc.orig/libffi/configure.ac +++ gcc/libffi/configure.ac @@ -332,10 +332,19 @@ AC_ARG_ENABLE(purify-safety, AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.]) fi) +GCC_WITH_TOOLEXECLIBDIR + if test -n "$with_cross_host" && test x"$with_cross_host" != x"no"; then toolexecdir='$(exec_prefix)/$(target_alias)' - toolexeclibdir='$(toolexecdir)/lib' + case ${with_toolexeclibdir} in + no) + toolexeclibdir='$(toolexecdir)/lib' + ;; + *) + toolexeclibdir=${with_toolexeclibdir} + ;; + esac else toolexecdir='$(libdir)/gcc-lib/$(target_alias)' toolexeclibdir='$(libdir)' Index: gcc/libffi/include/Makefile.in =================================================================== --- gcc.orig/libffi/include/Makefile.in +++ gcc/libffi/include/Makefile.in @@ -97,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/lead-dot.m4 \ $(top_srcdir)/../config/multi.m4 \ $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ Index: gcc/libffi/man/Makefile.in =================================================================== --- gcc.orig/libffi/man/Makefile.in +++ gcc/libffi/man/Makefile.in @@ -96,6 +96,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/lead-dot.m4 \ $(top_srcdir)/../config/multi.m4 \ $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ Index: gcc/libffi/testsuite/Makefile.in =================================================================== --- gcc.orig/libffi/testsuite/Makefile.in +++ gcc/libffi/testsuite/Makefile.in @@ -96,6 +96,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/lead-dot.m4 \ $(top_srcdir)/../config/multi.m4 \ $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ Index: gcc/libgcc/Makefile.in =================================================================== --- gcc.orig/libgcc/Makefile.in +++ gcc/libgcc/Makefile.in @@ -165,6 +165,7 @@ AUTOCONF = autoconf configure_deps = \ $(srcdir)/../config/enable.m4 \ $(srcdir)/../config/tls.m4 \ + $(srcdir)/../config/toolexeclibdir.m4 \ $(srcdir)/../config/acx.m4 \ $(srcdir)/../config/no-executables.m4 \ $(srcdir)/../config/lib-ld.m4 \ Index: gcc/libgcc/configure =================================================================== --- gcc.orig/libgcc/configure +++ gcc/libgcc/configure @@ -705,6 +705,7 @@ enable_gcov enable_vtable_verify with_aix_soname enable_version_specific_runtime_libs +with_toolexeclibdir with_slibdir enable_maintainer_mode with_build_libsubdir @@ -1369,6 +1370,9 @@ if test -n "$ac_init_help"; then --with-aix-soname=aix|svr4|both shared library versioning (aka "SONAME") variant to provide on AIX + --with-toolexeclibdir=DIR + install libraries built with a cross compiler within + DIR --with-slibdir=DIR shared libraries in DIR LIBDIR --with-build-libsubdir=DIR Directory where to find libraries for build system --with-system-libunwind use installed libunwind @@ -2464,6 +2468,22 @@ fi $as_echo "$version_specific_libs" >&6; } +# Check whether --with-toolexeclibdir was given. +if test "${with_toolexeclibdir+set}" = set; then : + withval=$with_toolexeclibdir; case ${with_toolexeclibdir} in + /) + ;; + */) + with_toolexeclibdir=`echo $with_toolexeclibdir | sed 's,/$,,'` + ;; +esac +else + with_toolexeclibdir=no +fi + + + + # Check whether --with-slibdir was given. if test "${with_slibdir+set}" = set; then : withval=$with_slibdir; slibdir="$with_slibdir" @@ -2471,7 +2491,14 @@ else if test "${version_specific_libs}" = yes; then slibdir='$(libsubdir)' elif test -n "$with_cross_host" && test x"$with_cross_host" != x"no"; then - slibdir='$(exec_prefix)/$(host_noncanonical)/lib' + case ${with_toolexeclibdir} in + no) + slibdir='$(exec_prefix)/$(host_noncanonical)/lib' + ;; + *) + slibdir=${with_toolexeclibdir} + ;; + esac else slibdir='$(libdir)' fi @@ -2701,7 +2728,14 @@ case ${version_specific_libs} in test x"$with_cross_host" != x"no"; then # Install a library built with a cross compiler in tooldir, not libdir. toolexecdir='$(exec_prefix)/$(target_noncanonical)' - toolexeclibdir='$(toolexecdir)/lib' + case ${with_toolexeclibdir} in + no) + toolexeclibdir='$(toolexecdir)/lib' + ;; + *) + toolexeclibdir=${with_toolexeclibdir} + ;; + esac else toolexecdir='$(libdir)/gcc-lib/$(target_noncanonical)' toolexeclibdir='$(libdir)' Index: gcc/libgcc/configure.ac =================================================================== --- gcc.orig/libgcc/configure.ac +++ gcc/libgcc/configure.ac @@ -2,6 +2,7 @@ dnl Process this file with autoconf to p sinclude(../config/enable.m4) sinclude(../config/tls.m4) +sinclude(../config/toolexeclibdir.m4) sinclude(../config/acx.m4) sinclude(../config/no-executables.m4) sinclude(../config/lib-ld.m4) @@ -113,16 +114,25 @@ AC_ARG_ENABLE(version-specific-runtime-l [version_specific_libs=no]) AC_MSG_RESULT($version_specific_libs) +GCC_WITH_TOOLEXECLIBDIR + AC_ARG_WITH(slibdir, [ --with-slibdir=DIR shared libraries in DIR [LIBDIR]], slibdir="$with_slibdir", -if test "${version_specific_libs}" = yes; then +[if test "${version_specific_libs}" = yes; then slibdir='$(libsubdir)' elif test -n "$with_cross_host" && test x"$with_cross_host" != x"no"; then - slibdir='$(exec_prefix)/$(host_noncanonical)/lib' + case ${with_toolexeclibdir} in + no) + slibdir='$(exec_prefix)/$(host_noncanonical)/lib' + ;; + *) + slibdir=${with_toolexeclibdir} + ;; + esac else slibdir='$(libdir)' -fi) +fi]) AC_SUBST(slibdir) # Command-line options. @@ -168,7 +178,14 @@ case ${version_specific_libs} in test x"$with_cross_host" != x"no"; then # Install a library built with a cross compiler in tooldir, not libdir. toolexecdir='$(exec_prefix)/$(target_noncanonical)' - toolexeclibdir='$(toolexecdir)/lib' + case ${with_toolexeclibdir} in + no) + toolexeclibdir='$(toolexecdir)/lib' + ;; + *) + toolexeclibdir=${with_toolexeclibdir} + ;; + esac else toolexecdir='$(libdir)/gcc-lib/$(target_noncanonical)' toolexeclibdir='$(libdir)' Index: gcc/libgfortran/Makefile.in =================================================================== --- gcc.orig/libgfortran/Makefile.in +++ gcc/libgfortran/Makefile.in @@ -167,6 +167,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/multi.m4 \ $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/../config/acx.m4 \ Index: gcc/libgfortran/aclocal.m4 =================================================================== --- gcc.orig/libgfortran/aclocal.m4 +++ gcc/libgfortran/aclocal.m4 @@ -1174,6 +1174,7 @@ m4_include([../config/lthostflags.m4]) m4_include([../config/multi.m4]) m4_include([../config/override.m4]) m4_include([../config/stdint.m4]) +m4_include([../config/toolexeclibdir.m4]) m4_include([../ltoptions.m4]) m4_include([../ltsugar.m4]) m4_include([../ltversion.m4]) Index: gcc/libgfortran/configure =================================================================== --- gcc.orig/libgfortran/configure +++ gcc/libgfortran/configure @@ -809,6 +809,7 @@ enable_silent_rules enable_maintainer_mode enable_multilib enable_dependency_tracking +with_toolexeclibdir enable_cet enable_symvers with_gnu_ld @@ -1480,6 +1481,9 @@ if test -n "$ac_init_help"; then --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-build-libsubdir=DIR Directory where to find libraries for build system + --with-toolexeclibdir=DIR + install libraries built with a cross compiler within + DIR --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-pic try to use only PIC/non-PIC objects [default=use both] @@ -5173,6 +5177,22 @@ $as_echo "$ac_cv_safe_to_define___extens + +# Check whether --with-toolexeclibdir was given. +if test "${with_toolexeclibdir+set}" = set; then : + withval=$with_toolexeclibdir; case ${with_toolexeclibdir} in + /) + ;; + */) + with_toolexeclibdir=`echo $with_toolexeclibdir | sed 's,/$,,'` + ;; +esac +else + with_toolexeclibdir=no +fi + + + # Calculate toolexeclibdir # Also toolexecdir, though it's only used in toolexeclibdir case ${version_specific_libs} in @@ -5188,7 +5208,14 @@ case ${version_specific_libs} in test x"$with_cross_host" != x"no"; then # Install a library built with a cross compiler in tooldir, not libdir. toolexecdir='$(exec_prefix)/$(target_alias)' - toolexeclibdir='$(toolexecdir)/lib' + case ${with_toolexeclibdir} in + no) + toolexeclibdir='$(toolexecdir)/lib' + ;; + *) + toolexeclibdir=${with_toolexeclibdir} + ;; + esac else toolexecdir='$(libdir)/gcc-lib/$(target_alias)' toolexeclibdir='$(libdir)' @@ -12692,7 +12719,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12695 "configure" +#line 12722 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12798,7 +12825,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12801 "configure" +#line 12828 "configure" #include "confdefs.h" #if HAVE_DLFCN_H Index: gcc/libgfortran/configure.ac =================================================================== --- gcc.orig/libgfortran/configure.ac +++ gcc/libgfortran/configure.ac @@ -86,6 +86,8 @@ fi AC_USE_SYSTEM_EXTENSIONS +GCC_WITH_TOOLEXECLIBDIR + # Calculate toolexeclibdir # Also toolexecdir, though it's only used in toolexeclibdir case ${version_specific_libs} in @@ -101,7 +103,14 @@ case ${version_specific_libs} in test x"$with_cross_host" != x"no"; then # Install a library built with a cross compiler in tooldir, not libdir. toolexecdir='$(exec_prefix)/$(target_alias)' - toolexeclibdir='$(toolexecdir)/lib' + case ${with_toolexeclibdir} in + no) + toolexeclibdir='$(toolexecdir)/lib' + ;; + *) + toolexeclibdir=${with_toolexeclibdir} + ;; + esac else toolexecdir='$(libdir)/gcc-lib/$(target_alias)' toolexeclibdir='$(libdir)' Index: gcc/libgo/Makefile.in =================================================================== --- gcc.orig/libgo/Makefile.in +++ gcc/libgo/Makefile.in @@ -113,6 +113,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/lead-dot.m4 \ $(top_srcdir)/../config/multi.m4 \ $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../config/unwind_ipinfo.m4 \ $(top_srcdir)/config/libtool.m4 \ $(top_srcdir)/config/ltoptions.m4 \ Index: gcc/libgo/aclocal.m4 =================================================================== --- gcc.orig/libgo/aclocal.m4 +++ gcc/libgo/aclocal.m4 @@ -1192,6 +1192,7 @@ m4_include([../config/hwcaps.m4]) m4_include([../config/lead-dot.m4]) m4_include([../config/multi.m4]) m4_include([../config/override.m4]) +m4_include([../config/toolexeclibdir.m4]) m4_include([../config/unwind_ipinfo.m4]) m4_include([config/libtool.m4]) m4_include([config/ltoptions.m4]) Index: gcc/libgo/configure =================================================================== --- gcc.orig/libgo/configure +++ gcc/libgo/configure @@ -849,6 +849,7 @@ enable_fast_install enable_libtool_lock enable_werror enable_version_specific_runtime_libs +with_toolexeclibdir with_libffi with_libatomic with_system_libunwind @@ -1503,6 +1504,9 @@ if test -n "$ac_init_help"; then --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-pic try to use only PIC/non-PIC objects [default=use both] + --with-toolexeclibdir=DIR + install libraries built with a cross compiler within + DIR --without-libffi don't use libffi --without-libatomic don't use libatomic --with-system-libunwind use installed libunwind @@ -11486,7 +11490,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11489 "configure" +#line 11493 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11592,7 +11596,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11595 "configure" +#line 11599 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -13800,6 +13804,22 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $version_specific_libs" >&5 $as_echo "$version_specific_libs" >&6; } + +# Check whether --with-toolexeclibdir was given. +if test "${with_toolexeclibdir+set}" = set; then : + withval=$with_toolexeclibdir; case ${with_toolexeclibdir} in + /) + ;; + */) + with_toolexeclibdir=`echo $with_toolexeclibdir | sed 's,/$,,'` + ;; +esac +else + with_toolexeclibdir=no +fi + + + # Version-specific runtime libs processing. if test $version_specific_libs = yes; then glibgo_toolexecdir='${libdir}/gcc/${host_alias}' @@ -13811,7 +13831,14 @@ fi if test -n "$with_cross_host" && test x"$with_cross_host" != x"no"; then nover_glibgo_toolexecdir='${exec_prefix}/${host_alias}' - nover_glibgo_toolexeclibdir='${toolexecdir}/lib' + case ${with_toolexeclibdir} in + no) + nover_glibgo_toolexeclibdir='${toolexecdir}/lib' + ;; + *) + nover_glibgo_toolexeclibdir=${with_toolexeclibdir} + ;; + esac else nover_glibgo_toolexecdir='${libdir}/gcc/${host_alias}' nover_glibgo_toolexeclibdir='${libdir}' Index: gcc/libgo/configure.ac =================================================================== --- gcc.orig/libgo/configure.ac +++ gcc/libgo/configure.ac @@ -80,6 +80,8 @@ AC_ARG_ENABLE([version-specific-runtime- [version_specific_libs=no]) AC_MSG_RESULT($version_specific_libs) +GCC_WITH_TOOLEXECLIBDIR + # Version-specific runtime libs processing. if test $version_specific_libs = yes; then glibgo_toolexecdir='${libdir}/gcc/${host_alias}' @@ -91,7 +93,14 @@ fi if test -n "$with_cross_host" && test x"$with_cross_host" != x"no"; then nover_glibgo_toolexecdir='${exec_prefix}/${host_alias}' - nover_glibgo_toolexeclibdir='${toolexecdir}/lib' + case ${with_toolexeclibdir} in + no) + nover_glibgo_toolexeclibdir='${toolexecdir}/lib' + ;; + *) + nover_glibgo_toolexeclibdir=${with_toolexeclibdir} + ;; + esac else nover_glibgo_toolexecdir='${libdir}/gcc/${host_alias}' nover_glibgo_toolexeclibdir='${libdir}' Index: gcc/libgo/testsuite/Makefile.in =================================================================== --- gcc.orig/libgo/testsuite/Makefile.in +++ gcc/libgo/testsuite/Makefile.in @@ -95,6 +95,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/lead-dot.m4 \ $(top_srcdir)/../config/multi.m4 \ $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../config/unwind_ipinfo.m4 \ $(top_srcdir)/config/libtool.m4 \ $(top_srcdir)/config/ltoptions.m4 \ Index: gcc/libgomp/Makefile.in =================================================================== --- gcc.orig/libgomp/Makefile.in +++ gcc/libgomp/Makefile.in @@ -133,10 +133,12 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/lthostflags.m4 \ $(top_srcdir)/../config/multi.m4 \ $(top_srcdir)/../config/override.m4 \ - $(top_srcdir)/../config/tls.m4 $(top_srcdir)/../ltoptions.m4 \ - $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ - $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/../libtool.m4 $(top_srcdir)/../config/cet.m4 \ + $(top_srcdir)/../config/tls.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ + $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ + $(top_srcdir)/../config/cet.m4 \ $(top_srcdir)/plugin/configfrag.ac $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) Index: gcc/libgomp/aclocal.m4 =================================================================== --- gcc.orig/libgomp/aclocal.m4 +++ gcc/libgomp/aclocal.m4 @@ -1177,6 +1177,7 @@ m4_include([../config/lthostflags.m4]) m4_include([../config/multi.m4]) m4_include([../config/override.m4]) m4_include([../config/tls.m4]) +m4_include([../config/toolexeclibdir.m4]) m4_include([../ltoptions.m4]) m4_include([../ltsugar.m4]) m4_include([../ltversion.m4]) Index: gcc/libgomp/configure =================================================================== --- gcc.orig/libgomp/configure +++ gcc/libgomp/configure @@ -826,6 +826,7 @@ enable_version_specific_runtime_libs enable_generated_files_in_srcdir enable_silent_rules enable_multilib +with_toolexeclibdir enable_dependency_tracking enable_shared enable_static @@ -1505,6 +1506,9 @@ if test -n "$ac_init_help"; then Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-toolexeclibdir=DIR + install libraries built with a cross compiler within + DIR --with-pic try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] @@ -3501,6 +3505,22 @@ fi ac_config_commands="$ac_config_commands default-1" + +# Check whether --with-toolexeclibdir was given. +if test "${with_toolexeclibdir+set}" = set; then : + withval=$with_toolexeclibdir; case ${with_toolexeclibdir} in + /) + ;; + */) + with_toolexeclibdir=`echo $with_toolexeclibdir | sed 's,/$,,'` + ;; +esac +else + with_toolexeclibdir=no +fi + + + # Calculate toolexeclibdir # Also toolexecdir, though it's only used in toolexeclibdir case ${enable_version_specific_runtime_libs} in @@ -3516,7 +3536,14 @@ case ${enable_version_specific_runtime_l test x"$with_cross_host" != x"no"; then # Install a library built with a cross compiler in tooldir, not libdir. toolexecdir='$(exec_prefix)/$(target_alias)' - toolexeclibdir='$(toolexecdir)/lib' + case ${with_toolexeclibdir} in + no) + toolexeclibdir='$(toolexecdir)/lib' + ;; + *) + toolexeclibdir=${with_toolexeclibdir} + ;; + esac else toolexecdir='$(libdir)/gcc-lib/$(target_alias)' toolexeclibdir='$(libdir)' @@ -11405,7 +11432,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11408 "configure" +#line 11435 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11511,7 +11538,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11514 "configure" +#line 11541 "configure" #include "confdefs.h" #if HAVE_DLFCN_H Index: gcc/libgomp/configure.ac =================================================================== --- gcc.orig/libgomp/configure.ac +++ gcc/libgomp/configure.ac @@ -64,6 +64,8 @@ target_alias=${target_alias-$host_alias} AM_INIT_AUTOMAKE([1.9.0 foreign no-dist -Wall -Wno-portability -Wno-override]) AM_ENABLE_MULTILIB(, ..) +GCC_WITH_TOOLEXECLIBDIR + # Calculate toolexeclibdir # Also toolexecdir, though it's only used in toolexeclibdir case ${enable_version_specific_runtime_libs} in @@ -79,7 +81,14 @@ case ${enable_version_specific_runtime_l test x"$with_cross_host" != x"no"; then # Install a library built with a cross compiler in tooldir, not libdir. toolexecdir='$(exec_prefix)/$(target_alias)' - toolexeclibdir='$(toolexecdir)/lib' + case ${with_toolexeclibdir} in + no) + toolexeclibdir='$(toolexecdir)/lib' + ;; + *) + toolexeclibdir=${with_toolexeclibdir} + ;; + esac else toolexecdir='$(libdir)/gcc-lib/$(target_alias)' toolexeclibdir='$(libdir)' Index: gcc/libgomp/testsuite/Makefile.in =================================================================== --- gcc.orig/libgomp/testsuite/Makefile.in +++ gcc/libgomp/testsuite/Makefile.in @@ -99,10 +99,12 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/lthostflags.m4 \ $(top_srcdir)/../config/multi.m4 \ $(top_srcdir)/../config/override.m4 \ - $(top_srcdir)/../config/tls.m4 $(top_srcdir)/../ltoptions.m4 \ - $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ - $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/../libtool.m4 $(top_srcdir)/../config/cet.m4 \ + $(top_srcdir)/../config/tls.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ + $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ + $(top_srcdir)/../config/cet.m4 \ $(top_srcdir)/plugin/configfrag.ac $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) Index: gcc/libhsail-rt/Makefile.in =================================================================== --- gcc.orig/libhsail-rt/Makefile.in +++ gcc/libhsail-rt/Makefile.in @@ -139,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/depstand.m4 \ $(top_srcdir)/../config/lead-dot.m4 \ $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/configure.ac Index: gcc/libhsail-rt/aclocal.m4 =================================================================== --- gcc.orig/libhsail-rt/aclocal.m4 +++ gcc/libhsail-rt/aclocal.m4 @@ -1171,6 +1171,7 @@ m4_include([../config/acx.m4]) m4_include([../config/depstand.m4]) m4_include([../config/lead-dot.m4]) m4_include([../config/override.m4]) +m4_include([../config/toolexeclibdir.m4]) m4_include([../libtool.m4]) m4_include([../ltoptions.m4]) m4_include([../ltsugar.m4]) Index: gcc/libhsail-rt/configure =================================================================== --- gcc.orig/libhsail-rt/configure +++ gcc/libhsail-rt/configure @@ -773,6 +773,7 @@ enable_silent_rules enable_maintainer_mode enable_dependency_tracking enable_version_specific_runtime_libs +with_toolexeclibdir enable_shared enable_static with_pic @@ -1435,6 +1436,9 @@ if test -n "$ac_init_help"; then Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-toolexeclibdir=DIR + install libraries built with a cross compiler within + DIR --with-pic try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] @@ -4653,6 +4657,22 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_version_specific_runtime_libs" >&5 $as_echo "$enable_version_specific_runtime_libs" >&6; } + +# Check whether --with-toolexeclibdir was given. +if test "${with_toolexeclibdir+set}" = set; then : + withval=$with_toolexeclibdir; case ${with_toolexeclibdir} in + /) + ;; + */) + with_toolexeclibdir=`echo $with_toolexeclibdir | sed 's,/$,,'` + ;; +esac +else + with_toolexeclibdir=no +fi + + + # Calculate toolexeclibdir # Also toolexecdir, though it's only used in toolexeclibdir case ${enable_version_specific_runtime_libs} in @@ -4668,7 +4688,14 @@ case ${enable_version_specific_runtime_l test x"$with_cross_host" != x"no"; then # Install a library built with a cross compiler in tooldir, not libdir. toolexecdir='$(exec_prefix)/$(target_alias)' - toolexeclibdir='$(toolexecdir)/lib' + case ${with_toolexeclibdir} in + no) + toolexeclibdir='$(toolexecdir)/lib' + ;; + *) + toolexeclibdir=${with_toolexeclibdir} + ;; + esac else toolexecdir='$(libdir)/gcc-lib/$(target_alias)' toolexeclibdir='$(libdir)' @@ -11212,7 +11239,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11215 "configure" +#line 11242 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11318,7 +11345,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11321 "configure" +#line 11348 "configure" #include "confdefs.h" #if HAVE_DLFCN_H Index: gcc/libhsail-rt/configure.ac =================================================================== --- gcc.orig/libhsail-rt/configure.ac +++ gcc/libhsail-rt/configure.ac @@ -69,6 +69,8 @@ ler-specific directory]), [enable_version_specific_runtime_libs=no]) AC_MSG_RESULT($enable_version_specific_runtime_libs) +GCC_WITH_TOOLEXECLIBDIR + # Calculate toolexeclibdir # Also toolexecdir, though it's only used in toolexeclibdir case ${enable_version_specific_runtime_libs} in @@ -84,7 +86,14 @@ case ${enable_version_specific_runtime_l test x"$with_cross_host" != x"no"; then # Install a library built with a cross compiler in tooldir, not libdir. toolexecdir='$(exec_prefix)/$(target_alias)' - toolexeclibdir='$(toolexecdir)/lib' + case ${with_toolexeclibdir} in + no) + toolexeclibdir='$(toolexecdir)/lib' + ;; + *) + toolexeclibdir=${with_toolexeclibdir} + ;; + esac else toolexecdir='$(libdir)/gcc-lib/$(target_alias)' toolexeclibdir='$(libdir)' Index: gcc/libitm/Makefile.in =================================================================== --- gcc.orig/libitm/Makefile.in +++ gcc/libitm/Makefile.in @@ -107,6 +107,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ $(top_srcdir)/../config/tls.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../config/weakref.m4 \ $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ Index: gcc/libitm/aclocal.m4 =================================================================== --- gcc.orig/libitm/aclocal.m4 +++ gcc/libitm/aclocal.m4 @@ -1199,6 +1199,7 @@ m4_include([../config/multi.m4]) m4_include([../config/override.m4]) m4_include([../config/stdint.m4]) m4_include([../config/tls.m4]) +m4_include([../config/toolexeclibdir.m4]) m4_include([../config/weakref.m4]) m4_include([../ltoptions.m4]) m4_include([../ltsugar.m4]) Index: gcc/libitm/configure =================================================================== --- gcc.orig/libitm/configure +++ gcc/libitm/configure @@ -802,6 +802,7 @@ enable_version_specific_runtime_libs enable_generated_files_in_srcdir enable_silent_rules enable_multilib +with_toolexeclibdir enable_dependency_tracking enable_shared enable_static @@ -1472,6 +1473,9 @@ if test -n "$ac_init_help"; then Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-toolexeclibdir=DIR + install libraries built with a cross compiler within + DIR --with-pic try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] @@ -3527,6 +3531,22 @@ fi ac_config_commands="$ac_config_commands default-1" + +# Check whether --with-toolexeclibdir was given. +if test "${with_toolexeclibdir+set}" = set; then : + withval=$with_toolexeclibdir; case ${with_toolexeclibdir} in + /) + ;; + */) + with_toolexeclibdir=`echo $with_toolexeclibdir | sed 's,/$,,'` + ;; +esac +else + with_toolexeclibdir=no +fi + + + # Calculate toolexeclibdir # Also toolexecdir, though it's only used in toolexeclibdir case ${enable_version_specific_runtime_libs} in @@ -3542,7 +3562,14 @@ case ${enable_version_specific_runtime_l test x"$with_cross_host" != x"no"; then # Install a library built with a cross compiler in tooldir, not libdir. toolexecdir='$(exec_prefix)/$(target_alias)' - toolexeclibdir='$(toolexecdir)/lib' + case ${with_toolexeclibdir} in + no) + toolexeclibdir='$(toolexecdir)/lib' + ;; + *) + toolexeclibdir=${with_toolexeclibdir} + ;; + esac else toolexecdir='$(libdir)/gcc-lib/$(target_alias)' toolexeclibdir='$(libdir)' @@ -12037,7 +12064,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12040 "configure" +#line 12067 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12143,7 +12170,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12146 "configure" +#line 12173 "configure" #include "confdefs.h" #if HAVE_DLFCN_H Index: gcc/libitm/configure.ac =================================================================== --- gcc.orig/libitm/configure.ac +++ gcc/libitm/configure.ac @@ -78,6 +78,8 @@ target_alias=${target_alias-$host_alias} AM_INIT_AUTOMAKE([1.9.0 foreign no-dist -Wall -Wno-portability -Wno-override]) AM_ENABLE_MULTILIB(, ..) +GCC_WITH_TOOLEXECLIBDIR + # Calculate toolexeclibdir # Also toolexecdir, though it's only used in toolexeclibdir case ${enable_version_specific_runtime_libs} in @@ -93,7 +95,14 @@ case ${enable_version_specific_runtime_l test x"$with_cross_host" != x"no"; then # Install a library built with a cross compiler in tooldir, not libdir. toolexecdir='$(exec_prefix)/$(target_alias)' - toolexeclibdir='$(toolexecdir)/lib' + case ${with_toolexeclibdir} in + no) + toolexeclibdir='$(toolexecdir)/lib' + ;; + *) + toolexeclibdir=${with_toolexeclibdir} + ;; + esac else toolexecdir='$(libdir)/gcc-lib/$(target_alias)' toolexeclibdir='$(libdir)' Index: gcc/libitm/testsuite/Makefile.in =================================================================== --- gcc.orig/libitm/testsuite/Makefile.in +++ gcc/libitm/testsuite/Makefile.in @@ -102,6 +102,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ $(top_srcdir)/../config/tls.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../config/weakref.m4 \ $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ Index: gcc/libobjc/Makefile.in =================================================================== --- gcc.orig/libobjc/Makefile.in +++ gcc/libobjc/Makefile.in @@ -293,6 +293,7 @@ aclocal_deps = \ $(srcdir)/../config/multi.m4 \ $(srcdir)/../config/override.m4 \ $(srcdir)/../config/proginstall.m4 \ + $(srcdir)/../config/toolexeclibdir.m4 \ $(srcdir)/../ltoptions.m4 \ $(srcdir)/../ltsugar.m4 \ $(srcdir)/../ltversion.m4 \ Index: gcc/libobjc/aclocal.m4 =================================================================== --- gcc.orig/libobjc/aclocal.m4 +++ gcc/libobjc/aclocal.m4 @@ -153,4 +153,5 @@ m4_include([../config/cet.m4]) m4_include([../config/lthostflags.m4]) m4_include([../config/multi.m4]) m4_include([../config/override.m4]) +m4_include([../config/toolexeclibdir.m4]) m4_include([acinclude.m4]) Index: gcc/libobjc/configure =================================================================== --- gcc.orig/libobjc/configure +++ gcc/libobjc/configure @@ -746,6 +746,7 @@ with_target_subdir with_cross_host enable_version_specific_runtime_libs enable_multilib +with_toolexeclibdir enable_cet enable_maintainer_mode enable_shared @@ -1402,6 +1403,9 @@ if test -n "$ac_init_help"; then --with-target-subdir=SUBDIR configuring in a subdirectory --with-cross-host=HOST configuring with a cross compiler + --with-toolexeclibdir=DIR + install libraries built with a cross compiler within + DIR --with-pic try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] @@ -2502,6 +2506,22 @@ case $srcdir in esac + +# Check whether --with-toolexeclibdir was given. +if test "${with_toolexeclibdir+set}" = set; then : + withval=$with_toolexeclibdir; case ${with_toolexeclibdir} in + /) + ;; + */) + with_toolexeclibdir=`echo $with_toolexeclibdir | sed 's,/$,,'` + ;; +esac +else + with_toolexeclibdir=no +fi + + + # Calculate toolexeclibdir # Also toolexecdir, though it's only used in toolexeclibdir case ${version_specific_libs} in @@ -2517,7 +2537,14 @@ case ${version_specific_libs} in test x"$with_cross_host" != x"no"; then # Install a library built with a cross compiler in tooldir, not libdir. toolexecdir='$(exec_prefix)/$(target_noncanonical)' - toolexeclibdir='$(toolexecdir)/lib' + case ${with_toolexeclibdir} in + no) + toolexeclibdir='$(toolexecdir)/lib' + ;; + *) + toolexeclibdir=${with_toolexeclibdir} + ;; + esac else toolexecdir='$(libdir)/gcc-lib/$(target_noncanonical)' toolexeclibdir='$(libdir)' @@ -10748,7 +10775,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 10751 "configure" +#line 10778 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -10854,7 +10881,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 10857 "configure" +#line 10884 "configure" #include "confdefs.h" #if HAVE_DLFCN_H Index: gcc/libobjc/configure.ac =================================================================== --- gcc.orig/libobjc/configure.ac +++ gcc/libobjc/configure.ac @@ -76,6 +76,8 @@ case $srcdir in esac AC_SUBST(glibcpp_srcdir) +GCC_WITH_TOOLEXECLIBDIR + # Calculate toolexeclibdir # Also toolexecdir, though it's only used in toolexeclibdir case ${version_specific_libs} in @@ -91,7 +93,14 @@ case ${version_specific_libs} in test x"$with_cross_host" != x"no"; then # Install a library built with a cross compiler in tooldir, not libdir. toolexecdir='$(exec_prefix)/$(target_noncanonical)' - toolexeclibdir='$(toolexecdir)/lib' + case ${with_toolexeclibdir} in + no) + toolexeclibdir='$(toolexecdir)/lib' + ;; + *) + toolexeclibdir=${with_toolexeclibdir} + ;; + esac else toolexecdir='$(libdir)/gcc-lib/$(target_noncanonical)' toolexeclibdir='$(libdir)' Index: gcc/liboffloadmic/Makefile.in =================================================================== --- gcc.orig/liboffloadmic/Makefile.in +++ gcc/liboffloadmic/Makefile.in @@ -126,6 +126,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/lead-dot.m4 \ $(top_srcdir)/../config/multi.m4 \ $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/configure.ac Index: gcc/liboffloadmic/aclocal.m4 =================================================================== --- gcc.orig/liboffloadmic/aclocal.m4 +++ gcc/liboffloadmic/aclocal.m4 @@ -1172,6 +1172,7 @@ m4_include([../config/depstand.m4]) m4_include([../config/lead-dot.m4]) m4_include([../config/multi.m4]) m4_include([../config/override.m4]) +m4_include([../config/toolexeclibdir.m4]) m4_include([../libtool.m4]) m4_include([../ltoptions.m4]) m4_include([../ltsugar.m4]) Index: gcc/liboffloadmic/configure =================================================================== --- gcc.orig/liboffloadmic/configure +++ gcc/liboffloadmic/configure @@ -775,6 +775,7 @@ enable_maintainer_mode enable_dependency_tracking enable_multilib enable_version_specific_runtime_libs +with_toolexeclibdir enable_shared enable_static with_pic @@ -1437,6 +1438,9 @@ if test -n "$ac_init_help"; then Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-toolexeclibdir=DIR + install libraries built with a cross compiler within + DIR --with-pic try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] @@ -5293,6 +5297,22 @@ else fi + +# Check whether --with-toolexeclibdir was given. +if test "${with_toolexeclibdir+set}" = set; then : + withval=$with_toolexeclibdir; case ${with_toolexeclibdir} in + /) + ;; + */) + with_toolexeclibdir=`echo $with_toolexeclibdir | sed 's,/$,,'` + ;; +esac +else + with_toolexeclibdir=no +fi + + + # Calculate toolexeclibdir. # Also toolexecdir, though it's only used in toolexeclibdir. case ${enable_version_specific_runtime_libs} in @@ -5308,7 +5328,14 @@ case ${enable_version_specific_runtime_l test x"$with_cross_host" != x"no"; then # Install a library built with a cross compiler in tooldir, not libdir. toolexecdir='$(exec_prefix)/$(target_alias)' - toolexeclibdir='$(toolexecdir)/lib' + case ${with_toolexeclibdir} in + no) + toolexeclibdir='$(toolexecdir)/lib' + ;; + *) + toolexeclibdir=${with_toolexeclibdir} + ;; + esac else toolexecdir='$(libdir)/gcc-lib/$(target_alias)' toolexeclibdir='$(libdir)' @@ -11403,7 +11430,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11406 "configure" +#line 11433 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11509,7 +11536,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11512 "configure" +#line 11539 "configure" #include "confdefs.h" #if HAVE_DLFCN_H Index: gcc/liboffloadmic/configure.ac =================================================================== --- gcc.orig/liboffloadmic/configure.ac +++ gcc/liboffloadmic/configure.ac @@ -79,6 +79,8 @@ case "$enable_liboffloadmic" in esac AM_CONDITIONAL(LIBOFFLOADMIC_HOST, [test x"$enable_liboffloadmic" = xhost]) +GCC_WITH_TOOLEXECLIBDIR + # Calculate toolexeclibdir. # Also toolexecdir, though it's only used in toolexeclibdir. case ${enable_version_specific_runtime_libs} in @@ -94,7 +96,14 @@ case ${enable_version_specific_runtime_l test x"$with_cross_host" != x"no"; then # Install a library built with a cross compiler in tooldir, not libdir. toolexecdir='$(exec_prefix)/$(target_alias)' - toolexeclibdir='$(toolexecdir)/lib' + case ${with_toolexeclibdir} in + no) + toolexeclibdir='$(toolexecdir)/lib' + ;; + *) + toolexeclibdir=${with_toolexeclibdir} + ;; + esac else toolexecdir='$(libdir)/gcc-lib/$(target_alias)' toolexeclibdir='$(libdir)' Index: gcc/liboffloadmic/plugin/Makefile.in =================================================================== --- gcc.orig/liboffloadmic/plugin/Makefile.in +++ gcc/liboffloadmic/plugin/Makefile.in @@ -123,6 +123,7 @@ subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/acx.m4 \ $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/toolexeclibdir.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/override.m4 \ Index: gcc/liboffloadmic/plugin/aclocal.m4 =================================================================== --- gcc.orig/liboffloadmic/plugin/aclocal.m4 +++ gcc/liboffloadmic/plugin/aclocal.m4 @@ -1169,6 +1169,7 @@ AC_SUBST([am__untar]) m4_include([../../config/acx.m4]) m4_include([../../config/depstand.m4]) +m4_include([../../config/toolexeclibdir.m4]) m4_include([../../config/lead-dot.m4]) m4_include([../../config/multi.m4]) m4_include([../../config/override.m4]) Index: gcc/liboffloadmic/plugin/configure =================================================================== --- gcc.orig/liboffloadmic/plugin/configure +++ gcc/liboffloadmic/plugin/configure @@ -771,6 +771,7 @@ enable_maintainer_mode enable_dependency_tracking enable_multilib enable_version_specific_runtime_libs +with_toolexeclibdir enable_shared enable_static with_pic @@ -1434,6 +1435,9 @@ if test -n "$ac_init_help"; then Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-toolexeclibdir=DIR + install libraries built with a cross compiler within + DIR --with-pic try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] @@ -4542,6 +4546,22 @@ fi $as_echo "$enable_version_specific_runtime_libs" >&6; } + +# Check whether --with-toolexeclibdir was given. +if test "${with_toolexeclibdir+set}" = set; then : + withval=$with_toolexeclibdir; case ${with_toolexeclibdir} in + /) + ;; + */) + with_toolexeclibdir=`echo $with_toolexeclibdir | sed 's,/$,,'` + ;; +esac +else + with_toolexeclibdir=no +fi + + + # Calculate toolexeclibdir. # Also toolexecdir, though it's only used in toolexeclibdir. case ${enable_version_specific_runtime_libs} in @@ -4557,7 +4577,14 @@ case ${enable_version_specific_runtime_l test x"$with_cross_host" != x"no"; then # Install a library built with a cross compiler in tooldir, not libdir. toolexecdir='$(exec_prefix)/$(target_alias)' - toolexeclibdir='$(toolexecdir)/lib' + case ${with_toolexeclibdir} in + no) + toolexeclibdir='$(toolexecdir)/lib' + ;; + *) + toolexeclibdir=${with_toolexeclibdir} + ;; + esac else toolexecdir='$(libdir)/gcc-lib/$(target_alias)' toolexeclibdir='$(libdir)' @@ -11050,7 +11077,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11053 "configure" +#line 11080 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11156,7 +11183,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11159 "configure" +#line 11186 "configure" #include "confdefs.h" #if HAVE_DLFCN_H Index: gcc/liboffloadmic/plugin/configure.ac =================================================================== --- gcc.orig/liboffloadmic/plugin/configure.ac +++ gcc/liboffloadmic/plugin/configure.ac @@ -95,6 +95,8 @@ AC_ARG_ENABLE([version-specific-runtime- AC_MSG_RESULT($enable_version_specific_runtime_libs) +GCC_WITH_TOOLEXECLIBDIR + # Calculate toolexeclibdir. # Also toolexecdir, though it's only used in toolexeclibdir. case ${enable_version_specific_runtime_libs} in @@ -110,7 +112,14 @@ case ${enable_version_specific_runtime_l test x"$with_cross_host" != x"no"; then # Install a library built with a cross compiler in tooldir, not libdir. toolexecdir='$(exec_prefix)/$(target_alias)' - toolexeclibdir='$(toolexecdir)/lib' + case ${with_toolexeclibdir} in + no) + toolexeclibdir='$(toolexecdir)/lib' + ;; + *) + toolexeclibdir=${with_toolexeclibdir} + ;; + esac else toolexecdir='$(libdir)/gcc-lib/$(target_alias)' toolexeclibdir='$(libdir)' Index: gcc/libphobos/Makefile.in =================================================================== --- gcc.orig/libphobos/Makefile.in +++ gcc/libphobos/Makefile.in @@ -111,6 +111,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/lead-dot.m4 \ $(top_srcdir)/../config/multi.m4 \ $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ Index: gcc/libphobos/aclocal.m4 =================================================================== --- gcc.orig/libphobos/aclocal.m4 +++ gcc/libphobos/aclocal.m4 @@ -876,6 +876,7 @@ m4_include([../config/acx.m4]) m4_include([../config/lead-dot.m4]) m4_include([../config/multi.m4]) m4_include([../config/override.m4]) +m4_include([../config/toolexeclibdir.m4]) m4_include([../libtool.m4]) m4_include([../ltoptions.m4]) m4_include([../ltsugar.m4]) Index: gcc/libphobos/configure =================================================================== --- gcc.orig/libphobos/configure +++ gcc/libphobos/configure @@ -837,6 +837,7 @@ with_libbacktrace with_target_system_zlib with_cross_host enable_version_specific_runtime_libs +with_toolexeclibdir enable_libphobos ' ac_precious_vars='build_alias @@ -1504,6 +1505,9 @@ if test -n "$ac_init_help"; then --with-target-system-zlib={yes,no,auto} use installed libz (default: no) --with-cross-host=HOST configuring with a cross compiler + --with-toolexeclibdir=DIR + install libraries built with a cross compiler within + DIR Some influential environment variables: CC C compiler command @@ -11640,7 +11644,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11643 "configure" +#line 11647 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11746,7 +11750,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11749 "configure" +#line 11753 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -15237,6 +15241,22 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $version_specific_libs" >&5 $as_echo "$version_specific_libs" >&6; } + +# Check whether --with-toolexeclibdir was given. +if test "${with_toolexeclibdir+set}" = set; then : + withval=$with_toolexeclibdir; case ${with_toolexeclibdir} in + /) + ;; + */) + with_toolexeclibdir=`echo $with_toolexeclibdir | sed 's,/$,,'` + ;; +esac +else + with_toolexeclibdir=no +fi + + + # Version-specific runtime libs processing. if test $version_specific_libs = yes; then libphobos_toolexecdir='${libdir}/gcc/${host_alias}' @@ -15246,7 +15266,14 @@ $as_echo "$version_specific_libs" >&6; } # Install a library built with a cross compiler in tooldir, not libdir. if test -n "$with_cross_host" && test x"$with_cross_host" != x"no"; then libphobos_toolexecdir='${exec_prefix}/${host_alias}' - libphobos_toolexeclibdir='${toolexecdir}/lib' + case ${with_toolexeclibdir} in + no) + libphobos_toolexeclibdir='${toolexecdir}/lib' + ;; + *) + libphobos_toolexeclibdir=${with_toolexeclibdir} + ;; + esac else libphobos_toolexecdir='${libdir}/gcc/${host_alias}' libphobos_toolexeclibdir='${libdir}' Index: gcc/libphobos/libdruntime/Makefile.in =================================================================== --- gcc.orig/libphobos/libdruntime/Makefile.in +++ gcc/libphobos/libdruntime/Makefile.in @@ -136,6 +136,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/lead-dot.m4 \ $(top_srcdir)/../config/multi.m4 \ $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ Index: gcc/libphobos/m4/druntime.m4 =================================================================== --- gcc.orig/libphobos/m4/druntime.m4 +++ gcc/libphobos/m4/druntime.m4 @@ -80,6 +80,8 @@ AC_DEFUN([DRUNTIME_INSTALL_DIRECTORIES], [version_specific_libs=no]) AC_MSG_RESULT($version_specific_libs) + GCC_WITH_TOOLEXECLIBDIR + # Version-specific runtime libs processing. if test $version_specific_libs = yes; then libphobos_toolexecdir='${libdir}/gcc/${host_alias}' @@ -89,7 +91,14 @@ AC_DEFUN([DRUNTIME_INSTALL_DIRECTORIES], # Install a library built with a cross compiler in tooldir, not libdir. if test -n "$with_cross_host" && test x"$with_cross_host" != x"no"; then libphobos_toolexecdir='${exec_prefix}/${host_alias}' - libphobos_toolexeclibdir='${toolexecdir}/lib' + case ${with_toolexeclibdir} in + no) + libphobos_toolexeclibdir='${toolexecdir}/lib' + ;; + *) + libphobos_toolexeclibdir=${with_toolexeclibdir} + ;; + esac else libphobos_toolexecdir='${libdir}/gcc/${host_alias}' libphobos_toolexeclibdir='${libdir}' Index: gcc/libphobos/src/Makefile.in =================================================================== --- gcc.orig/libphobos/src/Makefile.in +++ gcc/libphobos/src/Makefile.in @@ -96,6 +96,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/lead-dot.m4 \ $(top_srcdir)/../config/multi.m4 \ $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ Index: gcc/libphobos/testsuite/Makefile.in =================================================================== --- gcc.orig/libphobos/testsuite/Makefile.in +++ gcc/libphobos/testsuite/Makefile.in @@ -96,6 +96,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/lead-dot.m4 \ $(top_srcdir)/../config/multi.m4 \ $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ Index: gcc/libquadmath/Makefile.in =================================================================== --- gcc.orig/libquadmath/Makefile.in +++ gcc/libquadmath/Makefile.in @@ -100,6 +100,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/multi.m4 \ $(top_srcdir)/../config/no-executables.m4 \ $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ Index: gcc/libquadmath/aclocal.m4 =================================================================== --- gcc.orig/libquadmath/aclocal.m4 +++ gcc/libquadmath/aclocal.m4 @@ -1174,6 +1174,7 @@ m4_include([../config/lthostflags.m4]) m4_include([../config/multi.m4]) m4_include([../config/no-executables.m4]) m4_include([../config/override.m4]) +m4_include([../config/toolexeclibdir.m4]) m4_include([../ltoptions.m4]) m4_include([../ltsugar.m4]) m4_include([../ltversion.m4]) Index: gcc/libquadmath/configure =================================================================== --- gcc.orig/libquadmath/configure +++ gcc/libquadmath/configure @@ -786,6 +786,7 @@ enable_fast_install with_gnu_ld enable_libtool_lock enable_maintainer_mode +with_toolexeclibdir enable_symvers enable_cet enable_generated_files_in_srcdir @@ -1451,6 +1452,9 @@ if test -n "$ac_init_help"; then --with-pic try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-toolexeclibdir=DIR + install libraries built with a cross compiler within + DIR --with-gcc-major-version-only use only GCC major number in filesystem paths @@ -10810,7 +10814,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 10813 "configure" +#line 10817 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -10916,7 +10920,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 10919 "configure" +#line 10923 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12088,6 +12092,22 @@ ac_link='$CC -o conftest$ac_exeext $CFLA ac_compiler_gnu=$ac_cv_c_compiler_gnu + +# Check whether --with-toolexeclibdir was given. +if test "${with_toolexeclibdir+set}" = set; then : + withval=$with_toolexeclibdir; case ${with_toolexeclibdir} in + /) + ;; + */) + with_toolexeclibdir=`echo $with_toolexeclibdir | sed 's,/$,,'` + ;; +esac +else + with_toolexeclibdir=no +fi + + + # Calculate toolexeclibdir # Also toolexecdir, though it's only used in toolexeclibdir case ${version_specific_libs} in @@ -12103,7 +12123,14 @@ case ${version_specific_libs} in test x"$with_cross_host" != x"no"; then # Install a library built with a cross compiler in tooldir, not libdir. toolexecdir='$(exec_prefix)/$(target_alias)' - toolexeclibdir='$(toolexecdir)/lib' + case ${with_toolexeclibdir} in + no) + toolexeclibdir='$(toolexecdir)/lib' + ;; + *) + toolexeclibdir=${with_toolexeclibdir} + ;; + esac else toolexecdir='$(libdir)/gcc-lib/$(target_alias)' toolexeclibdir='$(libdir)' Index: gcc/libquadmath/configure.ac =================================================================== --- gcc.orig/libquadmath/configure.ac +++ gcc/libquadmath/configure.ac @@ -82,6 +82,8 @@ if test "x$GCC" != "xyes"; then fi AC_PROG_CPP +GCC_WITH_TOOLEXECLIBDIR + # Calculate toolexeclibdir # Also toolexecdir, though it's only used in toolexeclibdir case ${version_specific_libs} in @@ -97,7 +99,14 @@ case ${version_specific_libs} in test x"$with_cross_host" != x"no"; then # Install a library built with a cross compiler in tooldir, not libdir. toolexecdir='$(exec_prefix)/$(target_alias)' - toolexeclibdir='$(toolexecdir)/lib' + case ${with_toolexeclibdir} in + no) + toolexeclibdir='$(toolexecdir)/lib' + ;; + *) + toolexeclibdir=${with_toolexeclibdir} + ;; + esac else toolexecdir='$(libdir)/gcc-lib/$(target_alias)' toolexeclibdir='$(libdir)' Index: gcc/libsanitizer/Makefile.in =================================================================== --- gcc.orig/libsanitizer/Makefile.in +++ gcc/libsanitizer/Makefile.in @@ -105,6 +105,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/multi.m4 \ $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ Index: gcc/libsanitizer/aclocal.m4 =================================================================== --- gcc.orig/libsanitizer/aclocal.m4 +++ gcc/libsanitizer/aclocal.m4 @@ -1194,6 +1194,7 @@ m4_include([../config/libstdc++-raw-cxx. m4_include([../config/multi.m4]) m4_include([../config/override.m4]) m4_include([../config/stdint.m4]) +m4_include([../config/toolexeclibdir.m4]) m4_include([../ltoptions.m4]) m4_include([../ltsugar.m4]) m4_include([../ltversion.m4]) Index: gcc/libsanitizer/asan/Makefile.in =================================================================== --- gcc.orig/libsanitizer/asan/Makefile.in +++ gcc/libsanitizer/asan/Makefile.in @@ -102,6 +102,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/multi.m4 \ $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ Index: gcc/libsanitizer/configure =================================================================== --- gcc.orig/libsanitizer/configure +++ gcc/libsanitizer/configure @@ -806,6 +806,7 @@ enable_version_specific_runtime_libs enable_dependency_tracking enable_silent_rules enable_maintainer_mode +with_toolexeclibdir enable_shared enable_static with_pic @@ -1470,6 +1471,9 @@ if test -n "$ac_init_help"; then Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-toolexeclibdir=DIR + install libraries built with a cross compiler within + DIR --with-pic try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] @@ -5012,6 +5016,22 @@ fi + +# Check whether --with-toolexeclibdir was given. +if test "${with_toolexeclibdir+set}" = set; then : + withval=$with_toolexeclibdir; case ${with_toolexeclibdir} in + /) + ;; + */) + with_toolexeclibdir=`echo $with_toolexeclibdir | sed 's,/$,,'` + ;; +esac +else + with_toolexeclibdir=no +fi + + + # Calculate toolexeclibdir # Also toolexecdir, though it's only used in toolexeclibdir case ${version_specific_libs} in @@ -5027,7 +5047,14 @@ case ${version_specific_libs} in test x"$with_cross_host" != x"no"; then # Install a library built with a cross compiler in tooldir, not libdir. toolexecdir='$(exec_prefix)/$(target_alias)' - toolexeclibdir='$(toolexecdir)/lib' + case ${with_toolexeclibdir} in + no) + toolexeclibdir='$(toolexecdir)/lib' + ;; + *) + toolexeclibdir=${with_toolexeclibdir} + ;; + esac else toolexecdir='$(libdir)/gcc-lib/$(target_alias)' toolexeclibdir='$(libdir)' @@ -12334,7 +12361,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12337 "configure" +#line 12364 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12440,7 +12467,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12443 "configure" +#line 12470 "configure" #include "confdefs.h" #if HAVE_DLFCN_H Index: gcc/libsanitizer/configure.ac =================================================================== --- gcc.orig/libsanitizer/configure.ac +++ gcc/libsanitizer/configure.ac @@ -29,6 +29,8 @@ GCC_LIBSTDCXX_RAW_CXX_FLAGS AM_INIT_AUTOMAKE(foreign no-dist) AM_MAINTAINER_MODE +GCC_WITH_TOOLEXECLIBDIR + # Calculate toolexeclibdir # Also toolexecdir, though it's only used in toolexeclibdir case ${version_specific_libs} in @@ -44,7 +46,14 @@ case ${version_specific_libs} in test x"$with_cross_host" != x"no"; then # Install a library built with a cross compiler in tooldir, not libdir. toolexecdir='$(exec_prefix)/$(target_alias)' - toolexeclibdir='$(toolexecdir)/lib' + case ${with_toolexeclibdir} in + no) + toolexeclibdir='$(toolexecdir)/lib' + ;; + *) + toolexeclibdir=${with_toolexeclibdir} + ;; + esac else toolexecdir='$(libdir)/gcc-lib/$(target_alias)' toolexeclibdir='$(libdir)' Index: gcc/libsanitizer/interception/Makefile.in =================================================================== --- gcc.orig/libsanitizer/interception/Makefile.in +++ gcc/libsanitizer/interception/Makefile.in @@ -98,6 +98,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/multi.m4 \ $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ Index: gcc/libsanitizer/libbacktrace/Makefile.in =================================================================== --- gcc.orig/libsanitizer/libbacktrace/Makefile.in +++ gcc/libsanitizer/libbacktrace/Makefile.in @@ -129,6 +129,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/multi.m4 \ $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ Index: gcc/libsanitizer/lsan/Makefile.in =================================================================== --- gcc.orig/libsanitizer/lsan/Makefile.in +++ gcc/libsanitizer/lsan/Makefile.in @@ -100,6 +100,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/multi.m4 \ $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ Index: gcc/libsanitizer/sanitizer_common/Makefile.in =================================================================== --- gcc.orig/libsanitizer/sanitizer_common/Makefile.in +++ gcc/libsanitizer/sanitizer_common/Makefile.in @@ -104,6 +104,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/multi.m4 \ $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ Index: gcc/libsanitizer/tsan/Makefile.in =================================================================== --- gcc.orig/libsanitizer/tsan/Makefile.in +++ gcc/libsanitizer/tsan/Makefile.in @@ -101,6 +101,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/multi.m4 \ $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ Index: gcc/libsanitizer/ubsan/Makefile.in =================================================================== --- gcc.orig/libsanitizer/ubsan/Makefile.in +++ gcc/libsanitizer/ubsan/Makefile.in @@ -100,6 +100,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/multi.m4 \ $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ Index: gcc/libssp/Makefile.in =================================================================== --- gcc.orig/libssp/Makefile.in +++ gcc/libssp/Makefile.in @@ -101,6 +101,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/multi.m4 \ $(top_srcdir)/../config/no-executables.m4 \ $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/configure.ac Index: gcc/libssp/aclocal.m4 =================================================================== --- gcc.orig/libssp/aclocal.m4 +++ gcc/libssp/aclocal.m4 @@ -1176,6 +1176,7 @@ m4_include([../config/lthostflags.m4]) m4_include([../config/multi.m4]) m4_include([../config/no-executables.m4]) m4_include([../config/override.m4]) +m4_include([../config/toolexeclibdir.m4]) m4_include([../libtool.m4]) m4_include([../ltoptions.m4]) m4_include([../ltsugar.m4]) Index: gcc/libssp/configure =================================================================== --- gcc.orig/libssp/configure +++ gcc/libssp/configure @@ -781,6 +781,7 @@ with_pic enable_fast_install with_gnu_ld enable_libtool_lock +with_toolexeclibdir with_gcc_major_version_only ' ac_precious_vars='build_alias @@ -1432,6 +1433,9 @@ if test -n "$ac_init_help"; then --with-pic try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-toolexeclibdir=DIR + install libraries built with a cross compiler within + DIR --with-gcc-major-version-only use only GCC major number in filesystem paths @@ -10992,7 +10996,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 10995 "configure" +#line 10999 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11098,7 +11102,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11101 "configure" +#line 11105 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11360,6 +11364,22 @@ esac + +# Check whether --with-toolexeclibdir was given. +if test "${with_toolexeclibdir+set}" = set; then : + withval=$with_toolexeclibdir; case ${with_toolexeclibdir} in + /) + ;; + */) + with_toolexeclibdir=`echo $with_toolexeclibdir | sed 's,/$,,'` + ;; +esac +else + with_toolexeclibdir=no +fi + + + # Calculate toolexeclibdir # Also toolexecdir, though it's only used in toolexeclibdir case ${version_specific_libs} in @@ -11375,7 +11395,14 @@ case ${version_specific_libs} in test x"$with_cross_host" != x"no"; then # Install a library built with a cross compiler in tooldir, not libdir. toolexecdir='$(exec_prefix)/$(target_alias)' - toolexeclibdir='$(toolexecdir)/lib' + case ${with_toolexeclibdir} in + no) + toolexeclibdir='$(toolexecdir)/lib' + ;; + *) + toolexeclibdir=${with_toolexeclibdir} + ;; + esac else toolexecdir='$(libdir)/gcc-lib/$(target_alias)' toolexeclibdir='$(libdir)' Index: gcc/libssp/configure.ac =================================================================== --- gcc.orig/libssp/configure.ac +++ gcc/libssp/configure.ac @@ -163,6 +163,8 @@ ACX_LT_HOST_FLAGS AC_SUBST(enable_shared) AC_SUBST(enable_static) +GCC_WITH_TOOLEXECLIBDIR + # Calculate toolexeclibdir # Also toolexecdir, though it's only used in toolexeclibdir case ${version_specific_libs} in @@ -178,7 +180,14 @@ case ${version_specific_libs} in test x"$with_cross_host" != x"no"; then # Install a library built with a cross compiler in tooldir, not libdir. toolexecdir='$(exec_prefix)/$(target_alias)' - toolexeclibdir='$(toolexecdir)/lib' + case ${with_toolexeclibdir} in + no) + toolexeclibdir='$(toolexecdir)/lib' + ;; + *) + toolexeclibdir=${with_toolexeclibdir} + ;; + esac else toolexecdir='$(libdir)/gcc-lib/$(target_alias)' toolexeclibdir='$(libdir)' Index: gcc/libstdc++-v3/Makefile.in =================================================================== --- gcc.orig/libstdc++-v3/Makefile.in +++ gcc/libstdc++-v3/Makefile.in @@ -104,6 +104,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/no-executables.m4 \ $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../config/unwind_ipinfo.m4 \ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ Index: gcc/libstdc++-v3/acinclude.m4 =================================================================== --- gcc.orig/libstdc++-v3/acinclude.m4 +++ gcc/libstdc++-v3/acinclude.m4 @@ -782,6 +782,8 @@ AC_DEFUN([GLIBCXX_EXPORT_INSTALL_INFO], [version_specific_libs=no]) AC_MSG_RESULT($version_specific_libs) + GCC_WITH_TOOLEXECLIBDIR + # Default case for install directory for include files. if test $version_specific_libs = no && test $gxx_include_dir = no; then gxx_include_dir='include/c++/${gcc_version}' @@ -812,7 +814,14 @@ AC_DEFUN([GLIBCXX_EXPORT_INSTALL_INFO], if test -n "$with_cross_host" && test x"$with_cross_host" != x"no"; then glibcxx_toolexecdir='${exec_prefix}/${host_alias}' - glibcxx_toolexeclibdir='${toolexecdir}/lib' + case ${with_toolexeclibdir} in + no) + glibcxx_toolexeclibdir='${toolexecdir}/lib' + ;; + *) + glibcxx_toolexeclibdir=${with_toolexeclibdir} + ;; + esac else glibcxx_toolexecdir='${libdir}/gcc/${host_alias}' glibcxx_toolexeclibdir='${libdir}' Index: gcc/libstdc++-v3/aclocal.m4 =================================================================== --- gcc.orig/libstdc++-v3/aclocal.m4 +++ gcc/libstdc++-v3/aclocal.m4 @@ -866,6 +866,7 @@ m4_include([../config/multi.m4]) m4_include([../config/no-executables.m4]) m4_include([../config/override.m4]) m4_include([../config/stdint.m4]) +m4_include([../config/toolexeclibdir.m4]) m4_include([../config/unwind_ipinfo.m4]) m4_include([../libtool.m4]) m4_include([../ltoptions.m4]) Index: gcc/libstdc++-v3/configure =================================================================== --- gcc.orig/libstdc++-v3/configure +++ gcc/libstdc++-v3/configure @@ -942,6 +942,7 @@ enable_libstdcxx_filesystem_ts enable_cet with_gxx_include_dir enable_version_specific_runtime_libs +with_toolexeclibdir with_gcc_major_version_only ' ac_precious_vars='build_alias @@ -1669,6 +1670,9 @@ if test -n "$ac_init_help"; then set the std::string ABI to use by default --with-gxx-include-dir=DIR installation directory for include files + --with-toolexeclibdir=DIR + install libraries built with a cross compiler within + DIR --with-gcc-major-version-only use only GCC major number in filesystem paths @@ -12053,7 +12057,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12056 "configure" +#line 12060 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12159,7 +12163,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12162 "configure" +#line 12166 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -15851,7 +15855,7 @@ $as_echo "$glibcxx_cv_atomic_long_long" # Fake what AC_TRY_COMPILE does. cat > conftest.$ac_ext << EOF -#line 15854 "configure" +#line 15858 "configure" int main() { typedef bool atomic_type; @@ -15886,7 +15890,7 @@ $as_echo "$glibcxx_cv_atomic_bool" >&6; rm -f conftest* cat > conftest.$ac_ext << EOF -#line 15889 "configure" +#line 15893 "configure" int main() { typedef short atomic_type; @@ -15921,7 +15925,7 @@ $as_echo "$glibcxx_cv_atomic_short" >&6; rm -f conftest* cat > conftest.$ac_ext << EOF -#line 15924 "configure" +#line 15928 "configure" int main() { // NB: _Atomic_word not necessarily int. @@ -15957,7 +15961,7 @@ $as_echo "$glibcxx_cv_atomic_int" >&6; } rm -f conftest* cat > conftest.$ac_ext << EOF -#line 15960 "configure" +#line 15964 "configure" int main() { typedef long long atomic_type; @@ -16110,7 +16114,7 @@ $as_echo "mutex" >&6; } # unnecessary for this test. cat > conftest.$ac_ext << EOF -#line 16113 "configure" +#line 16117 "configure" int main() { _Decimal32 d1; @@ -16152,7 +16156,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu # unnecessary for this test. cat > conftest.$ac_ext << EOF -#line 16155 "configure" +#line 16159 "configure" template struct same { typedef T2 type; }; @@ -16186,7 +16190,7 @@ $as_echo "$enable_int128" >&6; } rm -f conftest* cat > conftest.$ac_ext << EOF -#line 16189 "configure" +#line 16193 "configure" template struct same { typedef T2 type; }; @@ -76493,6 +76497,22 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $version_specific_libs" >&5 $as_echo "$version_specific_libs" >&6; } + +# Check whether --with-toolexeclibdir was given. +if test "${with_toolexeclibdir+set}" = set; then : + withval=$with_toolexeclibdir; case ${with_toolexeclibdir} in + /) + ;; + */) + with_toolexeclibdir=`echo $with_toolexeclibdir | sed 's,/$,,'` + ;; +esac +else + with_toolexeclibdir=no +fi + + + # Default case for install directory for include files. if test $version_specific_libs = no && test $gxx_include_dir = no; then gxx_include_dir='include/c++/${gcc_version}' @@ -76523,7 +76543,14 @@ $as_echo "$version_specific_libs" >&6; } if test -n "$with_cross_host" && test x"$with_cross_host" != x"no"; then glibcxx_toolexecdir='${exec_prefix}/${host_alias}' - glibcxx_toolexeclibdir='${toolexecdir}/lib' + case ${with_toolexeclibdir} in + no) + glibcxx_toolexeclibdir='${toolexecdir}/lib' + ;; + *) + glibcxx_toolexeclibdir=${with_toolexeclibdir} + ;; + esac else glibcxx_toolexecdir='${libdir}/gcc/${host_alias}' glibcxx_toolexeclibdir='${libdir}' Index: gcc/libstdc++-v3/doc/Makefile.in =================================================================== --- gcc.orig/libstdc++-v3/doc/Makefile.in +++ gcc/libstdc++-v3/doc/Makefile.in @@ -104,6 +104,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/no-executables.m4 \ $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../config/unwind_ipinfo.m4 \ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ Index: gcc/libstdc++-v3/include/Makefile.in =================================================================== --- gcc.orig/libstdc++-v3/include/Makefile.in +++ gcc/libstdc++-v3/include/Makefile.in @@ -104,6 +104,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/no-executables.m4 \ $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../config/unwind_ipinfo.m4 \ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ Index: gcc/libstdc++-v3/libsupc++/Makefile.in =================================================================== --- gcc.orig/libstdc++-v3/libsupc++/Makefile.in +++ gcc/libstdc++-v3/libsupc++/Makefile.in @@ -106,6 +106,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/no-executables.m4 \ $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../config/unwind_ipinfo.m4 \ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ Index: gcc/libstdc++-v3/po/Makefile.in =================================================================== --- gcc.orig/libstdc++-v3/po/Makefile.in +++ gcc/libstdc++-v3/po/Makefile.in @@ -104,6 +104,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/no-executables.m4 \ $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../config/unwind_ipinfo.m4 \ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ Index: gcc/libstdc++-v3/python/Makefile.in =================================================================== --- gcc.orig/libstdc++-v3/python/Makefile.in +++ gcc/libstdc++-v3/python/Makefile.in @@ -105,6 +105,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/no-executables.m4 \ $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../config/unwind_ipinfo.m4 \ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ Index: gcc/libstdc++-v3/src/Makefile.in =================================================================== --- gcc.orig/libstdc++-v3/src/Makefile.in +++ gcc/libstdc++-v3/src/Makefile.in @@ -105,6 +105,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/no-executables.m4 \ $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../config/unwind_ipinfo.m4 \ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ Index: gcc/libstdc++-v3/src/c++11/Makefile.in =================================================================== --- gcc.orig/libstdc++-v3/src/c++11/Makefile.in +++ gcc/libstdc++-v3/src/c++11/Makefile.in @@ -105,6 +105,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/no-executables.m4 \ $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../config/unwind_ipinfo.m4 \ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ Index: gcc/libstdc++-v3/src/c++17/Makefile.in =================================================================== --- gcc.orig/libstdc++-v3/src/c++17/Makefile.in +++ gcc/libstdc++-v3/src/c++17/Makefile.in @@ -105,6 +105,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/no-executables.m4 \ $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../config/unwind_ipinfo.m4 \ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ Index: gcc/libstdc++-v3/src/c++98/Makefile.in =================================================================== --- gcc.orig/libstdc++-v3/src/c++98/Makefile.in +++ gcc/libstdc++-v3/src/c++98/Makefile.in @@ -105,6 +105,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/no-executables.m4 \ $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../config/unwind_ipinfo.m4 \ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ Index: gcc/libstdc++-v3/src/filesystem/Makefile.in =================================================================== --- gcc.orig/libstdc++-v3/src/filesystem/Makefile.in +++ gcc/libstdc++-v3/src/filesystem/Makefile.in @@ -105,6 +105,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/no-executables.m4 \ $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../config/unwind_ipinfo.m4 \ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ Index: gcc/libstdc++-v3/testsuite/Makefile.in =================================================================== --- gcc.orig/libstdc++-v3/testsuite/Makefile.in +++ gcc/libstdc++-v3/testsuite/Makefile.in @@ -104,6 +104,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/no-executables.m4 \ $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../config/unwind_ipinfo.m4 \ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ Index: gcc/libvtv/Makefile.in =================================================================== --- gcc.orig/libvtv/Makefile.in +++ gcc/libvtv/Makefile.in @@ -101,6 +101,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/lthostflags.m4 \ $(top_srcdir)/../config/multi.m4 \ $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ Index: gcc/libvtv/aclocal.m4 =================================================================== --- gcc.orig/libvtv/aclocal.m4 +++ gcc/libvtv/aclocal.m4 @@ -1174,6 +1174,7 @@ m4_include([../config/libstdc++-raw-cxx. m4_include([../config/lthostflags.m4]) m4_include([../config/multi.m4]) m4_include([../config/override.m4]) +m4_include([../config/toolexeclibdir.m4]) m4_include([../ltoptions.m4]) m4_include([../ltsugar.m4]) m4_include([../ltversion.m4]) Index: gcc/libvtv/configure =================================================================== --- gcc.orig/libvtv/configure +++ gcc/libvtv/configure @@ -790,6 +790,7 @@ enable_vtable_verify enable_dependency_tracking enable_silent_rules enable_maintainer_mode +with_toolexeclibdir enable_shared enable_static with_pic @@ -1450,6 +1451,9 @@ if test -n "$ac_init_help"; then Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-toolexeclibdir=DIR + install libraries built with a cross compiler within + DIR --with-pic try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] @@ -4807,6 +4811,22 @@ fi + +# Check whether --with-toolexeclibdir was given. +if test "${with_toolexeclibdir+set}" = set; then : + withval=$with_toolexeclibdir; case ${with_toolexeclibdir} in + /) + ;; + */) + with_toolexeclibdir=`echo $with_toolexeclibdir | sed 's,/$,,'` + ;; +esac +else + with_toolexeclibdir=no +fi + + + # Calculate toolexeclibdir # Also toolexecdir, though it's only used in toolexeclibdir case ${version_specific_libs} in @@ -4822,7 +4842,14 @@ case ${version_specific_libs} in test x"$with_cross_host" != x"no"; then # Install a library built with a cross compiler in tooldir, not libdir. toolexecdir='$(exec_prefix)/$(target_alias)' - toolexeclibdir='$(toolexecdir)/lib' + case ${with_toolexeclibdir} in + no) + toolexeclibdir='$(toolexecdir)/lib' + ;; + *) + toolexeclibdir=${with_toolexeclibdir} + ;; + esac else toolexecdir='$(libdir)/gcc-lib/$(target_alias)' toolexeclibdir='$(libdir)' @@ -12235,7 +12262,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12238 "configure" +#line 12265 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12341,7 +12368,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12344 "configure" +#line 12371 "configure" #include "confdefs.h" #if HAVE_DLFCN_H Index: gcc/libvtv/configure.ac =================================================================== --- gcc.orig/libvtv/configure.ac +++ gcc/libvtv/configure.ac @@ -78,6 +78,8 @@ AM_MAINTAINER_MODE LIBVTV_CONFIGURE +GCC_WITH_TOOLEXECLIBDIR + # Calculate toolexeclibdir # Also toolexecdir, though it's only used in toolexeclibdir case ${version_specific_libs} in @@ -93,7 +95,14 @@ case ${version_specific_libs} in test x"$with_cross_host" != x"no"; then # Install a library built with a cross compiler in tooldir, not libdir. toolexecdir='$(exec_prefix)/$(target_alias)' - toolexeclibdir='$(toolexecdir)/lib' + case ${with_toolexeclibdir} in + no) + toolexeclibdir='$(toolexecdir)/lib' + ;; + *) + toolexeclibdir=${with_toolexeclibdir} + ;; + esac else toolexecdir='$(libdir)/gcc-lib/$(target_alias)' toolexeclibdir='$(libdir)' Index: gcc/libvtv/testsuite/Makefile.in =================================================================== --- gcc.orig/libvtv/testsuite/Makefile.in +++ gcc/libvtv/testsuite/Makefile.in @@ -97,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/lthostflags.m4 \ $(top_srcdir)/../config/multi.m4 \ $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ Index: gcc/zlib/Makefile.in =================================================================== --- gcc.orig/zlib/Makefile.in +++ gcc/zlib/Makefile.in @@ -96,6 +96,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/lead-dot.m4 \ $(top_srcdir)/../config/multi.m4 \ $(top_srcdir)/../config/override.m4 \ + $(top_srcdir)/../config/toolexeclibdir.m4 \ $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ $(top_srcdir)/acinclude.m4 \ Index: gcc/zlib/aclocal.m4 =================================================================== --- gcc.orig/zlib/aclocal.m4 +++ gcc/zlib/aclocal.m4 @@ -1171,6 +1171,7 @@ m4_include([../config/depstand.m4]) m4_include([../config/lead-dot.m4]) m4_include([../config/multi.m4]) m4_include([../config/override.m4]) +m4_include([../config/toolexeclibdir.m4]) m4_include([../ltoptions.m4]) m4_include([../ltsugar.m4]) m4_include([../ltversion.m4]) Index: gcc/zlib/configure =================================================================== --- gcc.orig/zlib/configure +++ gcc/zlib/configure @@ -774,6 +774,7 @@ with_pic enable_fast_install with_gnu_ld enable_libtool_lock +with_toolexeclibdir enable_host_shared ' ac_precious_vars='build_alias @@ -1427,6 +1428,9 @@ if test -n "$ac_init_help"; then --with-pic try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-toolexeclibdir=DIR + install libraries built with a cross compiler within + DIR Some influential environment variables: CC C compiler command @@ -10648,7 +10652,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 10651 "configure" +#line 10655 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -10754,7 +10758,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 10757 "configure" +#line 10761 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11379,10 +11383,33 @@ fi done + +# Check whether --with-toolexeclibdir was given. +if test "${with_toolexeclibdir+set}" = set; then : + withval=$with_toolexeclibdir; case ${with_toolexeclibdir} in + /) + ;; + */) + with_toolexeclibdir=`echo $with_toolexeclibdir | sed 's,/$,,'` + ;; +esac +else + with_toolexeclibdir=no +fi + + + if test -n "$with_cross_host" && test x"$with_cross_host" != x"no"; then toolexecdir='$(exec_prefix)/$(target_alias)' - toolexeclibdir='$(toolexecdir)/lib' + case ${with_toolexeclibdir} in + no) + toolexeclibdir='$(toolexecdir)/lib' + ;; + *) + toolexeclibdir=${with_toolexeclibdir} + ;; + esac else toolexecdir='$(libdir)/gcc-lib/$(target_alias)' toolexeclibdir='$(libdir)' Index: gcc/zlib/configure.ac =================================================================== --- gcc.orig/zlib/configure.ac +++ gcc/zlib/configure.ac @@ -81,10 +81,19 @@ fi AC_CHECK_HEADERS(unistd.h) +GCC_WITH_TOOLEXECLIBDIR + if test -n "$with_cross_host" && test x"$with_cross_host" != x"no"; then toolexecdir='$(exec_prefix)/$(target_alias)' - toolexeclibdir='$(toolexecdir)/lib' + case ${with_toolexeclibdir} in + no) + toolexeclibdir='$(toolexecdir)/lib' + ;; + *) + toolexeclibdir=${with_toolexeclibdir} + ;; + esac else toolexecdir='$(libdir)/gcc-lib/$(target_alias)' toolexeclibdir='$(libdir)'