From f516638b7fe9592837389826a6152a7e1b251c54 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 30 May 2020 11:44:06 +0100 Subject: gentoo resync : 30.05.2020 --- eclass/multilib.eclass | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) (limited to 'eclass/multilib.eclass') diff --git a/eclass/multilib.eclass b/eclass/multilib.eclass index bbaab709b4fa..ed54568aa2d9 100644 --- a/eclass/multilib.eclass +++ b/eclass/multilib.eclass @@ -456,9 +456,27 @@ multilib_toolchain_setup() { export ABI=$1 + local save_restore_variables=( + CBUILD + CHOST + AR + CC + CXX + F77 + FC + LD + NM + OBJDUMP + RANLIB + READELF + STRIP + PKG_CONFIG_LIBDIR + PKG_CONFIG_PATH + ) + # First restore any saved state we have laying around. if [[ ${_DEFAULT_ABI_SAVED} == "true" ]] ; then - for v in CHOST CBUILD AS CC CXX F77 FC LD PKG_CONFIG_{LIBDIR,PATH} ; do + for v in "${save_restore_variables[@]}" ; do vv="_abi_saved_${v}" [[ ${!vv+set} == "set" ]] && export ${v}="${!vv}" || unset ${v} unset ${vv} @@ -466,11 +484,9 @@ multilib_toolchain_setup() { unset _DEFAULT_ABI_SAVED fi - # We want to avoid the behind-the-back magic of gcc-config as it - # screws up ccache and distcc. See #196243 for more info. if [[ ${ABI} != ${DEFAULT_ABI} ]] ; then # Back that multilib-ass up so we can restore it later - for v in CHOST CBUILD AS CC CXX F77 FC LD PKG_CONFIG_{LIBDIR,PATH} ; do + for v in "${save_restore_variables[@]}" ; do vv="_abi_saved_${v}" [[ ${!v+set} == "set" ]] && export ${vv}="${!v}" || unset ${vv} done @@ -483,12 +499,20 @@ multilib_toolchain_setup() { # Set the CHOST native first so that we pick up the native # toolchain and not a cross-compiler by accident #202811. + # + # Make sure ${save_restore_variables[@]} list matches below. export CHOST=$(get_abi_CHOST ${DEFAULT_ABI}) + export AR="$(tc-getAR)" # Avoid 'ar', use '${CHOST}-ar' export CC="$(tc-getCC) $(get_abi_CFLAGS)" export CXX="$(tc-getCXX) $(get_abi_CFLAGS)" export F77="$(tc-getF77) $(get_abi_CFLAGS)" export FC="$(tc-getFC) $(get_abi_CFLAGS)" export LD="$(tc-getLD) $(get_abi_LDFLAGS)" + export NM="$(tc-getNM)" # Avoid 'nm', use '${CHOST}-nm' + export OBJDUMP="$(tc-getOBJDUMP)" # Avoid 'objdump', use '${CHOST}-objdump' + export RANLIB="$(tc-getRANLIB)" # Avoid 'ranlib', use '${CHOST}-ranlib' + export READELF="$(tc-getREADELF)" # Avoid 'readelf', use '${CHOST}-readelf' + export STRIP="$(tc-getSTRIP)" # Avoid 'strip', use '${CHOST}-strip' export CHOST=$(get_abi_CHOST $1) export PKG_CONFIG_LIBDIR=${EPREFIX}/usr/$(get_libdir)/pkgconfig export PKG_CONFIG_PATH=${EPREFIX}/usr/share/pkgconfig -- cgit v1.2.3