1# shellcheck shell=bash disable=SC2154,SC2086
2
3readonly zigDefaultFlagsArray=(@zig_default_flags@)
4
5function zigSetGlobalCacheDir {
6 ZIG_GLOBAL_CACHE_DIR=$(mktemp -d)
7 export ZIG_GLOBAL_CACHE_DIR
8}
9
10function zigBuildPhase {
11 runHook preBuild
12
13 local flagsArray=(
14 "${zigDefaultFlagsArray[@]}"
15 $zigBuildFlags "${zigBuildFlagsArray[@]}"
16 )
17
18 echoCmd 'zig build flags' "${flagsArray[@]}"
19 zig build "${flagsArray[@]}"
20
21 runHook postBuild
22}
23
24function zigCheckPhase {
25 runHook preCheck
26
27 local flagsArray=(
28 "${zigDefaultFlagsArray[@]}"
29 $zigCheckFlags "${zigCheckFlagsArray[@]}"
30 )
31
32 echoCmd 'zig check flags' "${flagsArray[@]}"
33 zig build test "${flagsArray[@]}"
34
35 runHook postCheck
36}
37
38function zigInstallPhase {
39 runHook preInstall
40
41 local flagsArray=(
42 "${zigDefaultFlagsArray[@]}"
43 $zigBuildFlags "${zigBuildFlagsArray[@]}"
44 $zigInstallFlags "${zigInstallFlagsArray[@]}"
45 )
46
47 if [ -z "${dontAddPrefix-}" ]; then
48 # Zig does not recognize `--prefix=/dir/`, only `--prefix /dir/`
49 flagsArray+=("${prefixKey:---prefix}" "$prefix")
50 fi
51
52 echoCmd 'zig install flags' "${flagsArray[@]}"
53 zig build install "${flagsArray[@]}"
54
55 runHook postInstall
56}
57
58addEnvHooks "$targetOffset" zigSetGlobalCacheDir
59
60if [ -z "${dontUseZigBuild-}" ] && [ -z "${buildPhase-}" ]; then
61 buildPhase=zigBuildPhase
62fi
63
64if [ -z "${dontUseZigCheck-}" ] && [ -z "${checkPhase-}" ]; then
65 checkPhase=zigCheckPhase
66fi
67
68if [ -z "${dontUseZigInstall-}" ] && [ -z "${installPhase-}" ]; then
69 installPhase=zigInstallPhase
70fi