diff options
| author | Jakub Konka <kubkon@jakubkonka.com> | 2020-11-19 13:09:30 +0100 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2020-11-27 15:42:39 -0700 |
| commit | 12efefeba5a8128e0a79b4b04fad0d538c382e47 (patch) | |
| tree | 249e902312da17f0c06e100fec6ff1e79536d6ef | |
| parent | 9e4360c335c543ad4ff80791257eabfc556f3ac1 (diff) | |
| download | zig-12efefeba5a8128e0a79b4b04fad0d538c382e47.tar.gz zig-12efefeba5a8128e0a79b4b04fad0d538c382e47.zip | |
stage2 elf: make -soname an opt-in and not opt-out
As discussed with LemonBoy, it makes more sense to have the `-soname`
an opt-in option rather than opt-out, which is especially true if
we are to align `zig cc` with `cc` to a greater degree.
| -rw-r--r-- | src/link/Elf.zig | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/link/Elf.zig b/src/link/Elf.zig index 9747eced41..dbd41bc4d6 100644 --- a/src/link/Elf.zig +++ b/src/link/Elf.zig @@ -1512,13 +1512,10 @@ fn linkWithLLD(self: *Elf, comp: *Compilation) !void { } if (is_dyn_lib) { - const soname = self.base.options.override_soname orelse if (self.base.options.version) |ver| - try std.fmt.allocPrint(arena, "lib{}.so.{}", .{ self.base.options.root_name, ver.major }) - else - try std.fmt.allocPrint(arena, "lib{}.so", .{self.base.options.root_name}); - try argv.append("-soname"); - try argv.append(soname); - + if (self.base.options.override_soname) |soname| { + try argv.append("-soname"); + try argv.append(soname); + } if (self.base.options.version_script) |version_script| { try argv.append("-version-script"); try argv.append(version_script); |
