summaryrefslogtreecommitdiff
path: root/eclass/multilib.eclass
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-05-30 11:44:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-05-30 11:44:06 +0100
commitf516638b7fe9592837389826a6152a7e1b251c54 (patch)
tree8bfecb640b7b6403d7a3d662d923eed630033da7 /eclass/multilib.eclass
parent1a61119f9f7b057830e2ce0563f913ec86f282ad (diff)
gentoo resync : 30.05.2020
Diffstat (limited to 'eclass/multilib.eclass')
-rw-r--r--eclass/multilib.eclass32
1 files changed, 28 insertions, 4 deletions
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