tcpdump: add a new "mini" build variant which reduces the binary size to 50% by only keeping a set of more common protocol handlers

git-svn-id: svn://svn.openwrt.org/openwrt/packages@18466 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
nbd
2009-11-22 07:14:47 +00:00
parent 8acbe5fbf1
commit c049702ac2
2 changed files with 756 additions and 9 deletions

View File

@ -18,9 +18,11 @@ PKG_SOURCE_URL:=http://www.tcpdump.org/release/ \
http://www.br.tcpdump.org/
PKG_MD5SUM:=b22ca72890df2301d922c9f2d17867f9
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
@ -28,20 +30,37 @@ define Package/tcpdump
URL:=http://www.tcpdump.org/
endef
define Build/Configure
$(call Build/Configure/Default, \
--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. $(TARGET_CPPFLAGS)" \
DESTDIR="$(PKG_INSTALL_DIR)" \
$(MAKE_FLAGS) \
all install
endef
@ -50,4 +69,7 @@ define Package/tcpdump/install
$(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))