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 | include $(INCLUDE_DIR)/package.mk | ||||||
|  |  | ||||||
| define Package/libnl | define Package/libnl/default | ||||||
|   SECTION:=libs |   SECTION:=libs | ||||||
|   CATEGORY:=Libraries |   CATEGORY:=Libraries | ||||||
|   TITLE:=netlink socket library |  | ||||||
|   DEPENDS:=+libpthread |  | ||||||
|   URL:=http://people.suug.ch/~tgr/libnl/ |   URL:=http://people.suug.ch/~tgr/libnl/ | ||||||
| endef | 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 | 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 | endef | ||||||
|  |  | ||||||
| TARGET_CFLAGS += -ffunction-sections $(FPIC) | TARGET_CFLAGS += -ffunction-sections $(FPIC) | ||||||
| @@ -40,18 +85,48 @@ define Build/Compile | |||||||
| endef | endef | ||||||
|  |  | ||||||
| define Build/InstallDev | define Build/InstallDev | ||||||
| 	$(INSTALL_DIR) $(1) | 	$(INSTALL_DIR) $(1)/usr/include/libnl $(1)/usr/lib/pkgconfig | ||||||
| 	$(CP) $(PKG_INSTALL_DIR)/* $(1)/ | 	$(CP) $(PKG_INSTALL_DIR)/usr/include/libnl3/* $(1)/usr/include/libnl/ | ||||||
| 	mkdir -p $(1)/usr/include/libnl | 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib | ||||||
| 	$(CP) $(PKG_BUILD_DIR)/include/linux $(1)/usr/include/libnl/ | 	$(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 | endef | ||||||
|  |  | ||||||
| define Package/libnl/install | 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 | 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)) | $(eval $(call BuildPackage,libnl)) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Felix Fietkau
					Felix Fietkau