tcpdump: add a new "mini" build variant which reduces the binary size to 50% by only...
[openwrt/svn-archive/archive.git] / net / tcpdump / Makefile
index befe7401aadaa45ae266c9c57e031629121056dd..040eba63afdf3de94b75e3126af1329357473b03 100644 (file)
@@ -1,15 +1,14 @@
-# 
-# Copyright (C) 2007 OpenWrt.org
+#
+# Copyright (C) 2007-2009 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
 #
-# $Id$
 
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=tcpdump
-PKG_VERSION:=3.9.8
+PKG_VERSION:=4.0.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
@@ -17,14 +16,13 @@ PKG_SOURCE_URL:=http://www.tcpdump.org/release/ \
        http://ftp.gwdg.de/pub/misc/tcpdump/ \
        http://www.at.tcpdump.org/ \
        http://www.br.tcpdump.org/
-PKG_MD5SUM:=c491a78c52fe73f1f7271aa5d8c6ab2e
+PKG_MD5SUM:=b22ca72890df2301d922c9f2d17867f9
 
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
-PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
 
 include $(INCLUDE_DIR)/package.mk
 
-define Package/tcpdump
+define Package/tcpdump/default
   SECTION:=net
   CATEGORY:=Network
   DEPENDS:=+libpcap
@@ -32,27 +30,46 @@ define Package/tcpdump
   URL:=http://www.tcpdump.org/
 endef
 
-define Build/Configure
-       $(call Build/Configure/Default, \
-               --enable-ipv6 \
-               --without-crypto \
-               , \
-               BUILD_CC="$(TARGET_CC)" \
-               HOSTCC="$(HOSTCC)" \
-               td_cv_buggygetaddrinfo="no" \
-       )
+define Package/tcpdump
+  $(Package/tcpdump/default)
+  VARIANT:=full
+endef
+
+define Package/tcpdump-mini
+  $(Package/tcpdump/default)
+  TITLE+= (minimal version)
+  VARIANT:=mini
 endef
 
+CONFIGURE_ARGS += --without-crypto
+
+CONFIGURE_VARS += \
+       BUILD_CC="$(TARGET_CC)" \
+       HOSTCC="$(HOSTCC)" \
+       td_cv_buggygetaddrinfo="no"
+
+ifeq ($(BUILD_VARIANT),mini)
+  TARGET_CFLAGS += -DTCPDUMP_MINI
+  CONFIGURE_ARGS += --disable-smb
+  MAKE_FLAGS := TCPDUMP_MINI=1
+else
+  MAKE_FLAGS :=
+endif
+
 define Build/Compile
        $(MAKE) -C $(PKG_BUILD_DIR) \
-               CCOPT="$(TARGET_CFLAGS)" INCLS="-I. -I$(STAGING_DIR)/usr/include" \
+               CCOPT="$(TARGET_CFLAGS)" INCLS="-I. $(TARGET_CPPFLAGS)" \
                DESTDIR="$(PKG_INSTALL_DIR)" \
+               $(MAKE_FLAGS) \
                all install
 endef
 
 define Package/tcpdump/install
        $(INSTALL_DIR) $(1)/usr/sbin
-       $(CP) $(PKG_INSTALL_DIR)/usr/sbin/tcpdump $(1)/usr/sbin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/tcpdump $(1)/usr/sbin/
 endef
 
+Package/tcpdump-mini/install = $(Package/tcpdump/install)
+
 $(eval $(call BuildPackage,tcpdump))
+$(eval $(call BuildPackage,tcpdump-mini))