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

@@ -35,8 +35,8 @@ pub fn create(
return install_file;
}
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 install_file: *InstallFile = @fieldParentPtr("step", step);
try step.singleUnchangingWatchInput(install_file.source);