diff --git a/pkgs/development/tools/build-managers/waf/setup-hook.sh b/pkgs/development/tools/build-managers/waf/setup-hook.sh index a837bfd17f2..6e9fac0200d 100644 --- a/pkgs/development/tools/build-managers/waf/setup-hook.sh +++ b/pkgs/development/tools/build-managers/waf/setup-hook.sh @@ -10,7 +10,7 @@ wafConfigurePhase() { configureFlags="${prefixKey:---prefix=}$prefix $configureFlags" fi - local flagsArray=(); + local flagsArray=(@crossFlags@); for flag in $configureFlags "${configureFlagsArray[@]}"; do if [[ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1240d373dbb..dc44e55ed6f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6366,7 +6366,11 @@ in waf = callPackage ../development/tools/build-managers/waf { python = python3; }; wafHook = makeSetupHook { deps = [ python ]; - substitutions = { inherit waf; }; + substitutions = { + inherit waf; + crossFlags = lib.optionalString (stdenv.hostPlatform != stdenv.targetPlatform) + ''--cross-compile "--cross-execute=${stdenv.targetPlatform.emulator pkgs}"''; + }; } ../development/tools/build-managers/waf/setup-hook.sh; wakelan = callPackage ../tools/networking/wakelan { };