From patchwork Fri Jan 24 11:27:36 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Maciej W. Rozycki" X-Patchwork-Id: 1228759 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=gcc-patches-return-518210-incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=wdc.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.a=rsa-sha1 header.s=default header.b=nSTqyNBo; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=wdc.com header.i=@wdc.com header.a=rsa-sha256 header.s=dkim.wdc.com header.b=fB09qefy; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 483xhy0CCmz9sXX for ; Fri, 24 Jan 2020 22:28:15 +1100 (AEDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:cc:subject:in-reply-to:message-id:references :mime-version:content-type:content-id; q=dns; s=default; b=Oiojt fJhUcE3bKX1gIx+6W2EaINGAqDmcHiD8X3JkDcHj2FdChM3yh8b0incRgGghh5RS x2glbAJjBycM4YX8/InJBgHFx482i7vwWBkqCc1RvG+BbeVTXPGd2Ax3pd2JZD08 lO5SBqzyPX6gJF574yuZLRtUOfCy1P3KJJLlp4= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:cc:subject:in-reply-to:message-id:references :mime-version:content-type:content-id; s=default; bh=ApYa7XX1ZDy NGNEP8gS06+VME7Y=; b=nSTqyNBoCeINsqHnHe6DCexLyAj+jeWWnyrLQUKjScs ozhKts5MnAjQb0LvG2UOyKa7+mJZnFz7Hm8Zj8VL4GrqRaz/ZLyWMyQ7VpekH9Md HHxM9gEwryk3wMvdonFicWiSc4vbhSAcCvuuCONOEKcQ/mGz2GOoQuIG8v89175Q = Received: (qmail 81294 invoked by alias); 24 Jan 2020 11:27:57 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 81278 invoked by uid 89); 24 Jan 2020 11:27:56 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-7.4 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_2, GIT_PATCH_3, KAM_ASCII_DIVIDERS, KAM_SHORT, MIME_BASE64_TEXT autolearn=ham version=3.3.1 spammy= X-HELO: esa6.hgst.iphmx.com Received: from esa6.hgst.iphmx.com (HELO esa6.hgst.iphmx.com) (216.71.154.45) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 24 Jan 2020 11:27:45 +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=1579865265; x=1611401265; h=date:from:to:cc:subject:in-reply-to:message-id: references:mime-version:content-id; bh=Uw5p3+1uk3eN7Qhlzt2HCv2yoVbakN04O5ukZCGiQCQ=; b=fB09qefyBy1+nMKAKJZIzyi66FT39mEU3tLiU6gSowz5VoPBfEsxHGJo 2TLx8S/ybxdoJVRzKt9fCt+rs6N5a/6RGuzSZbKYFhRDI1c5+dzMkp8sv S45Je9Fm1mX4SX77ZcglKi4AAUiwwpeDGIDp3dIXwT1N3MRsSLOmxlmNt /cWTOamrdlkf8tfp/FpNafJvm4kX9Ffpl2kNOU+EVfmuYrEFEPEFBrG3P nuj8LKK69NQh8F4KhuDqkeWrHOZrvUi7qttuHldxipIuvypopZKNWYatn jijC5cxQ1111M82qznDWP7Z9G+9dE9C9CJEdE4BifyFgOdCRKY17X4D6N Q==; IronPort-SDR: iaE4cFlR7GAMBl7HJH4gtXzotMHeGaVGnErOBE0RNPo+BgETYOmKBVgmduNoAAAXHKGEcB5ESs O4SagbbVW0HbzAs5IJjAsHfmQbKYgk1vYV5y07G8M/CuCvO2waLAn/RP4jEjbdYQd8CihvVYRG b/hsPWW+T/osDaO011rsLIyzelk8YcrfpMDgCoy99SjqWQj+t+x8Ihvs4XOlZ1Bl2r1opxaCZR Q3xxcZEV2hMgi7uaKPWgavo6clEOp6AvpbSRS+IwaV2naa/LHRRY7IEjJpliElo4mpTzvdc1Sm yF4= Received: from uls-op-cesaip01.wdc.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 24 Jan 2020 19:27:43 +0800 IronPort-SDR: IJZdFUuM7U2UusQDdhotb5X2WerBiQe/coGotvHh54/b8V03MyF+oVJe0zJRCsKu6aTF7DFUiE RaMyswxA0urhNHsJKRRWPYdWgJzx5j8STRKgOLJ/CuDR52eLCXzafRTqXd7nrBf+3fn8dwyt73 Hxg1uQ79IRxmKELZZ1wJThZ38MUYnhRBBJ8spDSSPrAHMKRaDbM9fMygQaOizqXkCGm+qBVjxc jsfN1ih2TuZ/uQpipVbcqqQVSbIgYzernoHzWirXJAfOZkdMYvKe4JMi5Y7l9bvW15r3Tkr3LI 6k5IC0poEVD7OemM/dgYoZ0d 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; 24 Jan 2020 03:21:04 -0800 IronPort-SDR: yCXJ+N5RGfwx1k8E/BdatGJ0eAIbNigFv/rTQf/+kM1JnK60v8rAsINKjna8qYgFCszp8cGbvj 5R/ZbtV+XGj0WZPt3rSF7QXifrmsEexrHm/ldwbEy/XXvGodScpifCCrV8i6HGcDY0spyXcg0f 4l4Aq/f4Gl78zs8IWCuVViUIcUesAYbJ911GxuU977k+18BSH9maEcXobUxFRfx/V61SHIpm4s TXFcQBrmdahVOrM7cmJQ7ZBJMswG2oqKilLfVyDoeJKz5Zu7xuRgvWUDjFqKRxjgFP91g3d4Ih hQc= 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; 24 Jan 2020 03:27:40 -0800 Date: Fri, 24 Jan 2020 11:27:36 +0000 (GMT) From: "Maciej W. Rozycki" To: Ian Lance Taylor cc: Joseph Myers , gcc-patches , libffi-discuss@sourceware.org, gofrontend-dev , zlib@gzip.org Subject: [committed v4] Add `--with-toolexeclibdir=' configuration option In-Reply-To: Message-ID: References: User-Agent: Alpine 2.21 (LFD 202 2017-01-01) MIME-Version: 1.0 Content-ID: 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. 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 Mon, 20 Jan 2020, Ian Lance Taylor wrote: > > 2. push all the bits sans the libgo/ part and you'll push the libgo/ part > > to your repo and then you'll merge it to GCC. > > > > There is a slight technical advantage to going with #1 as there'll be no > > window where the new option is not consistently supported; it's also less > > work as you won't have to do the merge. But I have no strong preference > > either way. > > I'd rather do #2. Thanks. A small window is unlikely to matter to > anyone. Let me know when the rest of the patch is committed. This is the version I have committed. I've also attached the libgo part with a ChangeLog entry for your convenience (you'll have to write your own change description though). Maciej Changes from v3: - libgo/ part removed, - copyright date updated in config/toolexeclibdir.m4. --- 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 ++++++- 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 ++++++- 100 files changed, 850 insertions(+), 87 deletions(-) gcc-with-toolexeclibdir.diff libgo/ * configure.ac: Handle `--with-toolexeclibdir='. * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * configure: Regenerate. * testsuite/Makefile.in: Regenerate. --- libgo/Makefile.in | 1 + libgo/aclocal.m4 | 1 + libgo/configure | 33 ++++++++++++++++++++++++++++++--- libgo/configure.ac | 11 ++++++++++- libgo/testsuite/Makefile.in | 1 + 5 files changed, 43 insertions(+), 4 deletions(-) Index: gcc/libgo/Makefile.in =================================================================== --- gcc.orig/libgo/Makefile.in +++ gcc/libgo/Makefile.in @@ -114,6 +114,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/config/toolexeclibdir.m4 =================================================================== --- /dev/null +++ gcc/config/toolexeclibdir.m4 @@ -0,0 +1,31 @@ +dnl toolexeclibdir override support. +dnl Copyright (C) 2020 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 @@ -2207,6 +2207,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/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 @@ -785,6 +785,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}' @@ -815,7 +817,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; }; @@ -77815,6 +77819,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}' @@ -77845,7 +77865,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)'