ipset: size optimizations
[openwrt/openwrt.git] / package / network / utils / ipset / Makefile
index 16ac8c6e52e5151c557a12d42d78a8a978f0daf7..69953c2e2309157b9ac91baf2e07f7a0f8ebce1e 100644 (file)
@@ -1,4 +1,4 @@
+
 # Copyright (C) 2009-2012 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # Copyright (C) 2009-2012 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
@@ -9,14 +9,14 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=ipset
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=ipset
-PKG_VERSION:=6.20.1
-PKG_RELEASE:=1
+PKG_VERSION:=7.1
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=http://ipset.netfilter.org
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=http://ipset.netfilter.org
-PKG_MD5SUM:=8af741492752fbf24d3a28a9d1473d40
+PKG_HASH:=7b5eb3b93205c20cdc39e3fc8b6e5f7bb214bf79a7c0c00729dd4a31ce16adc4
 
 
-PKG_MAINTAINER:=Jo-Philipp Wich <jow@openwrt.org>
+PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
 PKG_LICENSE:=GPL-2.0
 
 PKG_FIXUP:=autoreconf
 PKG_LICENSE:=GPL-2.0
 
 PKG_FIXUP:=autoreconf
@@ -25,11 +25,6 @@ PKG_INSTALL:=1
 include $(INCLUDE_DIR)/package.mk
 
 define Package/ipset/Default
 include $(INCLUDE_DIR)/package.mk
 
 define Package/ipset/Default
-  DEPENDS:= @(!(TARGET_ps3||TARGET_pxcab)||BROKEN)
-endef
-
-define Package/ipset
-$(call Package/ipset/Default)
   SECTION:=net
   CATEGORY:=Network
   DEPENDS+= +kmod-ipt-ipset +libmnl
   SECTION:=net
   CATEGORY:=Network
   DEPENDS+= +kmod-ipt-ipset +libmnl
@@ -37,48 +32,42 @@ $(call Package/ipset/Default)
   URL:=http://ipset.netfilter.org/
 endef
 
   URL:=http://ipset.netfilter.org/
 endef
 
+define Package/ipset
+$(call Package/ipset/Default)
+  DEPENDS+= +libipset
+endef
+
+define Package/libipset
+$(call Package/ipset/Default)
+  ABI_VERSION:=13
+endef
+
 CONFIGURE_ARGS += \
 CONFIGURE_ARGS += \
+       --disable-static \
        --with-kbuild="$(LINUX_DIR)"
 
        --with-kbuild="$(LINUX_DIR)"
 
+TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed
+
 MAKE_FLAGS += \
        ARCH="$(LINUX_KARCH)" \
        SHELL="$(BASH)"
 
 MAKE_FLAGS += \
        ARCH="$(LINUX_KARCH)" \
        SHELL="$(BASH)"
 
-IPSET_MODULES:= \
-       ipset/ip_set \
-       ipset/ip_set_bitmap_ip \
-       ipset/ip_set_bitmap_ipmac \
-       ipset/ip_set_bitmap_port \
-       ipset/ip_set_hash_ip \
-       ipset/ip_set_hash_ipport \
-       ipset/ip_set_hash_ipportip \
-       ipset/ip_set_hash_ipportnet \
-       ipset/ip_set_hash_net \
-       ipset/ip_set_hash_netiface \
-       ipset/ip_set_hash_netport \
-       ipset/ip_set_list_set \
-       xt_set \
-
-define Build/Compile
-       $(call Build/Compile/Default)
-       $(call Build/Compile/Default,modules)
+define Build/InstallDev
+       $(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib $(1)/usr/lib/pkgconfig
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/libipset $(1)/usr/include/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libipset.so* $(1)/usr/lib/
+       $(CP) $(PKG_BUILD_DIR)/lib/libipset.pc $(1)/usr/lib/pkgconfig/
 endef
 
 define Package/ipset/install
        $(INSTALL_DIR) $(1)/usr/sbin
        $(CP) $(PKG_INSTALL_DIR)/usr/sbin/ipset $(1)/usr/sbin/
 endef
 
 define Package/ipset/install
        $(INSTALL_DIR) $(1)/usr/sbin
        $(CP) $(PKG_INSTALL_DIR)/usr/sbin/ipset $(1)/usr/sbin/
-       $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libipset*.so* $(1)/usr/lib/
 endef
 
 endef
 
-define KernelPackage/ipt-ipset
-$(call Package/ipset/Default)
-  SUBMENU:=Netfilter Extensions
-  TITLE:=IPset netfilter modules
-  DEPENDS+= +kmod-ipt-core +kmod-nfnetlink
-  FILES:=$(foreach mod,$(IPSET_MODULES),$(PKG_BUILD_DIR)/kernel/net/netfilter/$(mod).ko)
-  AUTOLOAD:=$(call AutoLoad,49,$(notdir $(IPSET_MODULES)))
+define Package/libipset/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libipset*.so.* $(1)/usr/lib/
 endef
 
 $(eval $(call BuildPackage,ipset))
 endef
 
 $(eval $(call BuildPackage,ipset))
-$(eval $(call KernelPackage,ipt-ipset))
+$(eval $(call BuildPackage,libipset))