aboutsummaryrefslogtreecommitdiff
path: root/src/Compilation.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2023-11-28 22:47:34 -0700
committerAndrew Kelley <andrew@ziglang.org>2024-01-01 17:51:18 -0700
commitc20ad51c621ba18d2c90cc96d1b550831dc5d7a3 (patch)
tree41786dd2be23e90fb13c3c867ad3881117b09b0f /src/Compilation.zig
parent134e8cf76a6664ebd028fbcbfbd7a1b85ad031f5 (diff)
downloadzig-c20ad51c621ba18d2c90cc96d1b550831dc5d7a3.tar.gz
zig-c20ad51c621ba18d2c90cc96d1b550831dc5d7a3.zip
introduce std.Build.Module and extract some logic into it
This moves many settings from `std.Build.Step.Compile` and into `std.Build.Module`, and then makes them transitive. In other words, it adds support for exposing Zig modules in packages, which are configured in various ways, such as depending on other link objects, include paths, or even a different optimization mode. Now, transitive dependencies will be included in the compilation, so you can, for example, make a Zig module depend on some C source code, and expose that Zig module in a package. Currently, the compiler frontend autogenerates only one `@import("builtin")` module for the entire compilation, however, a future enhancement will be to make it honor the differences in modules, so that modules can be compiled with different optimization modes, code model, valgrind integration, or even target CPU feature set. closes #14719
Diffstat (limited to 'src/Compilation.zig')
0 files changed, 0 insertions, 0 deletions