aboutsummaryrefslogtreecommitdiff
path: root/src/main.zig
diff options
context:
space:
mode:
authorAlex Rønne Petersen <alex@alexrp.com>2025-04-26 15:05:18 +0200
committerGitHub <noreply@github.com>2025-04-26 15:05:18 +0200
commit99a79f98ecfe79fc3d043662448f1a6b44d52c5c (patch)
treeb42e93fbf476261ecac62ec703d015b12ff4611a /src/main.zig
parent573d9aab5e8b5eb21f5dfd21fc92f16985ff7e05 (diff)
parent6a8228603c924f8e091c52b98f8043e02843c358 (diff)
downloadzig-99a79f98ecfe79fc3d043662448f1a6b44d52c5c.tar.gz
zig-99a79f98ecfe79fc3d043662448f1a6b44d52c5c.zip
Merge pull request #23572 from alexrp/zig-cc-static-dynamic
Diffstat (limited to 'src/main.zig')
-rw-r--r--src/main.zig13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/main.zig b/src/main.zig
index 98807cb73c..8899354cd7 100644
--- a/src/main.zig
+++ b/src/main.zig
@@ -2348,6 +2348,16 @@ fn buildOutputType(
fatal("unsupported -rtlib option '{s}'", .{it.only_arg});
}
},
+ .static => {
+ create_module.opts.link_mode = .static;
+ lib_preferred_mode = .static;
+ lib_search_strategy = .no_fallback;
+ },
+ .dynamic => {
+ create_module.opts.link_mode = .dynamic;
+ lib_preferred_mode = .dynamic;
+ lib_search_strategy = .mode_first;
+ },
}
}
// Parse linker args.
@@ -4111,7 +4121,6 @@ fn createModule(
color,
) catch |err| fatal("failed to resolve link inputs: {s}", .{@errorName(err)});
- if (create_module.windows_libs.count() != 0) create_module.opts.any_dyn_libs = true;
if (!create_module.opts.any_dyn_libs) for (create_module.link_inputs.items) |item| switch (item) {
.dso, .dso_exact => {
create_module.opts.any_dyn_libs = true;
@@ -5978,6 +5987,8 @@ pub const ClangArgIterator = struct {
san_cov,
no_san_cov,
rtlib,
+ static,
+ dynamic,
};
const Args = struct {