Add a support for setting of new `ABIVERSION` CMake define which allows
to control the SOVERSION used for the built shared library. This is
needed for downstream packaging to properly track breaking ABI changes
when updating to newer versions of the library.

Signed-off-by: Felix Fietkau <n...@nbd.name>
Signed-off-by: Petr Štetiar <yn...@true.cz> [backport]
(backported from commit 8edb1797d55d259c6eda18c89784f152328436fc)
Signed-off-by: Petr Štetiar <yn...@true.cz>
---
 package/system/ubus/Makefile | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/package/system/ubus/Makefile b/package/system/ubus/Makefile
index d3fe45225228..5e3bbd120dc6 100644
--- a/package/system/ubus/Makefile
+++ b/package/system/ubus/Makefile
@@ -8,6 +8,7 @@ PKG_SOURCE_URL=$(PROJECT_GIT)/project/ubus.git
 PKG_SOURCE_DATE:=2019-12-27
 PKG_SOURCE_VERSION:=041c9d1c052bb4936fd03240f7d0dd64aedda972
 
PKG_MIRROR_HASH:=7febbe78dd178d8d7ccacff54c00fb2d19a53624005920db8cd85236f54f8324
+PKG_ABI_VERSION:=20191227
 CMAKE_INSTALL:=1
 
 PKG_LICENSE:=LGPL-2.1
@@ -36,7 +37,7 @@ define Package/libubus
   SECTION:=libs
   CATEGORY:=Libraries
   DEPENDS:=+libubox
-  ABI_VERSION:=20191227
+  ABI_VERSION:=$(PKG_ABI_VERSION)
   TITLE:=OpenWrt RPC client library
 endef
 
@@ -51,7 +52,8 @@ TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include -flto
 TARGET_LDFLAGS += -flto
 
 CMAKE_OPTIONS = \
-       -DLUAPATH=/usr/lib/lua
+       -DLUAPATH=/usr/lib/lua \
+       -DABIVERSION="$(PKG_ABI_VERSION)"
 
 define Package/ubus/install
        $(INSTALL_DIR) $(1)/bin
@@ -65,7 +67,7 @@ endef
 
 define Package/libubus/install
        $(INSTALL_DIR) $(1)/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so $(1)/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libubus.so.* $(1)/lib/
 endef
 
 define Package/libubus-lua/install

_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to