authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2026-06-24 01:28:12-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2026-06-29 23:50:19-07:00
logd4b70505551ecf568f8af7375cb0e6e5aea97cfb
tree28612fb72185a92c4f43faca49197c38f055223d
parenta802ec7b3e77cf850fad57b4b56cba55426b357e

cmake: remove --zig-lib-dir arg from zig build

This demonstrates one of the downsides of the approach in this branch: since `zig build` CLI is intentionally unaware of the command line parsing that will be done by the child process, it cannot obtain zig lib dir override from the command line even as it needs that information in order to build the subcommand. Consequently, zig lib dir has to be passed via env var. CMake does not provide a way to do this. So instead we rely on Zig's automatic lookup functionality. This could be mitigated by adding CLI arg parsing that happens *before* the subcommand. I find this kind of special case to be awkward and unpleasant however. I think it's better to simply remove the ability to pass `--zig-lib-dir` to `zig build`.

29 files changed, 85 insertions(+), 39 deletions(-)

CMakeLists.txt-2
...@@ -729,8 +729,6 @@ endif()...@@ -729,8 +729,6 @@ endif()
729729
730730
731set(ZIG_BUILD_ARGS731set(ZIG_BUILD_ARGS
732 --zig-lib-dir "${PROJECT_SOURCE_DIR}/lib"
733
734 "-Dversion-string=${RESOLVED_ZIG_VERSION}"732 "-Dversion-string=${RESOLVED_ZIG_VERSION}"
735 "-Dtarget=${ZIG_TARGET_TRIPLE}"733 "-Dtarget=${ZIG_TARGET_TRIPLE}"
736 "-Dcpu=${ZIG_TARGET_MCPU}"734 "-Dcpu=${ZIG_TARGET_MCPU}"
ci/aarch64-freebsd-debug.sh+3-1
...@@ -40,12 +40,14 @@ unset CXX...@@ -40,12 +40,14 @@ unset CXX
4040
41ninja install41ninja install
4242
43# Must be done after zig cc is finished.
44export ZIG_LIB_DIR="$PWD/../lib"
45
43stage3-debug/bin/zig build test docs \46stage3-debug/bin/zig build test docs \
44 --maxrss ${ZSF_MAX_RSS:-0} \47 --maxrss ${ZSF_MAX_RSS:-0} \
45 -Dstatic-llvm \48 -Dstatic-llvm \
46 -Dskip-non-native \49 -Dskip-non-native \
47 --search-prefix "$PREFIX" \50 --search-prefix "$PREFIX" \
48 --zig-lib-dir "$PWD/../lib" \
49 --test-timeout 4m51 --test-timeout 4m
5052
51stage3-debug/bin/zig build \53stage3-debug/bin/zig build \
ci/aarch64-freebsd-release.sh+3-1
...@@ -40,12 +40,14 @@ unset CXX...@@ -40,12 +40,14 @@ unset CXX
4040
41ninja install41ninja install
4242
43# Must be done after zig cc is finished.
44export ZIG_LIB_DIR="$PWD/../lib"
45
43stage3-release/bin/zig build test docs \46stage3-release/bin/zig build test docs \
44 --maxrss ${ZSF_MAX_RSS:-0} \47 --maxrss ${ZSF_MAX_RSS:-0} \
45 -Dstatic-llvm \48 -Dstatic-llvm \
46 -Dskip-non-native \49 -Dskip-non-native \
47 --search-prefix "$PREFIX" \50 --search-prefix "$PREFIX" \
48 --zig-lib-dir "$PWD/../lib" \
49 --test-timeout 4m51 --test-timeout 4m
5052
51# Ensure that stage3 and stage4 are byte-for-byte identical.53# Ensure that stage3 and stage4 are byte-for-byte identical.
ci/aarch64-linux-debug.sh+3-1
...@@ -42,6 +42,9 @@ unset CXX...@@ -42,6 +42,9 @@ unset CXX
4242
43ninja install43ninja install
4444
45# Must be done after zig cc is finished.
46export ZIG_LIB_DIR="$PWD/../lib"
47
45# No -fqemu and -fwasmtime here as they're covered by the x86_64-linux scripts.48# No -fqemu and -fwasmtime here as they're covered by the x86_64-linux scripts.
46stage3-debug/bin/zig build test docs \49stage3-debug/bin/zig build test docs \
47 --maxrss ${ZSF_MAX_RSS:-0} \50 --maxrss ${ZSF_MAX_RSS:-0} \
...@@ -49,7 +52,6 @@ stage3-debug/bin/zig build test docs \...@@ -49,7 +52,6 @@ stage3-debug/bin/zig build test docs \
49 -Dskip-non-native \52 -Dskip-non-native \
50 -Dtarget=native-native-musl \53 -Dtarget=native-native-musl \
51 --search-prefix "$PREFIX" \54 --search-prefix "$PREFIX" \
52 --zig-lib-dir "$PWD/../lib" \
53 -Denable-superhtml \55 -Denable-superhtml \
54 --test-timeout 3m56 --test-timeout 3m
5557
ci/aarch64-linux-release.sh+3-1
...@@ -42,6 +42,9 @@ unset CXX...@@ -42,6 +42,9 @@ unset CXX
4242
43ninja install43ninja install
4444
45# Must be done after zig cc is finished.
46export ZIG_LIB_DIR="$PWD/../lib"
47
45# No -fqemu and -fwasmtime here as they're covered by the x86_64-linux scripts.48# No -fqemu and -fwasmtime here as they're covered by the x86_64-linux scripts.
46stage3-release/bin/zig build test docs \49stage3-release/bin/zig build test docs \
47 --maxrss ${ZSF_MAX_RSS:-0} \50 --maxrss ${ZSF_MAX_RSS:-0} \
...@@ -49,7 +52,6 @@ stage3-release/bin/zig build test docs \...@@ -49,7 +52,6 @@ stage3-release/bin/zig build test docs \
49 -Dskip-non-native \52 -Dskip-non-native \
50 -Dtarget=native-native-musl \53 -Dtarget=native-native-musl \
51 --search-prefix "$PREFIX" \54 --search-prefix "$PREFIX" \
52 --zig-lib-dir "$PWD/../lib" \
53 -Denable-superhtml \55 -Denable-superhtml \
54 --test-timeout 3m56 --test-timeout 3m
5557
ci/aarch64-macos-debug.sh+3-1
...@@ -43,9 +43,11 @@ cmake .. \...@@ -43,9 +43,11 @@ cmake .. \
4343
44ninja install44ninja install
4545
46# Must be done after zig cc is finished.
47export ZIG_LIB_DIR="$PWD/../lib"
48
46stage3-debug/bin/zig build test docs \49stage3-debug/bin/zig build test docs \
47 --maxrss ${ZSF_MAX_RSS:-0} \50 --maxrss ${ZSF_MAX_RSS:-0} \
48 --zig-lib-dir "$PWD/../lib" \
49 -Denable-macos-sdk \51 -Denable-macos-sdk \
50 -Dstatic-llvm \52 -Dstatic-llvm \
51 -Dskip-spirv \53 -Dskip-spirv \
ci/aarch64-macos-release.sh+3-1
...@@ -43,8 +43,10 @@ cmake .. \...@@ -43,8 +43,10 @@ cmake .. \
4343
44ninja install44ninja install
4545
46# Must be done after zig cc is finished.
47export ZIG_LIB_DIR="$PWD/../lib"
48
46stage3-release/bin/zig build test docs \49stage3-release/bin/zig build test docs \
47 --zig-lib-dir "$PWD/../lib" \
48 -Denable-macos-sdk \50 -Denable-macos-sdk \
49 -Dstatic-llvm \51 -Dstatic-llvm \
50 -Dskip-spirv \52 -Dskip-spirv \
ci/aarch64-netbsd-debug.sh+3-1
...@@ -40,12 +40,14 @@ unset CXX...@@ -40,12 +40,14 @@ unset CXX
4040
41ninja install41ninja install
4242
43# Must be done after zig cc is finished.
44export ZIG_LIB_DIR="$PWD/../lib"
45
43stage3-debug/bin/zig build test docs \46stage3-debug/bin/zig build test docs \
44 --maxrss ${ZSF_MAX_RSS:-0} \47 --maxrss ${ZSF_MAX_RSS:-0} \
45 -Dstatic-llvm \48 -Dstatic-llvm \
46 -Dskip-non-native \49 -Dskip-non-native \
47 --search-prefix "$PREFIX" \50 --search-prefix "$PREFIX" \
48 --zig-lib-dir "$PWD/../lib" \
49 --test-timeout 4m51 --test-timeout 4m
5052
51stage3-debug/bin/zig build \53stage3-debug/bin/zig build \
ci/aarch64-netbsd-release.sh+3-1
...@@ -40,12 +40,14 @@ unset CXX...@@ -40,12 +40,14 @@ unset CXX
4040
41ninja install41ninja install
4242
43# Must be done after zig cc is finished.
44export ZIG_LIB_DIR="$PWD/../lib"
45
43stage3-release/bin/zig build test docs \46stage3-release/bin/zig build test docs \
44 --maxrss ${ZSF_MAX_RSS:-0} \47 --maxrss ${ZSF_MAX_RSS:-0} \
45 -Dstatic-llvm \48 -Dstatic-llvm \
46 -Dskip-non-native \49 -Dskip-non-native \
47 --search-prefix "$PREFIX" \50 --search-prefix "$PREFIX" \
48 --zig-lib-dir "$PWD/../lib" \
49 --test-timeout 4m51 --test-timeout 4m
5052
51# Ensure that stage3 and stage4 are byte-for-byte identical.53# Ensure that stage3 and stage4 are byte-for-byte identical.
ci/aarch64-windows.ps1+3-2
...@@ -4,7 +4,6 @@ $MCPU = "baseline"...@@ -4,7 +4,6 @@ $MCPU = "baseline"
4$ZIG_LLVM_CLANG_LLD_URL = "https://ziglang.org/deps/$ZIG_LLVM_CLANG_LLD_NAME.zip"4$ZIG_LLVM_CLANG_LLD_URL = "https://ziglang.org/deps/$ZIG_LLVM_CLANG_LLD_NAME.zip"
5$PREFIX_PATH = "$(Get-Location)\..\$ZIG_LLVM_CLANG_LLD_NAME"5$PREFIX_PATH = "$(Get-Location)\..\$ZIG_LLVM_CLANG_LLD_NAME"
6$ZIG = "$PREFIX_PATH\bin\zig.exe"6$ZIG = "$PREFIX_PATH\bin\zig.exe"
7$ZIG_LIB_DIR = "$(Get-Location)\lib"
8$ZSF_MAX_RSS = if ($Env:ZSF_MAX_RSS) { $Env:ZSF_MAX_RSS } else { 0 }7$ZSF_MAX_RSS = if ($Env:ZSF_MAX_RSS) { $Env:ZSF_MAX_RSS } else { 0 }
98
10if (!(Test-Path "..\$ZIG_LLVM_CLANG_LLD_NAME.zip")) {9if (!(Test-Path "..\$ZIG_LLVM_CLANG_LLD_NAME.zip")) {
...@@ -53,10 +52,12 @@ CheckLastExitCode...@@ -53,10 +52,12 @@ CheckLastExitCode
53ninja install52ninja install
54CheckLastExitCode53CheckLastExitCode
5554
55# Must be done after zig cc is finished.
56$Env:ZIG_LIB_DIR="$(Get-Location)\..\lib"
57
56Write-Output "Main test suite..."58Write-Output "Main test suite..."
57& "stage3-release\bin\zig.exe" build test docs `59& "stage3-release\bin\zig.exe" build test docs `
58 --maxrss $ZSF_MAX_RSS `60 --maxrss $ZSF_MAX_RSS `
59 --zig-lib-dir "$ZIG_LIB_DIR" `
60 --search-prefix "$PREFIX_PATH" `61 --search-prefix "$PREFIX_PATH" `
61 -Dstatic-llvm `62 -Dstatic-llvm `
62 -Dskip-non-native `63 -Dskip-non-native `
ci/loongarch64-linux-debug.sh+3-1
...@@ -40,6 +40,9 @@ unset CXX...@@ -40,6 +40,9 @@ unset CXX
4040
41ninja install41ninja install
4242
43# Must be done after zig cc is finished.
44export ZIG_LIB_DIR="$PWD/../lib"
45
43# No -fqemu and -fwasmtime here as they're covered by the x86_64-linux scripts.46# No -fqemu and -fwasmtime here as they're covered by the x86_64-linux scripts.
44stage3-debug/bin/zig build test docs \47stage3-debug/bin/zig build test docs \
45 --maxrss ${ZSF_MAX_RSS:-0} \48 --maxrss ${ZSF_MAX_RSS:-0} \
...@@ -47,7 +50,6 @@ stage3-debug/bin/zig build test docs \...@@ -47,7 +50,6 @@ stage3-debug/bin/zig build test docs \
47 -Dskip-non-native \50 -Dskip-non-native \
48 -Dtarget=native-native-musl \51 -Dtarget=native-native-musl \
49 --search-prefix "$PREFIX" \52 --search-prefix "$PREFIX" \
50 --zig-lib-dir "$PWD/../lib" \
51 --test-timeout 4m53 --test-timeout 4m
5254
53stage3-debug/bin/zig build \55stage3-debug/bin/zig build \
ci/loongarch64-linux-release.sh+3-1
...@@ -40,6 +40,9 @@ unset CXX...@@ -40,6 +40,9 @@ unset CXX
4040
41ninja install41ninja install
4242
43# Must be done after zig cc is finished.
44export ZIG_LIB_DIR="$PWD/../lib"
45
43# No -fqemu and -fwasmtime here as they're covered by the x86_64-linux scripts.46# No -fqemu and -fwasmtime here as they're covered by the x86_64-linux scripts.
44stage3-release/bin/zig build test docs \47stage3-release/bin/zig build test docs \
45 --maxrss ${ZSF_MAX_RSS:-0} \48 --maxrss ${ZSF_MAX_RSS:-0} \
...@@ -47,7 +50,6 @@ stage3-release/bin/zig build test docs \...@@ -47,7 +50,6 @@ stage3-release/bin/zig build test docs \
47 -Dskip-non-native \50 -Dskip-non-native \
48 -Dtarget=native-native-musl \51 -Dtarget=native-native-musl \
49 --search-prefix "$PREFIX" \52 --search-prefix "$PREFIX" \
50 --zig-lib-dir "$PWD/../lib" \
51 --test-timeout 4m53 --test-timeout 4m
5254
53# Ensure that stage3 and stage4 are byte-for-byte identical.55# Ensure that stage3 and stage4 are byte-for-byte identical.
ci/powerpc64le-linux-debug.sh+3-1
...@@ -40,6 +40,9 @@ unset CXX...@@ -40,6 +40,9 @@ unset CXX
4040
41ninja install41ninja install
4242
43# Must be done after zig cc is finished.
44export ZIG_LIB_DIR="$PWD/../lib"
45
43# No -fqemu and -fwasmtime here as they're covered by the x86_64-linux scripts.46# No -fqemu and -fwasmtime here as they're covered by the x86_64-linux scripts.
44stage3-debug/bin/zig build test docs \47stage3-debug/bin/zig build test docs \
45 --maxrss ${ZSF_MAX_RSS:-0} \48 --maxrss ${ZSF_MAX_RSS:-0} \
...@@ -48,7 +51,6 @@ stage3-debug/bin/zig build test docs \...@@ -48,7 +51,6 @@ stage3-debug/bin/zig build test docs \
48 -Dtarget=native-native-musl \51 -Dtarget=native-native-musl \
49 -Dcpu=native+longcall \52 -Dcpu=native+longcall \
50 --search-prefix "$PREFIX" \53 --search-prefix "$PREFIX" \
51 --zig-lib-dir "$PWD/../lib" \
52 --test-timeout 4m54 --test-timeout 4m
5355
54stage3-debug/bin/zig build \56stage3-debug/bin/zig build \
ci/powerpc64le-linux-release.sh+3-1
...@@ -40,6 +40,9 @@ unset CXX...@@ -40,6 +40,9 @@ unset CXX
4040
41ninja install41ninja install
4242
43# Must be done after zig cc is finished.
44export ZIG_LIB_DIR="$PWD/../lib"
45
43# No -fqemu and -fwasmtime here as they're covered by the x86_64-linux scripts.46# No -fqemu and -fwasmtime here as they're covered by the x86_64-linux scripts.
44stage3-release/bin/zig build test docs \47stage3-release/bin/zig build test docs \
45 --maxrss ${ZSF_MAX_RSS:-0} \48 --maxrss ${ZSF_MAX_RSS:-0} \
...@@ -48,7 +51,6 @@ stage3-release/bin/zig build test docs \...@@ -48,7 +51,6 @@ stage3-release/bin/zig build test docs \
48 -Dtarget=native-native-musl \51 -Dtarget=native-native-musl \
49 -Dcpu=native+longcall \52 -Dcpu=native+longcall \
50 --search-prefix "$PREFIX" \53 --search-prefix "$PREFIX" \
51 --zig-lib-dir "$PWD/../lib" \
52 --test-timeout 4m54 --test-timeout 4m
5355
54# Ensure that stage3 and stage4 are byte-for-byte identical.56# Ensure that stage3 and stage4 are byte-for-byte identical.
ci/riscv64-linux-debug.sh+3-1
...@@ -42,6 +42,9 @@ unset CXX...@@ -42,6 +42,9 @@ unset CXX
4242
43ninja install43ninja install
4444
45# Must be done after zig cc is finished.
46export ZIG_LIB_DIR="$PWD/../lib"
47
45# No -fqemu and -fwasmtime here as they're covered by the x86_64-linux scripts.48# No -fqemu and -fwasmtime here as they're covered by the x86_64-linux scripts.
46stage3-debug/bin/zig build test-modules test-c-abi \49stage3-debug/bin/zig build test-modules test-c-abi \
47 --maxrss ${ZSF_MAX_RSS:-0} \50 --maxrss ${ZSF_MAX_RSS:-0} \
...@@ -50,5 +53,4 @@ stage3-debug/bin/zig build test-modules test-c-abi \...@@ -50,5 +53,4 @@ stage3-debug/bin/zig build test-modules test-c-abi \
50 -Dskip-single-threaded \53 -Dskip-single-threaded \
51 -Dtarget=native-native-musl \54 -Dtarget=native-native-musl \
52 --search-prefix "$PREFIX" \55 --search-prefix "$PREFIX" \
53 --zig-lib-dir "$PWD/../lib" \
54 --test-timeout 4m56 --test-timeout 4m
ci/riscv64-linux-release.sh+3-1
...@@ -42,6 +42,9 @@ unset CXX...@@ -42,6 +42,9 @@ unset CXX
4242
43ninja install43ninja install
4444
45# Must be done after zig cc is finished.
46export ZIG_LIB_DIR="$PWD/../lib"
47
45# No -fqemu and -fwasmtime here as they're covered by the x86_64-linux scripts.48# No -fqemu and -fwasmtime here as they're covered by the x86_64-linux scripts.
46stage3-release/bin/zig build test-modules test-c-abi \49stage3-release/bin/zig build test-modules test-c-abi \
47 --maxrss ${ZSF_MAX_RSS:-0} \50 --maxrss ${ZSF_MAX_RSS:-0} \
...@@ -50,5 +53,4 @@ stage3-release/bin/zig build test-modules test-c-abi \...@@ -50,5 +53,4 @@ stage3-release/bin/zig build test-modules test-c-abi \
50 -Dskip-single-threaded \53 -Dskip-single-threaded \
51 -Dtarget=native-native-musl \54 -Dtarget=native-native-musl \
52 --search-prefix "$PREFIX" \55 --search-prefix "$PREFIX" \
53 --zig-lib-dir "$PWD/../lib" \
54 --test-timeout 4m56 --test-timeout 4m
ci/s390x-linux-debug.sh+3-1
...@@ -40,6 +40,9 @@ unset CXX...@@ -40,6 +40,9 @@ unset CXX
4040
41ninja install41ninja install
4242
43# Must be done after zig cc is finished.
44export ZIG_LIB_DIR="$PWD/../lib"
45
43# No -fqemu and -fwasmtime here as they're covered by the x86_64-linux scripts.46# No -fqemu and -fwasmtime here as they're covered by the x86_64-linux scripts.
44stage3-debug/bin/zig build test docs \47stage3-debug/bin/zig build test docs \
45 --maxrss ${ZSF_MAX_RSS:-0} \48 --maxrss ${ZSF_MAX_RSS:-0} \
...@@ -47,7 +50,6 @@ stage3-debug/bin/zig build test docs \...@@ -47,7 +50,6 @@ stage3-debug/bin/zig build test docs \
47 -Dskip-non-native \50 -Dskip-non-native \
48 -Dtarget=native-native-musl \51 -Dtarget=native-native-musl \
49 --search-prefix "$PREFIX" \52 --search-prefix "$PREFIX" \
50 --zig-lib-dir "$PWD/../lib" \
51 --test-timeout 4m53 --test-timeout 4m
5254
53stage3-debug/bin/zig build \55stage3-debug/bin/zig build \
ci/s390x-linux-release.sh+3-1
...@@ -40,6 +40,9 @@ unset CXX...@@ -40,6 +40,9 @@ unset CXX
4040
41ninja install41ninja install
4242
43# Must be done after zig cc is finished.
44export ZIG_LIB_DIR="$PWD/../lib"
45
43# No -fqemu and -fwasmtime here as they're covered by the x86_64-linux scripts.46# No -fqemu and -fwasmtime here as they're covered by the x86_64-linux scripts.
44stage3-release/bin/zig build test docs \47stage3-release/bin/zig build test docs \
45 --maxrss ${ZSF_MAX_RSS:-0} \48 --maxrss ${ZSF_MAX_RSS:-0} \
...@@ -47,7 +50,6 @@ stage3-release/bin/zig build test docs \...@@ -47,7 +50,6 @@ stage3-release/bin/zig build test docs \
47 -Dskip-non-native \50 -Dskip-non-native \
48 -Dtarget=native-native-musl \51 -Dtarget=native-native-musl \
49 --search-prefix "$PREFIX" \52 --search-prefix "$PREFIX" \
50 --zig-lib-dir "$PWD/../lib" \
51 --test-timeout 4m53 --test-timeout 4m
5254
53# Ensure that stage3 and stage4 are byte-for-byte identical.55# Ensure that stage3 and stage4 are byte-for-byte identical.
ci/x86_64-freebsd-debug.sh+3-1
...@@ -40,6 +40,9 @@ unset CXX...@@ -40,6 +40,9 @@ unset CXX
4040
41ninja install41ninja install
4242
43# Must be done after zig cc is finished.
44export ZIG_LIB_DIR="$PWD/../lib"
45
43stage3-debug/bin/zig build test docs \46stage3-debug/bin/zig build test docs \
44 --maxrss ${ZSF_MAX_RSS:-0} \47 --maxrss ${ZSF_MAX_RSS:-0} \
45 -Dstatic-llvm \48 -Dstatic-llvm \
...@@ -51,7 +54,6 @@ stage3-debug/bin/zig build test docs \...@@ -51,7 +54,6 @@ stage3-debug/bin/zig build test docs \
51 -Dskip-windows \54 -Dskip-windows \
52 -Dskip-darwin \55 -Dskip-darwin \
53 --search-prefix "$PREFIX" \56 --search-prefix "$PREFIX" \
54 --zig-lib-dir "$PWD/../lib" \
55 --test-timeout 2m57 --test-timeout 2m
5658
57stage3-debug/bin/zig build \59stage3-debug/bin/zig build \
ci/x86_64-freebsd-release.sh+3-1
...@@ -40,6 +40,9 @@ unset CXX...@@ -40,6 +40,9 @@ unset CXX
4040
41ninja install41ninja install
4242
43# Must be done after zig cc is finished.
44export ZIG_LIB_DIR="$PWD/../lib"
45
43stage3-release/bin/zig build test docs \46stage3-release/bin/zig build test docs \
44 --maxrss ${ZSF_MAX_RSS:-0} \47 --maxrss ${ZSF_MAX_RSS:-0} \
45 -Dstatic-llvm \48 -Dstatic-llvm \
...@@ -51,7 +54,6 @@ stage3-release/bin/zig build test docs \...@@ -51,7 +54,6 @@ stage3-release/bin/zig build test docs \
51 -Dskip-windows \54 -Dskip-windows \
52 -Dskip-darwin \55 -Dskip-darwin \
53 --search-prefix "$PREFIX" \56 --search-prefix "$PREFIX" \
54 --zig-lib-dir "$PWD/../lib" \
55 --test-timeout 2m57 --test-timeout 2m
5658
57# Ensure that the fuzzer at least compiles.59# Ensure that the fuzzer at least compiles.
ci/x86_64-linux-debug-llvm.sh+3-1
...@@ -43,6 +43,9 @@ unset CXX...@@ -43,6 +43,9 @@ unset CXX
4343
44ninja install44ninja install
4545
46# Must be done after zig cc is finished.
47export ZIG_LIB_DIR="$PWD/../lib"
48
46# simultaneously test building self-hosted without LLVM and with 32-bit arm49# simultaneously test building self-hosted without LLVM and with 32-bit arm
47stage3-debug/bin/zig build \50stage3-debug/bin/zig build \
48 -Dtarget=arm-linux-musleabihf \51 -Dtarget=arm-linux-musleabihf \
...@@ -63,7 +66,6 @@ stage3-debug/bin/zig build test docs \...@@ -63,7 +66,6 @@ stage3-debug/bin/zig build test docs \
63 -Dskip-darwin \66 -Dskip-darwin \
64 -Dtarget=native-native-musl \67 -Dtarget=native-native-musl \
65 --search-prefix "$PREFIX" \68 --search-prefix "$PREFIX" \
66 --zig-lib-dir "$PWD/../lib" \
67 -Denable-superhtml \69 -Denable-superhtml \
68 --test-timeout 12m70 --test-timeout 12m
6971
ci/x86_64-linux-debug.sh+3-1
...@@ -42,6 +42,9 @@ unset CXX...@@ -42,6 +42,9 @@ unset CXX
4242
43ninja install43ninja install
4444
45# Must be done after zig cc is finished.
46export ZIG_LIB_DIR="$PWD/../lib"
47
45# simultaneously test building self-hosted without LLVM and with 32-bit arm48# simultaneously test building self-hosted without LLVM and with 32-bit arm
46stage3-debug/bin/zig build \49stage3-debug/bin/zig build \
47 -Dtarget=arm-linux-musleabihf \50 -Dtarget=arm-linux-musleabihf \
...@@ -63,7 +66,6 @@ stage3-debug/bin/zig build test docs \...@@ -63,7 +66,6 @@ stage3-debug/bin/zig build test docs \
63 -Dskip-llvm \66 -Dskip-llvm \
64 -Dtarget=native-native-musl \67 -Dtarget=native-native-musl \
65 --search-prefix "$PREFIX" \68 --search-prefix "$PREFIX" \
66 --zig-lib-dir "$PWD/../lib" \
67 -Denable-superhtml \69 -Denable-superhtml \
68 --test-timeout 10m70 --test-timeout 10m
6971
ci/x86_64-linux-release.sh+4-3
...@@ -48,6 +48,9 @@ unset CXX...@@ -48,6 +48,9 @@ unset CXX
4848
49ninja install49ninja install
5050
51# Must be done after zig cc is finished.
52export ZIG_LIB_DIR="$PWD/../lib"
53
51# Covers several things:54# Covers several things:
52# 1. building the compiler without LLVM55# 1. building the compiler without LLVM
53# 2. 32-bit56# 2. 32-bit
...@@ -66,7 +69,6 @@ stage3-release/bin/zig build test docs \...@@ -66,7 +69,6 @@ stage3-release/bin/zig build test docs \
66 -Dstatic-llvm \69 -Dstatic-llvm \
67 -Dtarget=native-native-musl \70 -Dtarget=native-native-musl \
68 --search-prefix "$PREFIX" \71 --search-prefix "$PREFIX" \
69 --zig-lib-dir "$PWD/../lib" \
70 -Denable-superhtml \72 -Denable-superhtml \
71 --test-timeout 12m73 --test-timeout 12m
7274
...@@ -120,6 +122,5 @@ stage3/bin/zig build -p stage4 \...@@ -120,6 +122,5 @@ stage3/bin/zig build -p stage4 \
120 -Dstatic-llvm \122 -Dstatic-llvm \
121 -Dtarget=native-native-musl \123 -Dtarget=native-native-musl \
122 -Dno-lib \124 -Dno-lib \
123 --search-prefix "$PREFIX" \125 --search-prefix "$PREFIX"
124 --zig-lib-dir "$PWD/../lib"
125stage4/bin/zig test ../test/behavior.zig126stage4/bin/zig test ../test/behavior.zig
ci/x86_64-netbsd-debug.sh+3-1
...@@ -40,12 +40,14 @@ unset CXX...@@ -40,12 +40,14 @@ unset CXX
4040
41ninja install41ninja install
4242
43# Must be done after zig cc is finished.
44export ZIG_LIB_DIR="$PWD/../lib"
45
43stage3-debug/bin/zig build test docs \46stage3-debug/bin/zig build test docs \
44 --maxrss ${ZSF_MAX_RSS:-0} \47 --maxrss ${ZSF_MAX_RSS:-0} \
45 -Dstatic-llvm \48 -Dstatic-llvm \
46 -Dskip-non-native \49 -Dskip-non-native \
47 --search-prefix "$PREFIX" \50 --search-prefix "$PREFIX" \
48 --zig-lib-dir "$PWD/../lib" \
49 --test-timeout 2m51 --test-timeout 2m
5052
51stage3-debug/bin/zig build \53stage3-debug/bin/zig build \
ci/x86_64-netbsd-release.sh+3-1
...@@ -40,12 +40,14 @@ unset CXX...@@ -40,12 +40,14 @@ unset CXX
4040
41ninja install41ninja install
4242
43# Must be done after zig cc is finished.
44export ZIG_LIB_DIR="$PWD/../lib"
45
43stage3-release/bin/zig build test docs \46stage3-release/bin/zig build test docs \
44 --maxrss ${ZSF_MAX_RSS:-0} \47 --maxrss ${ZSF_MAX_RSS:-0} \
45 -Dstatic-llvm \48 -Dstatic-llvm \
46 -Dskip-non-native \49 -Dskip-non-native \
47 --search-prefix "$PREFIX" \50 --search-prefix "$PREFIX" \
48 --zig-lib-dir "$PWD/../lib" \
49 --test-timeout 2m51 --test-timeout 2m
5052
51# Ensure that the fuzzer at least compiles.53# Ensure that the fuzzer at least compiles.
ci/x86_64-openbsd-debug.sh+3-1
...@@ -40,12 +40,14 @@ unset CXX...@@ -40,12 +40,14 @@ unset CXX
4040
41ninja install41ninja install
4242
43# Must be done after zig cc is finished.
44export ZIG_LIB_DIR="$PWD/../lib"
45
43stage3-debug/bin/zig build test docs \46stage3-debug/bin/zig build test docs \
44 --maxrss ${ZSF_MAX_RSS:-0} \47 --maxrss ${ZSF_MAX_RSS:-0} \
45 -Dstatic-llvm \48 -Dstatic-llvm \
46 -Dskip-non-native \49 -Dskip-non-native \
47 --search-prefix "$PREFIX" \50 --search-prefix "$PREFIX" \
48 --zig-lib-dir "$PWD/../lib" \
49 --test-timeout 2m51 --test-timeout 2m
5052
51stage3-debug/bin/zig build \53stage3-debug/bin/zig build \
ci/x86_64-openbsd-release.sh+3-1
...@@ -40,12 +40,14 @@ unset CXX...@@ -40,12 +40,14 @@ unset CXX
4040
41ninja install41ninja install
4242
43# Must be done after zig cc is finished.
44export ZIG_LIB_DIR="$PWD/../lib"
45
43stage3-release/bin/zig build test docs \46stage3-release/bin/zig build test docs \
44 --maxrss ${ZSF_MAX_RSS:-0} \47 --maxrss ${ZSF_MAX_RSS:-0} \
45 -Dstatic-llvm \48 -Dstatic-llvm \
46 -Dskip-non-native \49 -Dskip-non-native \
47 --search-prefix "$PREFIX" \50 --search-prefix "$PREFIX" \
48 --zig-lib-dir "$PWD/../lib" \
49 --test-timeout 2m51 --test-timeout 2m
5052
51# Ensure that the fuzzer at least compiles.53# Ensure that the fuzzer at least compiles.
ci/x86_64-windows-debug.ps1+3-4
...@@ -2,7 +2,6 @@ $TARGET = "x86_64-windows-gnu"...@@ -2,7 +2,6 @@ $TARGET = "x86_64-windows-gnu"
2$MCPU = "baseline"2$MCPU = "baseline"
3$PREFIX_PATH = "$($Env:USERPROFILE)\deps\zig+llvm+lld+clang-$TARGET-0.17.0-dev.203+073889523"3$PREFIX_PATH = "$($Env:USERPROFILE)\deps\zig+llvm+lld+clang-$TARGET-0.17.0-dev.203+073889523"
4$ZIG = "$PREFIX_PATH\bin\zig.exe"4$ZIG = "$PREFIX_PATH\bin\zig.exe"
5$ZIG_LIB_DIR = "$(Get-Location)\lib"
6$ZSF_MAX_RSS = if ($Env:ZSF_MAX_RSS) { $Env:ZSF_MAX_RSS } else { 0 }5$ZSF_MAX_RSS = if ($Env:ZSF_MAX_RSS) { $Env:ZSF_MAX_RSS } else { 0 }
76
8function CheckLastExitCode {7function CheckLastExitCode {
...@@ -42,10 +41,12 @@ CheckLastExitCode...@@ -42,10 +41,12 @@ CheckLastExitCode
42ninja install41ninja install
43CheckLastExitCode42CheckLastExitCode
4443
44# Must be done after zig cc is finished.
45$Env:ZIG_LIB_DIR="$(Get-Location)\..\lib"
46
45Write-Output "Main test suite..."47Write-Output "Main test suite..."
46stage3-debug\bin\zig build test docs `48stage3-debug\bin\zig build test docs `
47 --maxrss $ZSF_MAX_RSS `49 --maxrss $ZSF_MAX_RSS `
48 --zig-lib-dir "$ZIG_LIB_DIR" `
49 --search-prefix "$PREFIX_PATH" `50 --search-prefix "$PREFIX_PATH" `
50 -Dstatic-llvm `51 -Dstatic-llvm `
51 -Dskip-non-native `52 -Dskip-non-native `
...@@ -56,7 +57,6 @@ CheckLastExitCode...@@ -56,7 +57,6 @@ CheckLastExitCode
5657
57Write-Output "Build x86_64-windows-msvc behavior tests using the C backend..."58Write-Output "Build x86_64-windows-msvc behavior tests using the C backend..."
58stage3-debug\bin\zig build-obj `59stage3-debug\bin\zig build-obj `
59 --zig-lib-dir "$ZIG_LIB_DIR" `
60 -ofmt=c `60 -ofmt=c `
61 -OReleaseSmall `61 -OReleaseSmall `
62 --name compiler_rt `62 --name compiler_rt `
...@@ -67,7 +67,6 @@ stage3-debug\bin\zig build-obj `...@@ -67,7 +67,6 @@ stage3-debug\bin\zig build-obj `
67CheckLastExitCode67CheckLastExitCode
6868
69stage3-debug\bin\zig test `69stage3-debug\bin\zig test `
70 --zig-lib-dir "$ZIG_LIB_DIR" `
71 -ofmt=c `70 -ofmt=c `
72 -femit-bin="behavior-x86_64-windows-msvc.c" `71 -femit-bin="behavior-x86_64-windows-msvc.c" `
73 --test-no-exec `72 --test-no-exec `
ci/x86_64-windows-release.ps1+3-4
...@@ -2,7 +2,6 @@ $TARGET = "x86_64-windows-gnu"...@@ -2,7 +2,6 @@ $TARGET = "x86_64-windows-gnu"
2$MCPU = "baseline"2$MCPU = "baseline"
3$PREFIX_PATH = "$($Env:USERPROFILE)\deps\zig+llvm+lld+clang-$TARGET-0.17.0-dev.203+073889523"3$PREFIX_PATH = "$($Env:USERPROFILE)\deps\zig+llvm+lld+clang-$TARGET-0.17.0-dev.203+073889523"
4$ZIG = "$PREFIX_PATH\bin\zig.exe"4$ZIG = "$PREFIX_PATH\bin\zig.exe"
5$ZIG_LIB_DIR = "$(Get-Location)\lib"
6$ZSF_MAX_RSS = if ($Env:ZSF_MAX_RSS) { $Env:ZSF_MAX_RSS } else { 0 }5$ZSF_MAX_RSS = if ($Env:ZSF_MAX_RSS) { $Env:ZSF_MAX_RSS } else { 0 }
76
8function CheckLastExitCode {7function CheckLastExitCode {
...@@ -42,10 +41,12 @@ CheckLastExitCode...@@ -42,10 +41,12 @@ CheckLastExitCode
42ninja install41ninja install
43CheckLastExitCode42CheckLastExitCode
4443
44# Must be done after zig cc is finished.
45$Env:ZIG_LIB_DIR="$(Get-Location)\..\lib"
46
45Write-Output "Main test suite..."47Write-Output "Main test suite..."
46stage3-release\bin\zig.exe build test docs `48stage3-release\bin\zig.exe build test docs `
47 --maxrss $ZSF_MAX_RSS `49 --maxrss $ZSF_MAX_RSS `
48 --zig-lib-dir "$ZIG_LIB_DIR" `
49 --search-prefix "$PREFIX_PATH" `50 --search-prefix "$PREFIX_PATH" `
50 -Dstatic-llvm `51 -Dstatic-llvm `
51 -Dskip-non-native `52 -Dskip-non-native `
...@@ -82,7 +83,6 @@ CheckLastExitCode...@@ -82,7 +83,6 @@ CheckLastExitCode
8283
83Write-Output "Build x86_64-windows-msvc behavior tests using the C backend..."84Write-Output "Build x86_64-windows-msvc behavior tests using the C backend..."
84stage3-release\bin\zig.exe build-obj `85stage3-release\bin\zig.exe build-obj `
85 --zig-lib-dir "$ZIG_LIB_DIR" `
86 -ofmt=c `86 -ofmt=c `
87 -OReleaseSmall `87 -OReleaseSmall `
88 --name compiler_rt `88 --name compiler_rt `
...@@ -93,7 +93,6 @@ stage3-release\bin\zig.exe build-obj `...@@ -93,7 +93,6 @@ stage3-release\bin\zig.exe build-obj `
93CheckLastExitCode93CheckLastExitCode
9494
95stage3-release\bin\zig.exe test `95stage3-release\bin\zig.exe test `
96 --zig-lib-dir "$ZIG_LIB_DIR" `
97 -ofmt=c `96 -ofmt=c `
98 -femit-bin="behavior-x86_64-windows-msvc.c" `97 -femit-bin="behavior-x86_64-windows-msvc.c" `
99 --test-no-exec `98 --test-no-exec `