summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Korsgaard <jacmet@sunsite.dk>2009-12-09 14:00:55 +0100
committerPeter Korsgaard <jacmet@sunsite.dk>2009-12-09 14:00:55 +0100
commit28ccc22ffd3d2fa8844f4572e14e32875c4ccd49 (patch)
tree390502228da8295ffaa2a045b3e551065f42bc6d
parentb7ed169692dca7a1bc423e982d37f015fc998943 (diff)
libpcap: fix wireless handling
Based on ba23aa7b in libpcap upstream. linux/wireless.h includes linux/if.h, which conflicts with net/if.h as they both define if* structures. Fix build by simply using linux/if.h instead of net/if.h. The same fix should be done for the configure script, but cheat by presetting it instead. This fix in turn fixes kismet build with BR2_CONFIG_CACHE enabled, as that uses the same ac_cv_linux_wireless_h cache value. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
-rw-r--r--package/libpcap/libpcap-1.0.0-wireless.patch26
-rw-r--r--package/libpcap/libpcap.mk3
2 files changed, 28 insertions, 1 deletions
diff --git a/package/libpcap/libpcap-1.0.0-wireless.patch b/package/libpcap/libpcap-1.0.0-wireless.patch
new file mode 100644
index 000000000..7bcfcdad0
--- /dev/null
+++ b/package/libpcap/libpcap-1.0.0-wireless.patch
@@ -0,0 +1,26 @@
+[PATCH]: pcap-linux: fix build with wireless support
+
+Based on ba23aa7b upstream.
+
+linux/wireless.h includes linux/if.h, which conflicts with net/if.h as
+they both define if* structures. Fix build by simply using linux/if.h
+instead of net/if.h.
+
+Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
+---
+ pcap-linux.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: libpcap-1.0.0/pcap-linux.c
+===================================================================
+--- libpcap-1.0.0.orig/pcap-linux.c
++++ libpcap-1.0.0/pcap-linux.c
+@@ -93,7 +93,7 @@ static const char rcsid[] _U_ =
+ #include <sys/ioctl.h>
+ #include <sys/utsname.h>
+ #include <sys/mman.h>
+-#include <net/if.h>
++#include <linux/if.h>
+ #include <netinet/in.h>
+ #include <linux/if_ether.h>
+ #include <net/if_arp.h>
diff --git a/package/libpcap/libpcap.mk b/package/libpcap/libpcap.mk
index dc72924e9..801b15e08 100644
--- a/package/libpcap/libpcap.mk
+++ b/package/libpcap/libpcap.mk
@@ -14,7 +14,8 @@ LIBPCAP_INSTALL_TARGET_OPT= DESTDIR="$(TARGET_DIR)" \
LIBPCAP_INSTALL_STAGING_OPT= DESTDIR="$(STAGING_DIR)" install \
$(if $(BR2_PREFER_STATIC_LIB),,install-shared)
LIBPCAP_DEPENDENCIES:=zlib
-LIBPCAP_CONF_ENV:=ac_cv_linux_vers=$(firstword $(subst .,$(space),$(firstword $(call qstrip,$(BR2_DEFAULT_KERNEL_HEADERS)))))
+LIBPCAP_CONF_ENV:=ac_cv_linux_vers=$(firstword $(subst .,$(space),$(firstword $(call qstrip,$(BR2_DEFAULT_KERNEL_HEADERS))))) \
+ ac_cv_header_linux_wireless_h=yes # configure misdetects this
LIBPCAP_CONF_OPT:=--disable-yydebug --with-pcap=linux
$(eval $(call AUTOTARGETS,package,libpcap))