Mailing List Archive

[PATCH 1/2] multilib.eclass: use tc-export to simplify multilib_toolchain_setup
This also gives a tiny performance boost by reducing the number of
subshells that are forked.

Signed-off-by: Mike Gilbert <floppym@gentoo.org>
---
eclass/multilib.eclass | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/eclass/multilib.eclass b/eclass/multilib.eclass
index 342d21a2e1c3..29d44768adec 100644
--- a/eclass/multilib.eclass
+++ b/eclass/multilib.eclass
@@ -506,19 +506,15 @@ multilib_toolchain_setup() {
# Make sure ${save_restore_variables[@]} list matches below.
export CHOST=$(get_abi_CHOST ${DEFAULT_ABI})

- export AR="$(tc-getAR)" # Avoid 'ar', use '${CHOST}-ar'
+ # Append ABI flags to CHOST-prefixed tools
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 PKG_CONFIG="$(tc-getPKG_CONFIG)"
- export RANLIB="$(tc-getRANLIB)" # Avoid 'ranlib', use '${CHOST}-ranlib'
- export READELF="$(tc-getREADELF)" # Avoid 'readelf', use '${CHOST}-readelf'
- export STRINGS="$(tc-getSTRINGS)" # Avoid 'strings', use '${CHOST}-strings'
- export STRIP="$(tc-getSTRIP)" # Avoid 'strip', use '${CHOST}-strip'
+
+ # Use CHOST-prefixed tools
+ tc-export AR NM OBJDUMP PKG_CONFIG RANLIB READELF STRINGS STRIP

export CHOST=$(get_abi_CHOST $1)
export PKG_CONFIG_LIBDIR=${EPREFIX}/usr/$(get_libdir)/pkgconfig
--
2.27.0
Re: [PATCH 1/2] multilib.eclass: use tc-export to simplify multilib_toolchain_setup [ In reply to ]
On Sun, 14 Jun 2020 11:57:05 -0400
Mike Gilbert <floppym@gentoo.org> wrote:

> This also gives a tiny performance boost by reducing the number of
> subshells that are forked.
>
> Signed-off-by: Mike Gilbert <floppym@gentoo.org>
> ---
> eclass/multilib.eclass | 12 ++++--------
> 1 file changed, 4 insertions(+), 8 deletions(-)
>
> diff --git a/eclass/multilib.eclass b/eclass/multilib.eclass
> index 342d21a2e1c3..29d44768adec 100644
> --- a/eclass/multilib.eclass
> +++ b/eclass/multilib.eclass
> @@ -506,19 +506,15 @@ multilib_toolchain_setup() {
> # Make sure ${save_restore_variables[@]} list matches below.
> export CHOST=$(get_abi_CHOST ${DEFAULT_ABI})
>
> - export AR="$(tc-getAR)" # Avoid 'ar', use '${CHOST}-ar'
> + # Append ABI flags to CHOST-prefixed tools
> 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 PKG_CONFIG="$(tc-getPKG_CONFIG)"
> - export RANLIB="$(tc-getRANLIB)" # Avoid 'ranlib', use '${CHOST}-ranlib'
> - export READELF="$(tc-getREADELF)" # Avoid 'readelf', use '${CHOST}-readelf'
> - export STRINGS="$(tc-getSTRINGS)" # Avoid 'strings', use '${CHOST}-strings'
> - export STRIP="$(tc-getSTRIP)" # Avoid 'strip', use '${CHOST}-strip'
> +
> + # Use CHOST-prefixed tools
> + tc-export AR NM OBJDUMP PKG_CONFIG RANLIB READELF STRINGS STRIP
>
> export CHOST=$(get_abi_CHOST $1)
> export PKG_CONFIG_LIBDIR=${EPREFIX}/usr/$(get_libdir)/pkgconfig
> --
> 2.27.0
>



--

Sergei