waf supports executing binaries via a wrapper for cross-compiling. I have used this to cross-compile Samba and its waf-based dependencies.
Signed-off-by: James Le Cuirot <ch...@gentoo.org> --- eclass/waf-utils.eclass | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/eclass/waf-utils.eclass b/eclass/waf-utils.eclass index 377b455de7363..ac3b3534169d9 100644 --- a/eclass/waf-utils.eclass +++ b/eclass/waf-utils.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: waf-utils.eclass @@ -23,7 +23,7 @@ esac if [[ -z ${_WAF_UTILS_ECLASS} ]]; then _WAF_UTILS_ECLASS=1 -inherit multilib toolchain-funcs multiprocessing +inherit multilib sysroot toolchain-funcs multiprocessing # @ECLASS_VARIABLE: WAF_VERBOSE # @USER_VARIABLE @@ -95,6 +95,11 @@ waf-utils_src_configure() { conf_args+=( --mandir="${EPREFIX}"/usr/share/man ) fi + local sysroot_run_prefixed + if sysroot_run_prefixed=$(sysroot_make_run_prefixed); then + conf_args+=( --cross-compile --cross-execute="${sysroot_run_prefixed}" ) + fi + tc-export AR CC CPP CXX RANLIB local CMD=( -- 2.49.0