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
This commit is contained in:
		| @@ -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-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-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 | ||||
| 	$(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/ | ||||
| 	: | ||||
| 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)) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Felix Fietkau
					Felix Fietkau