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()
729729
730730
731731set(ZIG_BUILD_ARGS
732 --zig-lib-dir "${PROJECT_SOURCE_DIR}/lib"
733
734732 "-Dversion-string=${RESOLVED_ZIG_VERSION}"
735733 "-Dtarget=${ZIG_TARGET_TRIPLE}"
736734 "-Dcpu=${ZIG_TARGET_MCPU}"
ci/aarch64-freebsd-debug.sh+3-1
......@@ -40,12 +40,14 @@ unset CXX
4040
4141ninja install
4242
43# Must be done after zig cc is finished.
44export ZIG_LIB_DIR="$PWD/../lib"
45
4346stage3-debug/bin/zig build test docs \
4447 --maxrss ${ZSF_MAX_RSS:-0} \
4548 -Dstatic-llvm \
4649 -Dskip-non-native \
4750 --search-prefix "$PREFIX" \
48 --zig-lib-dir "$PWD/../lib" \
4951 --test-timeout 4m
5052
5153stage3-debug/bin/zig build \
ci/aarch64-freebsd-release.sh+3-1
......@@ -40,12 +40,14 @@ unset CXX
4040
4141ninja install
4242
43# Must be done after zig cc is finished.
44export ZIG_LIB_DIR="$PWD/../lib"
45
4346stage3-release/bin/zig build test docs \
4447 --maxrss ${ZSF_MAX_RSS:-0} \
4548 -Dstatic-llvm \
4649 -Dskip-non-native \
4750 --search-prefix "$PREFIX" \
48 --zig-lib-dir "$PWD/../lib" \
4951 --test-timeout 4m
5052
5153# Ensure that stage3 and stage4 are byte-for-byte identical.
ci/aarch64-linux-debug.sh+3-1
......@@ -42,6 +42,9 @@ unset CXX
4242
4343ninja install
4444
45# Must be done after zig cc is finished.
46export ZIG_LIB_DIR="$PWD/../lib"
47
4548# No -fqemu and -fwasmtime here as they're covered by the x86_64-linux scripts.
4649stage3-debug/bin/zig build test docs \
4750 --maxrss ${ZSF_MAX_RSS:-0} \
......@@ -49,7 +52,6 @@ stage3-debug/bin/zig build test docs \
4952 -Dskip-non-native \
5053 -Dtarget=native-native-musl \
5154 --search-prefix "$PREFIX" \
52 --zig-lib-dir "$PWD/../lib" \
5355 -Denable-superhtml \
5456 --test-timeout 3m
5557
ci/aarch64-linux-release.sh+3-1
......@@ -42,6 +42,9 @@ unset CXX
4242
4343ninja install
4444
45# Must be done after zig cc is finished.
46export ZIG_LIB_DIR="$PWD/../lib"
47
4548# No -fqemu and -fwasmtime here as they're covered by the x86_64-linux scripts.
4649stage3-release/bin/zig build test docs \
4750 --maxrss ${ZSF_MAX_RSS:-0} \
......@@ -49,7 +52,6 @@ stage3-release/bin/zig build test docs \
4952 -Dskip-non-native \
5053 -Dtarget=native-native-musl \
5154 --search-prefix "$PREFIX" \
52 --zig-lib-dir "$PWD/../lib" \
5355 -Denable-superhtml \
5456 --test-timeout 3m
5557
ci/aarch64-macos-debug.sh+3-1
......@@ -43,9 +43,11 @@ cmake .. \
4343
4444ninja install
4545
46# Must be done after zig cc is finished.
47export ZIG_LIB_DIR="$PWD/../lib"
48
4649stage3-debug/bin/zig build test docs \
4750 --maxrss ${ZSF_MAX_RSS:-0} \
48 --zig-lib-dir "$PWD/../lib" \
4951 -Denable-macos-sdk \
5052 -Dstatic-llvm \
5153 -Dskip-spirv \
ci/aarch64-macos-release.sh+3-1
......@@ -43,8 +43,10 @@ cmake .. \
4343
4444ninja install
4545
46# Must be done after zig cc is finished.
47export ZIG_LIB_DIR="$PWD/../lib"
48
4649stage3-release/bin/zig build test docs \
47 --zig-lib-dir "$PWD/../lib" \
4850 -Denable-macos-sdk \
4951 -Dstatic-llvm \
5052 -Dskip-spirv \
ci/aarch64-netbsd-debug.sh+3-1
......@@ -40,12 +40,14 @@ unset CXX
4040
4141ninja install
4242
43# Must be done after zig cc is finished.
44export ZIG_LIB_DIR="$PWD/../lib"
45
4346stage3-debug/bin/zig build test docs \
4447 --maxrss ${ZSF_MAX_RSS:-0} \
4548 -Dstatic-llvm \
4649 -Dskip-non-native \
4750 --search-prefix "$PREFIX" \
48 --zig-lib-dir "$PWD/../lib" \
4951 --test-timeout 4m
5052
5153stage3-debug/bin/zig build \
ci/aarch64-netbsd-release.sh+3-1
......@@ -40,12 +40,14 @@ unset CXX
4040
4141ninja install
4242
43# Must be done after zig cc is finished.
44export ZIG_LIB_DIR="$PWD/../lib"
45
4346stage3-release/bin/zig build test docs \
4447 --maxrss ${ZSF_MAX_RSS:-0} \
4548 -Dstatic-llvm \
4649 -Dskip-non-native \
4750 --search-prefix "$PREFIX" \
48 --zig-lib-dir "$PWD/../lib" \
4951 --test-timeout 4m
5052
5153# Ensure that stage3 and stage4 are byte-for-byte identical.
ci/aarch64-windows.ps1+3-2
......@@ -4,7 +4,6 @@ $MCPU = "baseline"
44$ZIG_LLVM_CLANG_LLD_URL = "https://ziglang.org/deps/$ZIG_LLVM_CLANG_LLD_NAME.zip"
55$PREFIX_PATH = "$(Get-Location)\..\$ZIG_LLVM_CLANG_LLD_NAME"
66$ZIG = "$PREFIX_PATH\bin\zig.exe"
7$ZIG_LIB_DIR = "$(Get-Location)\lib"
87$ZSF_MAX_RSS = if ($Env:ZSF_MAX_RSS) { $Env:ZSF_MAX_RSS } else { 0 }
98
109if (!(Test-Path "..\$ZIG_LLVM_CLANG_LLD_NAME.zip")) {
......@@ -53,10 +52,12 @@ CheckLastExitCode
5352ninja install
5453CheckLastExitCode
5554
55# Must be done after zig cc is finished.
56$Env:ZIG_LIB_DIR="$(Get-Location)\..\lib"
57
5658Write-Output "Main test suite..."
5759& "stage3-release\bin\zig.exe" build test docs `
5860 --maxrss $ZSF_MAX_RSS `
59 --zig-lib-dir "$ZIG_LIB_DIR" `
6061 --search-prefix "$PREFIX_PATH" `
6162 -Dstatic-llvm `
6263 -Dskip-non-native `
ci/loongarch64-linux-debug.sh+3-1
......@@ -40,6 +40,9 @@ unset CXX
4040
4141ninja install
4242
43# Must be done after zig cc is finished.
44export ZIG_LIB_DIR="$PWD/../lib"
45
4346# No -fqemu and -fwasmtime here as they're covered by the x86_64-linux scripts.
4447stage3-debug/bin/zig build test docs \
4548 --maxrss ${ZSF_MAX_RSS:-0} \
......@@ -47,7 +50,6 @@ stage3-debug/bin/zig build test docs \
4750 -Dskip-non-native \
4851 -Dtarget=native-native-musl \
4952 --search-prefix "$PREFIX" \
50 --zig-lib-dir "$PWD/../lib" \
5153 --test-timeout 4m
5254
5355stage3-debug/bin/zig build \
ci/loongarch64-linux-release.sh+3-1
......@@ -40,6 +40,9 @@ unset CXX
4040
4141ninja install
4242
43# Must be done after zig cc is finished.
44export ZIG_LIB_DIR="$PWD/../lib"
45
4346# No -fqemu and -fwasmtime here as they're covered by the x86_64-linux scripts.
4447stage3-release/bin/zig build test docs \
4548 --maxrss ${ZSF_MAX_RSS:-0} \
......@@ -47,7 +50,6 @@ stage3-release/bin/zig build test docs \
4750 -Dskip-non-native \
4851 -Dtarget=native-native-musl \
4952 --search-prefix "$PREFIX" \
50 --zig-lib-dir "$PWD/../lib" \
5153 --test-timeout 4m
5254
5355# Ensure that stage3 and stage4 are byte-for-byte identical.
ci/powerpc64le-linux-debug.sh+3-1
......@@ -40,6 +40,9 @@ unset CXX
4040
4141ninja install
4242
43# Must be done after zig cc is finished.
44export ZIG_LIB_DIR="$PWD/../lib"
45
4346# No -fqemu and -fwasmtime here as they're covered by the x86_64-linux scripts.
4447stage3-debug/bin/zig build test docs \
4548 --maxrss ${ZSF_MAX_RSS:-0} \
......@@ -48,7 +51,6 @@ stage3-debug/bin/zig build test docs \
4851 -Dtarget=native-native-musl \
4952 -Dcpu=native+longcall \
5053 --search-prefix "$PREFIX" \
51 --zig-lib-dir "$PWD/../lib" \
5254 --test-timeout 4m
5355
5456stage3-debug/bin/zig build \
ci/powerpc64le-linux-release.sh+3-1
......@@ -40,6 +40,9 @@ unset CXX
4040
4141ninja install
4242
43# Must be done after zig cc is finished.
44export ZIG_LIB_DIR="$PWD/../lib"
45
4346# No -fqemu and -fwasmtime here as they're covered by the x86_64-linux scripts.
4447stage3-release/bin/zig build test docs \
4548 --maxrss ${ZSF_MAX_RSS:-0} \
......@@ -48,7 +51,6 @@ stage3-release/bin/zig build test docs \
4851 -Dtarget=native-native-musl \
4952 -Dcpu=native+longcall \
5053 --search-prefix "$PREFIX" \
51 --zig-lib-dir "$PWD/../lib" \
5254 --test-timeout 4m
5355
5456# Ensure that stage3 and stage4 are byte-for-byte identical.
ci/riscv64-linux-debug.sh+3-1
......@@ -42,6 +42,9 @@ unset CXX
4242
4343ninja install
4444
45# Must be done after zig cc is finished.
46export ZIG_LIB_DIR="$PWD/../lib"
47
4548# No -fqemu and -fwasmtime here as they're covered by the x86_64-linux scripts.
4649stage3-debug/bin/zig build test-modules test-c-abi \
4750 --maxrss ${ZSF_MAX_RSS:-0} \
......@@ -50,5 +53,4 @@ stage3-debug/bin/zig build test-modules test-c-abi \
5053 -Dskip-single-threaded \
5154 -Dtarget=native-native-musl \
5255 --search-prefix "$PREFIX" \
53 --zig-lib-dir "$PWD/../lib" \
5456 --test-timeout 4m
ci/riscv64-linux-release.sh+3-1
......@@ -42,6 +42,9 @@ unset CXX
4242
4343ninja install
4444
45# Must be done after zig cc is finished.
46export ZIG_LIB_DIR="$PWD/../lib"
47
4548# No -fqemu and -fwasmtime here as they're covered by the x86_64-linux scripts.
4649stage3-release/bin/zig build test-modules test-c-abi \
4750 --maxrss ${ZSF_MAX_RSS:-0} \
......@@ -50,5 +53,4 @@ stage3-release/bin/zig build test-modules test-c-abi \
5053 -Dskip-single-threaded \
5154 -Dtarget=native-native-musl \
5255 --search-prefix "$PREFIX" \
53 --zig-lib-dir "$PWD/../lib" \
5456 --test-timeout 4m
ci/s390x-linux-debug.sh+3-1
......@@ -40,6 +40,9 @@ unset CXX
4040
4141ninja install
4242
43# Must be done after zig cc is finished.
44export ZIG_LIB_DIR="$PWD/../lib"
45
4346# No -fqemu and -fwasmtime here as they're covered by the x86_64-linux scripts.
4447stage3-debug/bin/zig build test docs \
4548 --maxrss ${ZSF_MAX_RSS:-0} \
......@@ -47,7 +50,6 @@ stage3-debug/bin/zig build test docs \
4750 -Dskip-non-native \
4851 -Dtarget=native-native-musl \
4952 --search-prefix "$PREFIX" \
50 --zig-lib-dir "$PWD/../lib" \
5153 --test-timeout 4m
5254
5355stage3-debug/bin/zig build \
ci/s390x-linux-release.sh+3-1
......@@ -40,6 +40,9 @@ unset CXX
4040
4141ninja install
4242
43# Must be done after zig cc is finished.
44export ZIG_LIB_DIR="$PWD/../lib"
45
4346# No -fqemu and -fwasmtime here as they're covered by the x86_64-linux scripts.
4447stage3-release/bin/zig build test docs \
4548 --maxrss ${ZSF_MAX_RSS:-0} \
......@@ -47,7 +50,6 @@ stage3-release/bin/zig build test docs \
4750 -Dskip-non-native \
4851 -Dtarget=native-native-musl \
4952 --search-prefix "$PREFIX" \
50 --zig-lib-dir "$PWD/../lib" \
5153 --test-timeout 4m
5254
5355# Ensure that stage3 and stage4 are byte-for-byte identical.
ci/x86_64-freebsd-debug.sh+3-1
......@@ -40,6 +40,9 @@ unset CXX
4040
4141ninja install
4242
43# Must be done after zig cc is finished.
44export ZIG_LIB_DIR="$PWD/../lib"
45
4346stage3-debug/bin/zig build test docs \
4447 --maxrss ${ZSF_MAX_RSS:-0} \
4548 -Dstatic-llvm \
......@@ -51,7 +54,6 @@ stage3-debug/bin/zig build test docs \
5154 -Dskip-windows \
5255 -Dskip-darwin \
5356 --search-prefix "$PREFIX" \
54 --zig-lib-dir "$PWD/../lib" \
5557 --test-timeout 2m
5658
5759stage3-debug/bin/zig build \
ci/x86_64-freebsd-release.sh+3-1
......@@ -40,6 +40,9 @@ unset CXX
4040
4141ninja install
4242
43# Must be done after zig cc is finished.
44export ZIG_LIB_DIR="$PWD/../lib"
45
4346stage3-release/bin/zig build test docs \
4447 --maxrss ${ZSF_MAX_RSS:-0} \
4548 -Dstatic-llvm \
......@@ -51,7 +54,6 @@ stage3-release/bin/zig build test docs \
5154 -Dskip-windows \
5255 -Dskip-darwin \
5356 --search-prefix "$PREFIX" \
54 --zig-lib-dir "$PWD/../lib" \
5557 --test-timeout 2m
5658
5759# Ensure that the fuzzer at least compiles.
ci/x86_64-linux-debug-llvm.sh+3-1
......@@ -43,6 +43,9 @@ unset CXX
4343
4444ninja install
4545
46# Must be done after zig cc is finished.
47export ZIG_LIB_DIR="$PWD/../lib"
48
4649# simultaneously test building self-hosted without LLVM and with 32-bit arm
4750stage3-debug/bin/zig build \
4851 -Dtarget=arm-linux-musleabihf \
......@@ -63,7 +66,6 @@ stage3-debug/bin/zig build test docs \
6366 -Dskip-darwin \
6467 -Dtarget=native-native-musl \
6568 --search-prefix "$PREFIX" \
66 --zig-lib-dir "$PWD/../lib" \
6769 -Denable-superhtml \
6870 --test-timeout 12m
6971
ci/x86_64-linux-debug.sh+3-1
......@@ -42,6 +42,9 @@ unset CXX
4242
4343ninja install
4444
45# Must be done after zig cc is finished.
46export ZIG_LIB_DIR="$PWD/../lib"
47
4548# simultaneously test building self-hosted without LLVM and with 32-bit arm
4649stage3-debug/bin/zig build \
4750 -Dtarget=arm-linux-musleabihf \
......@@ -63,7 +66,6 @@ stage3-debug/bin/zig build test docs \
6366 -Dskip-llvm \
6467 -Dtarget=native-native-musl \
6568 --search-prefix "$PREFIX" \
66 --zig-lib-dir "$PWD/../lib" \
6769 -Denable-superhtml \
6870 --test-timeout 10m
6971
ci/x86_64-linux-release.sh+4-3
......@@ -48,6 +48,9 @@ unset CXX
4848
4949ninja install
5050
51# Must be done after zig cc is finished.
52export ZIG_LIB_DIR="$PWD/../lib"
53
5154# Covers several things:
5255# 1. building the compiler without LLVM
5356# 2. 32-bit
......@@ -66,7 +69,6 @@ stage3-release/bin/zig build test docs \
6669 -Dstatic-llvm \
6770 -Dtarget=native-native-musl \
6871 --search-prefix "$PREFIX" \
69 --zig-lib-dir "$PWD/../lib" \
7072 -Denable-superhtml \
7173 --test-timeout 12m
7274
......@@ -120,6 +122,5 @@ stage3/bin/zig build -p stage4 \
120122 -Dstatic-llvm \
121123 -Dtarget=native-native-musl \
122124 -Dno-lib \
123 --search-prefix "$PREFIX" \
124 --zig-lib-dir "$PWD/../lib"
125 --search-prefix "$PREFIX"
125126stage4/bin/zig test ../test/behavior.zig
ci/x86_64-netbsd-debug.sh+3-1
......@@ -40,12 +40,14 @@ unset CXX
4040
4141ninja install
4242
43# Must be done after zig cc is finished.
44export ZIG_LIB_DIR="$PWD/../lib"
45
4346stage3-debug/bin/zig build test docs \
4447 --maxrss ${ZSF_MAX_RSS:-0} \
4548 -Dstatic-llvm \
4649 -Dskip-non-native \
4750 --search-prefix "$PREFIX" \
48 --zig-lib-dir "$PWD/../lib" \
4951 --test-timeout 2m
5052
5153stage3-debug/bin/zig build \
ci/x86_64-netbsd-release.sh+3-1
......@@ -40,12 +40,14 @@ unset CXX
4040
4141ninja install
4242
43# Must be done after zig cc is finished.
44export ZIG_LIB_DIR="$PWD/../lib"
45
4346stage3-release/bin/zig build test docs \
4447 --maxrss ${ZSF_MAX_RSS:-0} \
4548 -Dstatic-llvm \
4649 -Dskip-non-native \
4750 --search-prefix "$PREFIX" \
48 --zig-lib-dir "$PWD/../lib" \
4951 --test-timeout 2m
5052
5153# Ensure that the fuzzer at least compiles.
ci/x86_64-openbsd-debug.sh+3-1
......@@ -40,12 +40,14 @@ unset CXX
4040
4141ninja install
4242
43# Must be done after zig cc is finished.
44export ZIG_LIB_DIR="$PWD/../lib"
45
4346stage3-debug/bin/zig build test docs \
4447 --maxrss ${ZSF_MAX_RSS:-0} \
4548 -Dstatic-llvm \
4649 -Dskip-non-native \
4750 --search-prefix "$PREFIX" \
48 --zig-lib-dir "$PWD/../lib" \
4951 --test-timeout 2m
5052
5153stage3-debug/bin/zig build \
ci/x86_64-openbsd-release.sh+3-1
......@@ -40,12 +40,14 @@ unset CXX
4040
4141ninja install
4242
43# Must be done after zig cc is finished.
44export ZIG_LIB_DIR="$PWD/../lib"
45
4346stage3-release/bin/zig build test docs \
4447 --maxrss ${ZSF_MAX_RSS:-0} \
4548 -Dstatic-llvm \
4649 -Dskip-non-native \
4750 --search-prefix "$PREFIX" \
48 --zig-lib-dir "$PWD/../lib" \
4951 --test-timeout 2m
5052
5153# Ensure that the fuzzer at least compiles.
ci/x86_64-windows-debug.ps1+3-4
......@@ -2,7 +2,6 @@ $TARGET = "x86_64-windows-gnu"
22$MCPU = "baseline"
33$PREFIX_PATH = "$($Env:USERPROFILE)\deps\zig+llvm+lld+clang-$TARGET-0.17.0-dev.203+073889523"
44$ZIG = "$PREFIX_PATH\bin\zig.exe"
5$ZIG_LIB_DIR = "$(Get-Location)\lib"
65$ZSF_MAX_RSS = if ($Env:ZSF_MAX_RSS) { $Env:ZSF_MAX_RSS } else { 0 }
76
87function CheckLastExitCode {
......@@ -42,10 +41,12 @@ CheckLastExitCode
4241ninja install
4342CheckLastExitCode
4443
44# Must be done after zig cc is finished.
45$Env:ZIG_LIB_DIR="$(Get-Location)\..\lib"
46
4547Write-Output "Main test suite..."
4648stage3-debug\bin\zig build test docs `
4749 --maxrss $ZSF_MAX_RSS `
48 --zig-lib-dir "$ZIG_LIB_DIR" `
4950 --search-prefix "$PREFIX_PATH" `
5051 -Dstatic-llvm `
5152 -Dskip-non-native `
......@@ -56,7 +57,6 @@ CheckLastExitCode
5657
5758Write-Output "Build x86_64-windows-msvc behavior tests using the C backend..."
5859stage3-debug\bin\zig build-obj `
59 --zig-lib-dir "$ZIG_LIB_DIR" `
6060 -ofmt=c `
6161 -OReleaseSmall `
6262 --name compiler_rt `
......@@ -67,7 +67,6 @@ stage3-debug\bin\zig build-obj `
6767CheckLastExitCode
6868
6969stage3-debug\bin\zig test `
70 --zig-lib-dir "$ZIG_LIB_DIR" `
7170 -ofmt=c `
7271 -femit-bin="behavior-x86_64-windows-msvc.c" `
7372 --test-no-exec `
ci/x86_64-windows-release.ps1+3-4
......@@ -2,7 +2,6 @@ $TARGET = "x86_64-windows-gnu"
22$MCPU = "baseline"
33$PREFIX_PATH = "$($Env:USERPROFILE)\deps\zig+llvm+lld+clang-$TARGET-0.17.0-dev.203+073889523"
44$ZIG = "$PREFIX_PATH\bin\zig.exe"
5$ZIG_LIB_DIR = "$(Get-Location)\lib"
65$ZSF_MAX_RSS = if ($Env:ZSF_MAX_RSS) { $Env:ZSF_MAX_RSS } else { 0 }
76
87function CheckLastExitCode {
......@@ -42,10 +41,12 @@ CheckLastExitCode
4241ninja install
4342CheckLastExitCode
4443
44# Must be done after zig cc is finished.
45$Env:ZIG_LIB_DIR="$(Get-Location)\..\lib"
46
4547Write-Output "Main test suite..."
4648stage3-release\bin\zig.exe build test docs `
4749 --maxrss $ZSF_MAX_RSS `
48 --zig-lib-dir "$ZIG_LIB_DIR" `
4950 --search-prefix "$PREFIX_PATH" `
5051 -Dstatic-llvm `
5152 -Dskip-non-native `
......@@ -82,7 +83,6 @@ CheckLastExitCode
8283
8384Write-Output "Build x86_64-windows-msvc behavior tests using the C backend..."
8485stage3-release\bin\zig.exe build-obj `
85 --zig-lib-dir "$ZIG_LIB_DIR" `
8686 -ofmt=c `
8787 -OReleaseSmall `
8888 --name compiler_rt `
......@@ -93,7 +93,6 @@ stage3-release\bin\zig.exe build-obj `
9393CheckLastExitCode
9494
9595stage3-release\bin\zig.exe test `
96 --zig-lib-dir "$ZIG_LIB_DIR" `
9796 -ofmt=c `
9897 -femit-bin="behavior-x86_64-windows-msvc.c" `
9998 --test-no-exec `