]> The Tcpdump Group git mirrors - libpcap/commitdiff
It appears that, at least with the 2.6.27.5 kernel (and maybe the 2.6.27
authorguy <guy>
Sun, 14 Dec 2008 20:18:11 +0000 (20:18 +0000)
committerguy <guy>
Sun, 14 Dec 2008 20:18:11 +0000 (20:18 +0000)
kernel in general), <linux/wireless.h> includes <net/if.h> and you get
multiple-definition errors if you include <net/if.h> before it.  When
checking for linux/wireless.h, try first without net/if.h and then with
net/if.h.

configure
configure.in

index dabf74c7e68883d88b715ccc8ab02951767929db..93e8c2af579117e72bda8d9f28f72392c98b1933 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.in Revision: 1.138.2.26 .
+# From configure.in Revision: 1.138.2.27 .
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.61.
 #
@@ -6602,6 +6602,70 @@ echo "$as_me: error: cannot determine linux version when cross-compiling" >&2;}
 echo "$as_me: error: version 2 or higher required; see the INSTALL doc for more info" >&2;}
    { (exit 1); exit 1; }; }
        fi
+       #
+       # First try configuring without <net/if.h>, and then try with
+       # <net/if.h>; in some kernel versions, linux/wireless.h includes
+       # net/if.h, and in other versions, it doesn't.
+       #
+
+for ac_header in linux/wireless.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#include <sys/socket.h>
+#include <linux/types.h>
+
+
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  eval "$as_ac_Header=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       eval "$as_ac_Header=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+else
+
 
 for ac_header in linux/wireless.h
 do
@@ -6660,6 +6724,11 @@ if test `eval echo '${'$as_ac_Header'}'` = yes; then
 #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
 
+fi
+
+done
+
+
 fi
 
 done
index 08c7adaebfd982305869dc1d30d61d66192cc8f4..3ef0abf179b722834aac37f35a64dadf61b5ff9b 100644 (file)
@@ -1,4 +1,4 @@
-dnl @(#) $Header: /tcpdump/master/libpcap/configure.in,v 1.138.2.26 2008-11-19 11:15:22 guy Exp $ (LBL)
+dnl @(#) $Header: /tcpdump/master/libpcap/configure.in,v 1.138.2.27 2008-12-14 20:18:11 guy Exp $ (LBL)
 dnl
 dnl Copyright (c) 1994, 1995, 1996, 1997
 dnl    The Regents of the University of California.  All rights reserved.
@@ -6,7 +6,7 @@ dnl
 dnl Process this file with autoconf to produce a configure script.
 dnl
 
-AC_REVISION($Revision: 1.138.2.26 $)
+AC_REVISION($Revision: 1.138.2.27 $)
 AC_PREREQ(2.50)
 AC_INIT(pcap.c)
 
@@ -357,10 +357,22 @@ linux)
        if test $ac_cv_linux_vers -lt 2 ; then
                AC_MSG_ERROR(version 2 or higher required; see the INSTALL doc for more info)
        fi
-       AC_CHECK_HEADERS(linux/wireless.h, [], [],
+       #
+       # First try configuring without <net/if.h>, and then try with
+       # <net/if.h>; in some kernel versions, linux/wireless.h includes
+       # net/if.h, and in other versions, it doesn't.
+       #
+       AC_CHECK_HEADERS(linux/wireless.h, [],
        [
+               AC_CHECK_HEADERS(linux/wireless.h, [], [],
+               [
 #include <sys/socket.h>
 #include <net/if.h>
+#include <linux/types.h>
+               ])
+       ],
+       [
+#include <sys/socket.h>
 #include <linux/types.h>
        ])
        AC_LBL_TPACKET_STATS