| author | |
| committer | |
| log | a502c160cd51ce3de80b3be945245b7a91967a85 |
| tree | 3da5d0105e43b3f92906ef02261afee449840c82 |
| parent | 27d07c6c4de36af1186392d4bec321825403860e |
fix drivers: zig {cc,c++}
- `-dynamiclib` is an alias to `-shared`
- associate `-dynamiclib` with zig `.shared` semantics
fix drivers: zig {cc,c++,build-lib,build-exe}
- use `-dynamic` for {exe,dylib}
- for dylib this fixes a regression
- for exe this replaces incorrect use of `-static`3 files changed, 13 insertions(+), 4 deletions(-)
src/clang_options_data.zig+8-1| ... | @@ -2426,7 +2426,14 @@ flagpd1("dwarf-ext-refs"), | ... | @@ -2426,7 +2426,14 @@ flagpd1("dwarf-ext-refs"), |
| 2426 | sepd1("dylib_file"), | 2426 | sepd1("dylib_file"), |
| 2427 | flagpd1("dylinker"), | 2427 | flagpd1("dylinker"), |
| 2428 | flagpd1("dynamic"), | 2428 | flagpd1("dynamic"), |
| 2429 | flagpd1("dynamiclib"), | 2429 | .{ |
| 2430 | .name = "dynamiclib", | ||
| 2431 | .syntax = .flag, | ||
| 2432 | .zig_equivalent = .shared, | ||
| 2433 | .pd1 = true, | ||
| 2434 | .pd2 = false, | ||
| 2435 | .psl = false, | ||
| 2436 | }, | ||
| 2430 | flagpd1("emit-ast"), | 2437 | flagpd1("emit-ast"), |
| 2431 | flagpd1("emit-codegen-only"), | 2438 | flagpd1("emit-codegen-only"), |
| 2432 | flagpd1("emit-header-module"), | 2439 | flagpd1("emit-header-module"), |
src/link/MachO.zig+1-3| ... | @@ -644,9 +644,7 @@ fn linkWithLLD(self: *MachO, comp: *Compilation) !void { | ... | @@ -644,9 +644,7 @@ fn linkWithLLD(self: *MachO, comp: *Compilation) !void { |
| 644 | try argv.append("defs"); | 644 | try argv.append("defs"); |
| 645 | } | 645 | } |
| 646 | 646 | ||
| 647 | if (is_dyn_lib) { | 647 | if (is_exe_or_dyn_lib) { |
| 648 | try argv.append("-static"); | ||
| 649 | } else { | ||
| 650 | try argv.append("-dynamic"); | 648 | try argv.append("-dynamic"); |
| 651 | } | 649 | } |
| 652 | 650 |
tools/update_clang_options.zig+4| ... | @@ -332,6 +332,10 @@ const known_options = [_]KnownOpt{ | ... | @@ -332,6 +332,10 @@ const known_options = [_]KnownOpt{ |
| 332 | .name = "s", | 332 | .name = "s", |
| 333 | .ident = "strip", | 333 | .ident = "strip", |
| 334 | }, | 334 | }, |
| 335 | .{ | ||
| 336 | .name = "dynamiclib", | ||
| 337 | .ident = "shared", | ||
| 338 | }, | ||
| 335 | }; | 339 | }; |
| 336 | 340 | ||
| 337 | const blacklisted_options = [_][]const u8{}; | 341 | const blacklisted_options = [_][]const u8{}; |