make zig compiler processes live across rebuilds

Changes the `make` function signature to take an options struct, which
additionally includes `watch: bool`. I intentionally am not exposing
this information to configure phase logic.

Also adds global zig cache to the compiler cache prefixes.

Closes #20600
This commit is contained in:
Andrew Kelley
2024-07-14 19:48:08 -07:00
parent d404d8a363
commit abf8955951
23 changed files with 181 additions and 87 deletions

View File

@@ -67,8 +67,8 @@ pub fn addBytesToSource(usf: *UpdateSourceFiles, bytes: []const u8, sub_path: []
}) catch @panic("OOM");
}
fn make(step: *Step, prog_node: std.Progress.Node) !void {
_ = prog_node;
fn make(step: *Step, options: Step.MakeOptions) !void {
_ = options;
const b = step.owner;
const usf: *UpdateSourceFiles = @fieldParentPtr("step", step);