build: add support for patching libtool to include ABI version in soname
authorFelix Fietkau <nbd@nbd.name>
Mon, 15 Feb 2021 17:46:11 +0000 (18:46 +0100)
committerFelix Fietkau <nbd@nbd.name>
Mon, 15 Feb 2021 17:47:19 +0000 (18:47 +0100)
Use the version from PKG_ABI_VERSION

Signed-off-by: Felix Fietkau <nbd@nbd.name>
include/autotools.mk

index ec67c844f7e1efe27166bd9642e0d714778eb18d..4b48b389925b5ddb4392aa004a3e2e3c69fd82f5 100644 (file)
@@ -62,6 +62,12 @@ define patch_libtool
        );
 endef
 
+define set_libtool_abiver
+       sed -i \
+               -e 's,^soname_spec=.*,soname_spec="\\$$$${libname}\\$$$${shared_ext}.$(PKG_ABI_VERSION)",' \
+               -e 's,^library_names_spec=.*,library_names_spec="\\$$$${libname}\\$$$${shared_ext}.$(PKG_ABI_VERSION) \\$$$${libname}\\$$$${shared_ext}",' \
+               $(PKG_BUILD_DIR)/libtool
+endef
 
 PKG_LIBTOOL_PATHS?=$(CONFIGURE_PATH)
 PKG_AUTOMAKE_PATHS?=$(CONFIGURE_PATH)
@@ -110,6 +116,10 @@ ifneq ($(filter libtool,$(PKG_FIXUP)),)
  endif
 endif
 
+ifneq ($(filter libtool-abiver,$(PKG_FIXUP)),)
+  Hooks/Configure/Post += set_libtool_abiver
+endif
+
 ifneq ($(filter libtool-ucxx,$(PKG_FIXUP)),)
   PKG_BUILD_DEPENDS += libtool gettext libiconv
  ifeq ($(filter no-autoreconf,$(PKG_FIXUP)),)