Skip to content

Commit da0be02

Browse files
Peter MarreckPeter Marreck
authored andcommitted
Align build script with unified Zig + Nix pattern
- ./build uses nix build + install to zig-out/bin/ (canonical location) - ./build debug uses zig build directly with Debug optimization - flake.nix updated to ReleaseFast to match
1 parent fc2274f commit da0be02

2 files changed

Lines changed: 25 additions & 6 deletions

File tree

build

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,29 @@
11
#!/usr/bin/env bash
2-
set -euo pipefail
2+
set -uo pipefail
3+
set -E
34

4-
if command -v nix >/dev/null 2>&1; then
5-
nix build "$@"
5+
trap 'echo "ERR at ${BASH_SOURCE[0]}:${LINENO}: $BASH_COMMAND" >&2' ERR
6+
7+
run() {
8+
"$@" || {
9+
echo "FAILED: $*" >&2
10+
exit 1
11+
}
12+
}
13+
14+
optimize="ReleaseFast"
15+
if [[ "${1:-}" == "debug" ]]; then
16+
optimize="Debug"
17+
shift
18+
fi
19+
20+
if [[ "$optimize" != "ReleaseFast" ]]; then
21+
# Non-release builds use zig directly (local dev, no need for Nix reproducibility)
22+
run zig build "-Doptimize=$optimize" "$@"
23+
elif command -v nix >/dev/null 2>&1; then
24+
run nix build "$@"
625
mkdir -p zig-out/bin
7-
install -m755 result/bin/* zig-out/bin/
26+
run install -m755 result/bin/* zig-out/bin/
827
else
9-
zig build -Doptimize=ReleaseSafe "$@"
28+
run zig build "-Doptimize=$optimize" "$@"
1029
fi

flake.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
6262
zig build \
6363
--system ${zigPkgCache} \
64-
-Doptimize=ReleaseSafe \
64+
-Doptimize=ReleaseFast \
6565
--color off
6666
'';
6767

0 commit comments

Comments
 (0)