needs_exe_wrapper tells meson whether the build machine is able to directly execute the binaries it produces or whether it needs an exe wrapper (like QEMU). For non-native ABI builds like building 32-bit libraries on an x86-64 system, we want this set to false to communicate to meson that the build machine can run the binaries directly.
This allows dev-libs/wayland to execute the wayland-scanner binary it builds rather than relying on the system's. Signed-off-by: Matt Turner <matts...@gentoo.org> --- eclass/meson.eclass | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/eclass/meson.eclass b/eclass/meson.eclass index 0588590b31e..16e17dd4a38 100644 --- a/eclass/meson.eclass +++ b/eclass/meson.eclass @@ -149,6 +149,9 @@ _meson_create_cross_file() { # This may require adjustment based on CFLAGS local cpu=${CHOST%%-*} + local needs_exe_wrapper=false + tc-is-cross-compiler && needs_exe_wrapper=true + cat > "${T}/meson.${CHOST}.${ABI}" <<-EOF [binaries] ar = $(_meson_env_array "$(tc-getAR)") @@ -173,6 +176,7 @@ _meson_create_cross_file() { objc_link_args = $(_meson_env_array "${OBJCFLAGS} ${LDFLAGS}") objcpp_args = $(_meson_env_array "${OBJCXXFLAGS} ${CPPFLAGS}") objcpp_link_args = $(_meson_env_array "${OBJCXXFLAGS} ${LDFLAGS}") + needs_exe_wrapper = ${needs_exe_wrapper} [host_machine] system = '${system}' -- 2.24.1