add libpcap
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 7 Mar 2005 16:08:45 +0000 (16:08 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 7 Mar 2005 16:08:45 +0000 (16:08 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@338 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/Config.in
package/libpcap/Config.in [new file with mode: 0644]
package/libpcap/Makefile [new file with mode: 0644]
package/libpcap/patches/cross-compile-fix.patch [new file with mode: 0644]

index f3d0ea3..ca51d05 100644 (file)
@@ -23,6 +23,7 @@ source "package/pptpd/Config.in"
 
 comment "Libraries"
 source "package/zlib/Config.in"
+source "package/libpcap/Config.in"
 source "package/libelf/Config.in"
 source "package/matrixssl/Config.in"
 source "package/lzo/Config.in"
diff --git a/package/libpcap/Config.in b/package/libpcap/Config.in
new file mode 100644 (file)
index 0000000..7aa6a5b
--- /dev/null
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_LIBPCAP
+       bool "libpcap"
+       default n
+       help
+         A system-independent library for user-level network packet capture.
+
+         http://www.tcpdump.org/
diff --git a/package/libpcap/Makefile b/package/libpcap/Makefile
new file mode 100644 (file)
index 0000000..279190c
--- /dev/null
@@ -0,0 +1,60 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME := libpcap
+PKG_VERSION := 0.8.3
+PKG_RELEASE := 1
+
+PKG_SOURCE_SITE := http://www.tcpdump.org/release
+PKG_SOURCE_FILE := $(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_CAT := zcat
+PKG_SOURCE_DIR := $(PKG_NAME)-$(PKG_VERSION)
+PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_SOURCE_DIR)
+
+
+$(DL_DIR)/$(PKG_SOURCE_FILE):
+       mkdir -p $(DL_DIR)
+       $(WGET) -P $(DL_DIR) $(PKG_SOURCE_SITE)/$(PKG_SOURCE_FILE)
+
+$(PKG_BUILD_DIR)/.patched: $(DL_DIR)/$(PKG_SOURCE_FILE)
+       mkdir -p $(TOOL_BUILD_DIR)
+       $(PKG_SOURCE_CAT) $(DL_DIR)/$(PKG_SOURCE_FILE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+       $(PATCH) $(PKG_BUILD_DIR) . ./patches
+       touch $(PKG_BUILD_DIR)/.patched
+
+$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.patched
+       (cd $(PKG_BUILD_DIR); rm -rf config.cache; \
+               ac_cv_linux_vers=$(BR2_DEFAULT_KERNEL_HEADERS) \
+               BUILD_CC=$(TARGET_CC) HOSTCC=$(HOSTCC) \
+               $(TARGET_CONFIGURE_OPTS) \
+               CFLAGS="$(TARGET_CFLAGS)" \
+               ./configure \
+               --target=$(GNU_TARGET_NAME) \
+               --host=$(GNU_TARGET_NAME) \
+               --build=$(GNU_HOST_NAME) \
+               --with-build-cc=$(HOSTCC) \
+               --disable-yydebug \
+               --prefix=/usr \
+               --with-pcap=linux \
+       );
+       touch $(PKG_BUILD_DIR)/.configured
+
+$(PKG_BUILD_DIR)/libpcap.a: $(PKG_BUILD_DIR)/.configured
+       $(MAKE) AR="$(TARGET_CROSS)ar" -C $(PKG_BUILD_DIR)
+
+$(STAGING_DIR)/lib/libpcap.a: $(PKG_BUILD_DIR)/libpcap.a
+       $(MAKE) -C $(PKG_BUILD_DIR) \
+               prefix=$(STAGING_DIR) \
+               exec_prefix=$(STAGING_DIR) \
+               bindir=$(STAGING_DIR)/bin \
+               datadir=$(STAGING_DIR)/share \
+               install
+
+source: $(DL_DIR)/$(PKG_SOURCE_FILE)
+prepare: $(PKG_BUILD_DIR)/.patched
+compile: $(STAGING_DIR)/lib/libpcap.a
+install:
+
+clean:
+       rm -rf $(PKG_BUILD_DIR)
+       rm -f $(STAGING_DIR)/lib/libpcap*
+
diff --git a/package/libpcap/patches/cross-compile-fix.patch b/package/libpcap/patches/cross-compile-fix.patch
new file mode 100644 (file)
index 0000000..196ee34
--- /dev/null
@@ -0,0 +1,11 @@
+--- libpcap-0.8.3/Makefile.in.orig     2005-01-17 19:04:41.291056960 -0500
++++ libpcap-0.8.3/Makefile.in  2005-01-17 19:04:47.836061968 -0500
+@@ -100,7 +100,7 @@
+ libpcap.a: $(OBJ)
+       @rm -f $@
+-      ar rc $@ $(OBJ) $(LIBS)
++      $(AR) rc $@ $(OBJ) $(LIBS)
+       $(RANLIB) $@
+ scanner.c: $(srcdir)/scanner.l