authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2026-09-16 14:52:32-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2026-09-16 14:52:32-07:00
log5549d9bbe3d091751394b78c205e357891013cdb
tree8974853f38c368ce9adb0121e861c8f0cba898e8
parent31ffe4be432ba9db5a7afc58e453fe96a8b9225d

incr-check: pass local and global cache overrides also to C compilation

and simplify by using `zig build-exe` rather than `zig cc`

1 files changed, 21 insertions(+), 19 deletions(-)

tools/incr-check.zig+21-19
...@@ -152,16 +152,11 @@ pub fn main(init: std.process.Init) !void {...@@ -152,16 +152,11 @@ pub fn main(init: std.process.Init) !void {
152152
153 var child_args: std.ArrayList([]const u8) = .empty;153 var child_args: std.ArrayList([]const u8) = .empty;
154 try child_args.appendSlice(arena, &.{154 try child_args.appendSlice(arena, &.{
155 resolved_zig_exe,155 resolved_zig_exe, "build-exe",
156 "build-exe",156 "-fincremental", "-fno-ubsan-rt",
157 "-fincremental",157 "-target", try target_query.zigTriple(arena),
158 "-fno-ubsan-rt",158 "--cache-dir", ".local-cache",
159 "-target",159 "--global-cache-dir", ".global-cache",
160 try target_query.zigTriple(arena),
161 "--cache-dir",
162 ".local-cache",
163 "--global-cache-dir",
164 ".global-cache",
165 });160 });
166161
167 if (opt_resolved_lib_dir) |resolved_lib_dir| {162 if (opt_resolved_lib_dir) |resolved_lib_dir| {
...@@ -199,15 +194,13 @@ pub fn main(init: std.process.Init) !void {...@@ -199,15 +194,13 @@ pub fn main(init: std.process.Init) !void {
199 resolved_zig_exe;194 resolved_zig_exe;
200195
201 try cc_child_args.appendSlice(arena, &.{196 try cc_child_args.appendSlice(arena, &.{
202 resolved_cc_zig_exe,197 resolved_cc_zig_exe, "build-exe",
203 "cc",198 "-target", try target_query.zigTriple(arena),
204 "-target",199 "--cache-dir", ".local-cache",
205 try target_query.zigTriple(arena),200 "--global-cache-dir", ".global-cache",
206 "-I",201 "-I", opt_resolved_lib_dir.?, // verified earlier
207 opt_resolved_lib_dir.?, // verified earlier202 "-lc",
208 });203 });
209
210 try cc_child_args.append(arena, "-o");
211 }204 }
212205
213 const allow_compiler_stderr = debug_log_args.items.len != 0;206 const allow_compiler_stderr = debug_log_args.items.len != 0;
...@@ -669,9 +662,18 @@ const Eval = struct {...@@ -669,9 +662,18 @@ const Eval = struct {
669 const child_prog_node = prog_node.start("build cbe output", 0);662 const child_prog_node = prog_node.start("build cbe output", 0);
670 defer child_prog_node.end();663 defer child_prog_node.end();
671664
672 try eval.cc_child_args.appendSlice(eval.arena, &.{ out_path, c_path });665 try eval.cc_child_args.append(eval.arena, try std.fmt.allocPrint(eval.arena, "-femit-bin={s}", .{out_path}));
666 try eval.cc_child_args.append(eval.arena, c_path);
673 defer eval.cc_child_args.items.len -= 2;667 defer eval.cc_child_args.items.len -= 2;
674668
669 if (eval.allow_compiler_stderr) {
670 const cmd: std.zig.SubprocessCommand = .{
671 .argv = eval.cc_child_args.items,
672 .cwd = eval.tmp_dir_path,
673 };
674 std.log.scoped(.spawn).info("{f}", .{cmd});
675 }
676
675 const result = std.process.run(eval.arena, eval.io, .{677 const result = std.process.run(eval.arena, eval.io, .{
676 .argv = eval.cc_child_args.items,678 .argv = eval.cc_child_args.items,
677 .cwd = .{ .path = eval.tmp_dir_path },679 .cwd = .{ .path = eval.tmp_dir_path },