diff --git a/src/clang_options_data.zig b/src/clang_options_data.zig index b1cb6c258c..d0f00625b7 100644 --- a/src/clang_options_data.zig +++ b/src/clang_options_data.zig @@ -2426,7 +2426,14 @@ flagpd1("dwarf-ext-refs"), sepd1("dylib_file"), flagpd1("dylinker"), flagpd1("dynamic"), -flagpd1("dynamiclib"), +.{ + .name = "dynamiclib", + .syntax = .flag, + .zig_equivalent = .shared, + .pd1 = true, + .pd2 = false, + .psl = false, +}, flagpd1("emit-ast"), flagpd1("emit-codegen-only"), flagpd1("emit-header-module"), diff --git a/src/link/MachO.zig b/src/link/MachO.zig index fe8fcd6281..52d434da2f 100644 --- a/src/link/MachO.zig +++ b/src/link/MachO.zig @@ -644,9 +644,7 @@ fn linkWithLLD(self: *MachO, comp: *Compilation) !void { try argv.append("defs"); } - if (is_dyn_lib) { - try argv.append("-static"); - } else { + if (is_exe_or_dyn_lib) { try argv.append("-dynamic"); } diff --git a/tools/update_clang_options.zig b/tools/update_clang_options.zig index f0dfe1639d..8c3eddf7cf 100644 --- a/tools/update_clang_options.zig +++ b/tools/update_clang_options.zig @@ -332,6 +332,10 @@ const known_options = [_]KnownOpt{ .name = "s", .ident = "strip", }, + .{ + .name = "dynamiclib", + .ident = "shared", + }, }; const blacklisted_options = [_][]const u8{};