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

Reply via email to