diff options
Diffstat (limited to 'pkgs/development/tools/build-managers/ninja/setup-hook.sh')
-rw-r--r-- | pkgs/development/tools/build-managers/ninja/setup-hook.sh | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/pkgs/development/tools/build-managers/ninja/setup-hook.sh b/pkgs/development/tools/build-managers/ninja/setup-hook.sh new file mode 100644 index 000000000000..9ea6549a8243 --- /dev/null +++ b/pkgs/development/tools/build-managers/ninja/setup-hook.sh @@ -0,0 +1,43 @@ +ninjaBuildPhase() { + runHook preBuild + + if [[ -z "$ninjaFlags" && ! ( -e build.ninja ) ]]; then + echo "no build.ninja, doing nothing" + else + # shellcheck disable=SC2086 + local flagsArray=( \ + ${enableParallelBuilding:+-j${NIX_BUILD_CORES} -l${NIX_BUILD_CORES}} \ + $ninjaFlags "${ninjaFlagsArray[@]}" \ + $buildFlags "${buildFlagsArray[@]}") + + echoCmd 'build flags' "${flagsArray[@]}" + ninja "${flagsArray[@]}" + unset flagsArray + fi + + runHook postBuild +} + +if [ -z "$dontUseNinjaBuild" -a -z "$buildPhase" ]; then + buildPhase=ninjaBuildPhase +fi + +ninjaInstallPhase() { + runHook preInstall + + installTargets="${installTargets:-install}" + + # shellcheck disable=SC2086 + local flagsArray=( $installTargets \ + $ninjaFlags "${ninjaFlagsArray[@]}") + + echoCmd 'install flags' "${flagsArray[@]}" + ninja "${flagsArray[@]}" + unset flagsArray + + runHook postInstall +} + +if [ -z "$dontUseNinjaInstall" -a -z "$installPhase" ]; then + installPhase=ninjaInstallPhase +fi |