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 flagsArray=()
15 concatTo flagsArray zigDefaultFlagsArray \
16 zigBuildFlags zigBuildFlagsArray
17
18 echoCmd 'zig build flags' "${flagsArray[@]}"
19 TERM=dumb zig build "${flagsArray[@]}" --verbose
20
21 runHook postBuild
22}
23
24function zigCheckPhase {
25 runHook preCheck
26
27 local flagsArray=()
28 concatTo flagsArray zigDefaultFlagsArray \
29 zigCheckFlags zigCheckFlagsArray
30
31 echoCmd 'zig check flags' "${flagsArray[@]}"
32 TERM=dumb zig build test "${flagsArray[@]}" --verbose
33
34 runHook postCheck
35}
36
37function zigInstallPhase {
38 runHook preInstall
39
40 local flagsArray=()
41 concatTo flagsArray zigDefaultFlagsArray \
42 zigBuildFlags zigBuildFlagsArray \
43 zigInstallFlags zigInstallFlagsArray
44
45 if [ -z "${dontAddPrefix-}" ]; then
46 # Zig does not recognize `--prefix=/dir/`, only `--prefix /dir/`
47 flagsArray+=("${prefixKey:---prefix}" "$prefix")
48 fi
49
50 echoCmd 'zig install flags' "${flagsArray[@]}"
51 TERM=dumb zig build install "${flagsArray[@]}" --verbose
52
53 runHook postInstall
54}
55
56# shellcheck disable=SC2154
57addEnvHooks "$targetOffset" zigSetGlobalCacheDir
58
59if [ -z "${dontUseZigBuild-}" ] && [ -z "${buildPhase-}" ]; then
60 buildPhase=zigBuildPhase
61fi
62
63if [ -z "${dontUseZigCheck-}" ] && [ -z "${checkPhase-}" ]; then
64 checkPhase=zigCheckPhase
65fi
66
67if [ -z "${dontUseZigInstall-}" ] && [ -z "${installPhase-}" ]; then
68 installPhase=zigInstallPhase
69fi