at master 2.3 kB view raw
1# shellcheck shell=bash 2 3# shellcheck disable=SC2034 4readonly zigDefaultFlagsArray=(@zig_default_flags@) 5 6function zigSetGlobalCacheDir { 7 ZIG_GLOBAL_CACHE_DIR=$(mktemp -d) 8 export ZIG_GLOBAL_CACHE_DIR 9} 10 11function zigBuildPhase { 12 runHook preBuild 13 14 local buildCores=1 15 16 # Parallel building is enabled by default. 17 if [ "${enableParallelBuilding-1}" ]; then 18 buildCores="$NIX_BUILD_CORES" 19 fi 20 21 local flagsArray=( 22 "-j$buildCores" 23 ) 24 concatTo flagsArray zigDefaultFlagsArray \ 25 zigBuildFlags zigBuildFlagsArray 26 27 echoCmd 'zig build flags' "${flagsArray[@]}" 28 TERM=dumb zig build "${flagsArray[@]}" --verbose 29 30 runHook postBuild 31} 32 33function zigCheckPhase { 34 runHook preCheck 35 36 local buildCores=1 37 38 # Parallel building is enabled by default. 39 if [ "${enableParallelChecking-1}" ]; then 40 buildCores="$NIX_BUILD_CORES" 41 fi 42 43 local flagsArray=( 44 "-j$buildCores" 45 ) 46 concatTo flagsArray zigDefaultFlagsArray \ 47 zigCheckFlags zigCheckFlagsArray 48 49 echoCmd 'zig check flags' "${flagsArray[@]}" 50 TERM=dumb zig build test "${flagsArray[@]}" --verbose 51 52 runHook postCheck 53} 54 55function zigInstallPhase { 56 runHook preInstall 57 58 local buildCores=1 59 60 # Parallel building is enabled by default. 61 if [ "${enableParallelInstalling-1}" ]; then 62 buildCores="$NIX_BUILD_CORES" 63 fi 64 65 local flagsArray=( 66 "-j$buildCores" 67 ) 68 concatTo flagsArray zigDefaultFlagsArray \ 69 zigBuildFlags zigBuildFlagsArray \ 70 zigInstallFlags zigInstallFlagsArray 71 72 if [ -z "${dontAddPrefix-}" ]; then 73 # Zig does not recognize `--prefix=/dir/`, only `--prefix /dir/` 74 flagsArray+=("${prefixKey:---prefix}" "$prefix") 75 fi 76 77 echoCmd 'zig install flags' "${flagsArray[@]}" 78 TERM=dumb zig build install "${flagsArray[@]}" --verbose 79 80 runHook postInstall 81} 82 83# shellcheck disable=SC2154 84addEnvHooks "$targetOffset" zigSetGlobalCacheDir 85 86if [ -z "${dontUseZigBuild-}" ] && [ -z "${buildPhase-}" ]; then 87 buildPhase=zigBuildPhase 88fi 89 90if [ -z "${dontUseZigCheck-}" ] && [ -z "${checkPhase-}" ]; then 91 checkPhase=zigCheckPhase 92fi 93 94if [ -z "${dontUseZigInstall-}" ] && [ -z "${installPhase-}" ]; then 95 installPhase=zigInstallPhase 96fi