Reinstated search for if_tun.h in kernel source tree, because apparently
authorGuus Sliepen <guus@tinc-vpn.org>
Thu, 21 Jun 2001 18:28:52 +0000 (18:28 +0000)
committerGuus Sliepen <guus@tinc-vpn.org>
Thu, 21 Jun 2001 18:28:52 +0000 (18:28 +0000)
/usr/include/linux does not always have the same contents as the include
files from the currently running kernel.

m4/tuntap.m4

index 2c1ee35..7da8e46 100644 (file)
@@ -2,12 +2,26 @@ dnl Check to find out whether the running kernel has support for TUN/TAP
 
 AC_DEFUN(tinc_TUNTAP,
 [
+AC_ARG_WITH(kernel,
+  [  --with-kernel=dir       give the directory with kernel sources]
+  [                        (default: /usr/src/linux)],
+  kerneldir="$withval",
+  kerneldir="/usr/src/linux"
+)
+
 AC_CACHE_CHECK([for linux/if_tun.h], tinc_cv_linux_if_tun_h,
-[ AC_TRY_COMPILE([#include <linux/if_tun.h>],
-  [int a = IFF_TAP],
-  if_tun_h="linux/if_tun.h",
-  if_tun_h="no")
-   if test $if_tun_h = no; then
+[ 
+  AC_TRY_COMPILE([#include "$kerneldir/include/linux/if_tun.h"],
+    [int a = IFF_TAP;],
+    if_tun_h="\"$kerneldir/include/linux/if_tun.h\"",
+    [AC_TRY_COMPILE([#include <linux/if_tun.h>],
+      [int a = IFF_TAP;],
+      if_tun_h="<linux/if_tun.h>",
+      if_tun_h="no"
+    )]
+  )
+
+  if test $if_tun_h = no; then
     tinc_cv_linux_if_tun_h=none
   else
     tinc_cv_linux_if_tun_h=$if_tun_h
@@ -16,7 +30,7 @@ AC_CACHE_CHECK([for linux/if_tun.h], tinc_cv_linux_if_tun_h,
 
 if test $tinc_cv_linux_if_tun_h != none; then
   AC_DEFINE(HAVE_TUNTAP)
-  AC_DEFINE_UNQUOTED(LINUX_IF_TUN_H, "$tinc_cv_linux_if_tun_h")
+  AC_DEFINE_UNQUOTED(LINUX_IF_TUN_H, $tinc_cv_linux_if_tun_h)
   AC_SUBST(LINUX_IF_TUN_H)
 fi
 AC_SUBST(HAVE_TUNTAP)