authorgravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2022-12-18 00:33:00+01:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-01-09 15:09:40-07:00
log0420ad0292b78322919a43e43014a728afdbbf3e
tree0f2085d7d83a9d1e5fefa704b029909c5f6c68fc
parent23c09598c734c3668611c4fc81d644acfd5cb1c4

Add missing clang opts: -install_name and -undefined


3 files changed, 36 insertions(+), 2 deletions(-)

src/clang_options_data.zig+16-2
...@@ -3932,7 +3932,14 @@ sepd1("include-pch"),...@@ -3932,7 +3932,14 @@ sepd1("include-pch"),
3932flagpd1("index-header-map"),3932flagpd1("index-header-map"),
3933sepd1("init"),3933sepd1("init"),
3934flagpd1("init-only"),3934flagpd1("init-only"),
3935sepd1("install_name"),3935.{
3936 .name = "install_name",
3937 .syntax = .separate,
3938 .zig_equivalent = .install_name,
3939 .pd1 = true,
3940 .pd2 = false,
3941 .psl = false,
3942},
3936flagpd1("keep_private_externs"),3943flagpd1("keep_private_externs"),
3937sepd1("lazy_framework"),3944sepd1("lazy_framework"),
3938sepd1("lazy_library"),3945sepd1("lazy_library"),
...@@ -6326,7 +6333,14 @@ joinpd1("ftabstop="),...@@ -6326,7 +6333,14 @@ joinpd1("ftabstop="),
6326jspd1("idirafter"),6333jspd1("idirafter"),
6327joinpd1("mregparm="),6334joinpd1("mregparm="),
6328joinpd1("sycl-std="),6335joinpd1("sycl-std="),
6329jspd1("undefined"),6336.{
6337 .name = "undefined",
6338 .syntax = .joined_or_separate,
6339 .zig_equivalent = .undefined,
6340 .pd1 = true,
6341 .pd2 = false,
6342 .psl = false,
6343},
6330.{6344.{
6331 .name = "extdirs=",6345 .name = "extdirs=",
6332 .syntax = .joined,6346 .syntax = .joined,
src/main.zig+12
...@@ -1658,6 +1658,16 @@ fn buildOutputType(...@@ -1658,6 +1658,16 @@ fn buildOutputType(
1658 };1658 };
1659 }1659 }
1660 },1660 },
1661 .install_name => {
1662 install_name = it.only_arg;
1663 },
1664 .undefined => {
1665 if (mem.eql(u8, "dynamic_lookup", it.only_arg)) {
1666 linker_allow_shlib_undefined = true;
1667 } else {
1668 fatal("unsupported -undefined option '{s}'", .{it.only_arg});
1669 }
1670 },
1661 }1671 }
1662 }1672 }
1663 // Parse linker args.1673 // Parse linker args.
...@@ -4719,6 +4729,8 @@ pub const ClangArgIterator = struct {...@@ -4719,6 +4729,8 @@ pub const ClangArgIterator = struct {
4719 weak_framework,4729 weak_framework,
4720 headerpad_max_install_names,4730 headerpad_max_install_names,
4721 compress_debug_sections,4731 compress_debug_sections,
4732 install_name,
4733 undefined,
4722 };4734 };
47234735
4724 const Args = struct {4736 const Args = struct {
tools/update_clang_options.zig+8
...@@ -492,6 +492,14 @@ const known_options = [_]KnownOpt{...@@ -492,6 +492,14 @@ const known_options = [_]KnownOpt{
492 .name = "compress-debug-sections=",492 .name = "compress-debug-sections=",
493 .ident = "compress_debug_sections",493 .ident = "compress_debug_sections",
494 },494 },
495 .{
496 .name = "install_name",
497 .ident = "install_name",
498 },
499 .{
500 .name = "undefined",
501 .ident = "undefined",
502 },
495};503};
496504
497const blacklisted_options = [_][]const u8{};505const blacklisted_options = [_][]const u8{};