summaryrefslogtreecommitdiff
path: root/openwrt
diff options
context:
space:
mode:
Diffstat (limited to 'openwrt')
-rw-r--r--openwrt/package/Config.in1
-rw-r--r--openwrt/package/libpcap/Config.in7
-rw-r--r--openwrt/package/libpcap/Makefile60
-rw-r--r--openwrt/package/libpcap/patches/cross-compile-fix.patch11
4 files changed, 79 insertions, 0 deletions
diff --git a/openwrt/package/Config.in b/openwrt/package/Config.in
index f3d0ea3..ca51d05 100644
--- a/openwrt/package/Config.in
+++ b/openwrt/package/Config.in
@@ -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/openwrt/package/libpcap/Config.in b/openwrt/package/libpcap/Config.in
new file mode 100644
index 0000000..7aa6a5b
--- /dev/null
+++ b/openwrt/package/libpcap/Config.in
@@ -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/openwrt/package/libpcap/Makefile b/openwrt/package/libpcap/Makefile
new file mode 100644
index 0000000..279190c
--- /dev/null
+++ b/openwrt/package/libpcap/Makefile
@@ -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/openwrt/package/libpcap/patches/cross-compile-fix.patch b/openwrt/package/libpcap/patches/cross-compile-fix.patch
new file mode 100644
index 0000000..196ee34
--- /dev/null
+++ b/openwrt/package/libpcap/patches/cross-compile-fix.patch
@@ -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