diff options
author | Felix Fietkau <nbd@openwrt.org> | 2015-09-24 09:08:52 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2015-09-24 09:08:52 +0000 |
commit | b976097bc6c62cf73c8106b6769ef6ac35403a7d (patch) | |
tree | 8a4e2642f2b9489b3f433aaa454d767ce710a894 /package | |
parent | 896d3e3e135e58636fcabcebf48f2eebf77623e4 (diff) | |
download | upstream-b976097bc6c62cf73c8106b6769ef6ac35403a7d.tar.gz upstream-b976097bc6c62cf73c8106b6769ef6ac35403a7d.tar.bz2 upstream-b976097bc6c62cf73c8106b6769ef6ac35403a7d.zip |
libnl: split libnl into smaller libraries
Some modules may require only libnl-genl, some
libnl-route and fewer would require libnl-nf.
This patch splits the entire libnl package into smaller
more granular libs that can be installed individually as required.
Also added libnl*.so symlinks for convenience.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
SVN-Revision: 47037
Diffstat (limited to 'package')
-rw-r--r-- | package/libs/libnl/Makefile | 101 |
1 files changed, 88 insertions, 13 deletions
diff --git a/package/libs/libnl/Makefile b/package/libs/libnl/Makefile index 995fda207f..857bbe272c 100644 --- a/package/libs/libnl/Makefile +++ b/package/libs/libnl/Makefile @@ -18,16 +18,61 @@ PKG_LICENSE:=LGPL-2.1 include $(INCLUDE_DIR)/package.mk -define Package/libnl +define Package/libnl/default SECTION:=libs CATEGORY:=Libraries - TITLE:=netlink socket library - DEPENDS:=+libpthread URL:=http://people.suug.ch/~tgr/libnl/ endef +define Package/libnl-core +$(call Package/libnl/default) + TITLE:=Core Netlink Library + DEPENDS:=+libpthread +endef + +define Package/libnl-genl +$(call Package/libnl/default) + TITLE:=Generic Netlink Library + DEPENDS:=+libnl-core +endef + +define Package/libnl-route +$(call Package/libnl/default) + TITLE:=Routing Netlink Library + DEPENDS:=+libnl-core +endef + +define Package/libnl-nf +$(call Package/libnl/default) + TITLE:=Netfilter Netlink Library + DEPENDS:=+libnl-route +endef + +define Package/libnl +$(call Package/libnl/default) + TITLE:=Full Netlink Library + DEPENDS:=+libnl-genl +libnl-route +libnl-nf +endef + +define Package/libnl-core/description + Common code for all netlink libraries +endef + +define Package/libnl-genl/description + Generic Netlink Library Functions +endef + +define Package/libnl-route/description + Routing Netlink Library Functions +endef + +define Package/libnl-nf/description + Netfilter Netlink Library Functions +endef + define Package/libnl/description - This package contains a library for applications dealing with netlink sockets + Socket handling, connection management, sending and receiving of data, + message construction and parsing, object caching system, etc. endef TARGET_CFLAGS += -ffunction-sections $(FPIC) @@ -40,18 +85,48 @@ define Build/Compile endef define Build/InstallDev - $(INSTALL_DIR) $(1) - $(CP) $(PKG_INSTALL_DIR)/* $(1)/ - mkdir -p $(1)/usr/include/libnl - $(CP) $(PKG_BUILD_DIR)/include/linux $(1)/usr/include/libnl/ + $(INSTALL_DIR) $(1)/usr/include/libnl $(1)/usr/lib/pkgconfig + $(CP) $(PKG_INSTALL_DIR)/usr/include/libnl3/* $(1)/usr/include/libnl/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc $(1)/usr/lib/pkgconfig + + # Copy symlinks + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-3.so $(1)/usr/lib/libnl.so + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-genl-3.so $(1)/usr/lib/libnl-genl.so + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-nf-3.so $(1)/usr/lib/libnl-nf.so + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-route-3.so $(1)/usr/lib/libnl-route.so endef -define Package/libnl/install +define Package/libnl-core/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-3.so* $(1)/usr/lib/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-3.so $(1)/usr/lib/libnl.so +endef + +define Package/libnl-genl/install $(INSTALL_DIR) $(1)/usr/lib - $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-route-3.so.* $(1)/usr/lib/ - $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-genl-3.so.* $(1)/usr/lib/ - $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-nf-3.so.* $(1)/usr/lib/ - $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-3.so.* $(1)/usr/lib/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-genl-3.so* $(1)/usr/lib/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-genl-3.so $(1)/usr/lib/libnl-genl.so +endef + +define Package/libnl-route/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-route-3.so* $(1)/usr/lib/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-route-3.so $(1)/usr/lib/libnl-route.so +endef + +define Package/libnl-nf/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-nf-3.so* $(1)/usr/lib/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-nf-3.so $(1)/usr/lib/libnl-nf.so +endef + +define Package/libnl/install + : endef +$(eval $(call BuildPackage,libnl-core)) +$(eval $(call BuildPackage,libnl-genl)) +$(eval $(call BuildPackage,libnl-route)) +$(eval $(call BuildPackage,libnl-nf)) $(eval $(call BuildPackage,libnl)) |