commit 4f9345d20b3b95a1ccfe894bddd8ba5879c10c31 (tree)
parent b120c819dbd15b23cf5392a5d5bdd8d8af18ead0
Author: Andrew Kelley <andrew@ziglang.org>
Date: Tue, 18 Oct 2022 14:08:15 -0700
Revert "adding `static` and `dynamic` ZigEquivalent
enums so that we can branch to set `link_mode` properly when we iterate
over the clang arguments. also replaced `dynamic` flag in
clang_options_data.zig with proper definition similarly to `static`."
This reverts commit 6af0eeb58d1d220d407ce4c463eaeb25b35f2761.
This change needs more careful consideration. It regressed
zig-bootstrap due to cmake passing `-static -lkernel32` and zig failing
with error.UnableToStaticLink.
See https://github.com/ziglang/zig-bootstrap/issues/134
Diffstat:
3 files changed, 3 insertions(+), 22 deletions(-)
diff --git a/src/clang_options_data.zig b/src/clang_options_data.zig
@@ -2480,14 +2480,7 @@ flagpd1("dwarf-ext-refs"),
},
sepd1("dylib_file"),
flagpd1("dylinker"),
-.{
- .name = "dynamic",
- .syntax = .flag,
- .zig_equivalent = .dynamic,
- .pd1 = true,
- .pd2 = false,
- .psl = false,
-},
+flagpd1("dynamic"),
.{
.name = "dynamiclib",
.syntax = .flag,
@@ -5041,7 +5034,7 @@ sepd1("stack-usage-file"),
.{
.name = "static",
.syntax = .flag,
- .zig_equivalent = .static,
+ .zig_equivalent = .other,
.pd1 = true,
.pd2 = true,
.psl = false,
diff --git a/src/main.zig b/src/main.zig
@@ -1653,8 +1653,6 @@ fn buildOutputType(
};
}
},
- .dynamic => link_mode = .Dynamic,
- .static => link_mode = .Static,
}
}
// Parse linker args.
@@ -4687,8 +4685,6 @@ pub const ClangArgIterator = struct {
weak_framework,
headerpad_max_install_names,
compress_debug_sections,
- dynamic,
- static,
};
const Args = struct {
diff --git a/tools/update_clang_options.zig b/tools/update_clang_options.zig
@@ -492,14 +492,6 @@ const known_options = [_]KnownOpt{
.name = "compress-debug-sections=",
.ident = "compress_debug_sections",
},
- .{
- .name = "dynamic",
- .ident = "dynamic",
- },
- .{
- .name = "static",
- .ident = "static",
- },
};
const blacklisted_options = [_][]const u8{};
@@ -806,7 +798,7 @@ fn objSyntax(obj: *json.ObjectMap) ?Syntax {
} else if (std.mem.eql(u8, superclass, "CLRemainingArgsJoined")) {
return .remaining_args_joined;
} else if (std.mem.eql(u8, superclass, "MultiArg")) {
- return Syntax{ .multi_arg = num_args };
+ return .{ .multi_arg = num_args };
}
}
const name = obj.get("Name").?.String;