diff options
Diffstat (limited to 'nixpkgs/pkgs/development/tools/build-managers/wafHook/setup-hook.sh')
-rw-r--r-- | nixpkgs/pkgs/development/tools/build-managers/wafHook/setup-hook.sh | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/tools/build-managers/wafHook/setup-hook.sh b/nixpkgs/pkgs/development/tools/build-managers/wafHook/setup-hook.sh new file mode 100644 index 000000000000..3da86d3201f5 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/wafHook/setup-hook.sh @@ -0,0 +1,65 @@ +wafConfigurePhase() { + runHook preConfigure + + if ! [ -f "${wafPath:=./waf}" ]; then + echo "copying waf to $wafPath..." + cp @waf@ "$wafPath" + fi + + if [ -z "${dontAddPrefix:-}" ] && [ -n "$prefix" ]; then + wafConfigureFlags="${prefixKey:---prefix=}$prefix $wafConfigureFlags" + fi + + local flagsArray=( + @crossFlags@ + "${flagsArray[@]}" + $wafConfigureFlags "${wafConfigureFlagsArray[@]}" + ${configureTargets:-configure} + ) + echoCmd 'configure flags' "${flagsArray[@]}" + python "$wafPath" "${flagsArray[@]}" + + runHook postConfigure +} + +wafBuildPhase () { + runHook preBuild + + # set to empty if unset + : ${wafFlags=} + + local flagsArray=( + ${enableParallelBuilding:+-j ${NIX_BUILD_CORES}} + $wafFlags ${wafFlagsArray[@]} + $buildFlags ${buildFlagsArray[@]} + ${buildTargets:-build} + ) + + echoCmd 'build flags' "${flagsArray[@]}" + python "$wafPath" "${flagsArray[@]}" + + runHook postBuild +} + +wafInstallPhase() { + runHook preInstall + + if [ -n "$prefix" ]; then + mkdir -p "$prefix" + fi + + local flagsArray=( + $wafFlags ${wafFlagsArray[@]} + $installFlags ${installFlagsArray[@]} + ${installTargets:-install} + ) + + echoCmd 'install flags' "${flagsArray[@]}" + python "$wafPath" "${flagsArray[@]}" + + runHook postInstall +} + +configurePhase=wafConfigurePhase +buildPhase=wafBuildPhase +installPhase=wafInstallPhase |