aboutsummaryrefslogtreecommitdiff
path: root/test/src/StackTrace.zig
diff options
context:
space:
mode:
authormlugg <mlugg@mlugg.co.uk>2024-12-11 19:03:32 +0000
committerEric Joldasov <bratishkaerik@landless-city.net>2024-12-18 01:47:51 +0500
commit0bb93ca053f9520a396a652e929d2cc6358ec5be (patch)
tree66dda984696ea9f46dee15c0be4af0cd17e70d66 /test/src/StackTrace.zig
parentb83b161f4b2102e8f10ab84f1c99def352554dd2 (diff)
downloadzig-0bb93ca053f9520a396a652e929d2cc6358ec5be.tar.gz
zig-0bb93ca053f9520a396a652e929d2cc6358ec5be.zip
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.
Diffstat (limited to 'test/src/StackTrace.zig')
0 files changed, 0 insertions, 0 deletions