commit d3cbbe0b1e38394de5c4ea6efe9372203092002f (tree) parent a4c35a62454a3970dd44ac8b842be91a46bb896c Author: Andrew Kelley <andrew@ziglang.org> Date: Sun, 5 Mar 2023 16:16:32 -0700 std.Build.Step: no-op steps report cached if all deps cached Diffstat:
| M | lib/std/Build/Step.zig | | | 11 | +++++++++-- |
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/lib/std/Build/Step.zig b/lib/std/Build/Step.zig @@ -144,9 +144,16 @@ pub fn getStackTrace(s: *Step) std.builtin.StackTrace { }; } -fn makeNoOp(self: *Step, prog_node: *std.Progress.Node) anyerror!void { - _ = self; +fn makeNoOp(step: *Step, prog_node: *std.Progress.Node) anyerror!void { _ = prog_node; + + var all_cached = true; + + for (step.dependencies.items) |dep| { + all_cached = all_cached and dep.result_cached; + } + + step.result_cached = all_cached; } pub fn cast(step: *Step, comptime T: type) ?*T {