zig0_airgen_options: restrict what can be configured

1. `dev == .bootstrap` does not include wasm backend, no use.
2. different optimize modes _of the compiler_ (_not_ target) _should_
   not emit a different AIR. Thus if we want to `zig build test-zig0
   -Doptimize=ReleaseFast`, we most often mean to compile the test
   executable under this mode, but not `air_gen`, which will only emit
   the AIR for comparison.
This commit is contained in:
2026-03-03 09:04:18 +00:00
parent 4da900cbb8
commit 0e9bc3bf9b

View File

@@ -733,7 +733,7 @@ pub fn build(b: *std.Build) !void {
zig0_airgen_options.addOption(bool, "llvm_has_arc", false);
zig0_airgen_options.addOption(bool, "llvm_has_xtensa", false);
zig0_airgen_options.addOption(bool, "debug_gpa", debug_gpa);
zig0_airgen_options.addOption(DevEnv, "dev", dev_mode);
zig0_airgen_options.addOption(DevEnv, "dev", .full);
zig0_airgen_options.addOption(ValueInterpretMode, "value_interpret_mode", value_interpret_mode);
zig0_airgen_options.addOption([:0]const u8, "version", try b.allocator.dupeZ(u8, "0.15.2-zig0-dev"));
zig0_airgen_options.addOption(std.SemanticVersion, "semver", try std.SemanticVersion.parse("0.15.2-zig0-dev"));
@@ -746,7 +746,9 @@ pub fn build(b: *std.Build) !void {
zig0_airgen_options.addOption(u32, "tracy_callstack_depth", tracy_callstack_depth);
zig0_airgen_options.addOption(bool, "value_tracing", value_tracing);
const air_gen_result = addAirGen(b, zig0_airgen_options, optimize);
// ReleaseFast, because we trust compiler will emit the correct AIR
// under all modes.
const air_gen_result = addAirGen(b, zig0_airgen_options, .ReleaseFast);
const prepare_zig0 = b.step("prepare-zig0", "Generate pre-computed AIR files for zig0 tests");
prepare_zig0.dependOn(air_gen_result.step);