mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-04 06:54:27 -05:00 
			
		
		
		
	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:
		
							parent
							
								
									896d3e3e13
								
							
						
					
					
						commit
						b976097bc6
					
				@ -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))
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user