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>
This commit is contained in:
Peter Korsgaard 2009-12-09 14:00:55 +01:00
parent b7ed169692
commit 28ccc22ffd
2 changed files with 28 additions and 1 deletions

View File

@ -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>

View File

@ -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))