From 4abcf238a08aa1155e13d00fa32decaedaef1894 Mon Sep 17 00:00:00 2001 From: "Justin C. Miller" Date: Tue, 13 Feb 2024 22:33:51 -0800 Subject: [PATCH] [bonnibel] Add SONAME to shared objects Add -soname to the linker options when making shared libraries, so that they have a SONAME string in their DYNAMIC section. --- assets/build/rules.ninja | 2 +- scripts/bonnibel/module.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/assets/build/rules.ninja b/assets/build/rules.ninja index 09a5b6c..0962d3d 100644 --- a/assets/build/rules.ninja +++ b/assets/build/rules.ninja @@ -47,7 +47,7 @@ rule driver description = Linking driver [$target]:$name rule lib - command = $ld -shared $ldflags -o $out $in $libs + command = $ld -shared -soname $soname $ldflags -o $out $in $libs description = Linking [$target]:$name rule lib_static diff --git a/scripts/bonnibel/module.py b/scripts/bonnibel/module.py index e699276..8070d47 100644 --- a/scripts/bonnibel/module.py +++ b/scripts/bonnibel/module.py @@ -298,7 +298,8 @@ class Module: inputs = inputs, implicit = modopts.implicit, order_only = modopts.order_only, - variables = {"name": self.name}, + variables = {"name": self.name, + "soname": self.get_output()}, ) dump = output + ".dump"