aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2022-12-18 00:33:00 +0100
committerJakub Konka <kubkon@jakubkonka.com>2022-12-18 15:52:51 +0100
commite9e804edc899d8392c9f93a19b92be603c26df79 (patch)
treef49ff308e79dce3c825bdd2cba675dbc9aca0aaa /src
parent11a81e1b29ecefd7aad2ebe951743c44272e1817 (diff)
downloadzig-e9e804edc899d8392c9f93a19b92be603c26df79.tar.gz
zig-e9e804edc899d8392c9f93a19b92be603c26df79.zip
Add missing clang opts: -install_name and -undefined
Diffstat (limited to 'src')
-rw-r--r--src/clang_options_data.zig18
-rw-r--r--src/main.zig12
2 files changed, 28 insertions, 2 deletions
diff --git a/src/clang_options_data.zig b/src/clang_options_data.zig
index 995ef353fa..6db3489a47 100644
--- a/src/clang_options_data.zig
+++ b/src/clang_options_data.zig
@@ -3932,7 +3932,14 @@ sepd1("include-pch"),
flagpd1("index-header-map"),
sepd1("init"),
flagpd1("init-only"),
-sepd1("install_name"),
+.{
+ .name = "install_name",
+ .syntax = .separate,
+ .zig_equivalent = .install_name,
+ .pd1 = true,
+ .pd2 = false,
+ .psl = false,
+},
flagpd1("keep_private_externs"),
sepd1("lazy_framework"),
sepd1("lazy_library"),
@@ -6326,7 +6333,14 @@ joinpd1("ftabstop="),
jspd1("idirafter"),
joinpd1("mregparm="),
joinpd1("sycl-std="),
-jspd1("undefined"),
+.{
+ .name = "undefined",
+ .syntax = .joined_or_separate,
+ .zig_equivalent = .undefined,
+ .pd1 = true,
+ .pd2 = false,
+ .psl = false,
+},
.{
.name = "extdirs=",
.syntax = .joined,
diff --git a/src/main.zig b/src/main.zig
index f602470a45..ec0eb74e93 100644
--- a/src/main.zig
+++ b/src/main.zig
@@ -1697,6 +1697,16 @@ fn buildOutputType(
};
}
},
+ .install_name => {
+ install_name = it.only_arg;
+ },
+ .undefined => {
+ if (mem.eql(u8, "dynamic_lookup", it.only_arg)) {
+ linker_allow_shlib_undefined = true;
+ } else {
+ fatal("unsupported -undefined option '{s}'", .{it.only_arg});
+ }
+ },
}
}
// Parse linker args.
@@ -4791,6 +4801,8 @@ pub const ClangArgIterator = struct {
weak_framework,
headerpad_max_install_names,
compress_debug_sections,
+ install_name,
+ undefined,
};
const Args = struct {