For both multilib and non-multilib profiles binutils provides
tools with native CHOST prefix only. For example on amd64 there
is only 'x86_64-pc-linux-gnu-readelf' and 'readelf'.

meson build system uses 'readelf' or $READELF binaries
and relies on meson.eclass to populate READELF.

The change overrides READELF and friends to 'x86_64-pc-linux-gnu-readelf'
for multilib setup similar to other environment variables.

Tested on net-libs/gssdp package.

Closes: https://bugs.gentoo.org/725304
Signed-off-by: Sergei Trofimovich <sly...@gentoo.org>
---
 eclass/multilib.eclass | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/eclass/multilib.eclass b/eclass/multilib.eclass
index b79718bb193..ed54568aa2d 100644
--- a/eclass/multilib.eclass
+++ b/eclass/multilib.eclass
@@ -468,6 +468,7 @@ multilib_toolchain_setup() {
                NM
                OBJDUMP
                RANLIB
+               READELF
                STRIP
                PKG_CONFIG_LIBDIR
                PKG_CONFIG_PATH
@@ -510,6 +511,7 @@ multilib_toolchain_setup() {
                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
-- 
2.26.2


Reply via email to