aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2020-11-19 13:09:30 +0100
committerAndrew Kelley <andrew@ziglang.org>2020-11-27 15:42:39 -0700
commit12efefeba5a8128e0a79b4b04fad0d538c382e47 (patch)
tree249e902312da17f0c06e100fec6ff1e79536d6ef
parent9e4360c335c543ad4ff80791257eabfc556f3ac1 (diff)
downloadzig-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.zig11
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);