zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

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:
Mlib/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 {