zig/lib/std/Build/Step
mlugg 0bb93ca053
std.Build: simplify module dependency handling
At the expense of a slight special case in the build runner, we can make
the handling of dependencies between modules a little shorter and much
easier to follow.

When module and step graphs are being constructed during the "configure"
phase, we do not set up step dependencies triggered by modules. Instead,
after the configure phase, the build runner traverses the whole
step/module graph, starting from the root top-level steps, and
configures all step dependencies implied by modules. The "make" phase
then proceeds as normal. Also, the old `Module.dependencyIterator` logic
is replaced by two separate iterables. `Module.getGraph` takes the root
module of a compilation, and returns all modules in its graph; while
`Step.Compile.getCompileDependencies` takes a `*Step.Compile` and
returns all `*Step.Compile` it depends on, recursively, possibly
excluding dynamic libraries. The old `Module.dependencyIterator`
combined these two functions into one unintuitive iterator; they are now
separated, which in particular helps readability at the usage sites
which only need one or the other.
2024-12-18 01:47:51 +05:00
..
CheckFile.zig make zig compiler processes live across rebuilds 2024-07-14 19:51:16 -07:00
CheckObject.zig std.Build.Step.CheckObject: display source file path 2024-10-10 14:21:52 -07:00
Compile.zig std.Build: simplify module dependency handling 2024-12-18 01:47:51 +05:00
ConfigHeader.zig std: update std.builtin.Type fields to follow naming conventions 2024-08-28 08:39:59 +01:00
Fail.zig make zig compiler processes live across rebuilds 2024-07-14 19:51:16 -07:00
Fmt.zig Replace deprecated default initializations with decl literals 2024-09-12 16:01:23 +01:00
InstallArtifact.zig fix various issues related to Path handling in the compiler and std 2024-08-19 19:09:11 +02:00
InstallDir.zig make zig compiler processes live across rebuilds 2024-07-14 19:51:16 -07:00
InstallFile.zig make zig compiler processes live across rebuilds 2024-07-14 19:51:16 -07:00
ObjCopy.zig std.Build: remove deprecated APIs 2024-12-18 01:47:50 +05:00
Options.zig std.Build: remove deprecated APIs 2024-12-18 01:47:50 +05:00
RemoveDir.zig make zig compiler processes live across rebuilds 2024-07-14 19:51:16 -07:00
Run.zig std.Build: simplify module dependency handling 2024-12-18 01:47:51 +05:00
TranslateC.zig std.Build.Step.TranslateC: propagate target, optimize, link_libc to added module 2024-12-18 01:47:51 +05:00
UpdateSourceFiles.zig make zig compiler processes live across rebuilds 2024-07-14 19:51:16 -07:00
WriteFile.zig make zig compiler processes live across rebuilds 2024-07-14 19:51:16 -07:00