ipset: size optimizations
[openwrt/openwrt.git] / package / network / utils / ipset / Makefile
index 273ef9d429ba9f285e8ba80b2a811fe790d73074..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.
@@ -9,14 +9,15 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=ipset
-PKG_VERSION:=6.14
-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_MD5SUM:=70f2d4c054592236dcda285855a4ee58
+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_INSTALL:=1
@@ -24,59 +25,49 @@ PKG_INSTALL:=1
 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+= +iptables-mod-ipset +kmod-ipt-ipset +libmnl
+  DEPENDS+= +kmod-ipt-ipset +libmnl
   TITLE:=IPset administration utility
   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 += \
+       --disable-static \
        --with-kbuild="$(LINUX_DIR)"
 
+TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed
+
 MAKE_FLAGS += \
-       ARCH="$(LINUX_KARCH)"
-
-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)
+       ARCH="$(LINUX_KARCH)" \
+       SHELL="$(BASH)"
+
+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/
-       $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libipset*.so* $(1)/usr/lib/
 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))
-$(eval $(call KernelPackage,ipt-ipset))
+$(eval $(call BuildPackage,libipset))