Remove autogen.sh, the autoreconf program does exactly that.
[oweals/tinc.git] / m4 / tuntap.m4
index 585b41f3cfb495aa6eb63b086f18f7331296edcd..8c14a9bcb179f8339bfd1de42461c9966015fedb 100644 (file)
@@ -1,37 +1,44 @@
 dnl Check to find out whether the running kernel has support for TUN/TAP
 
-AC_DEFUN(tinc_TUNTAP,
+AC_DEFUN([tinc_TUNTAP],
 [
-dnl Check for directory with kernel source... (from ALSA)
-AC_CACHE_CHECK([for directory with kernel source], tinc_cv_kerneldir,
-[ AC_ARG_WITH(kernel,
-    [  --with-kernel=dir       give the directory with kernel sources]
-    [                        (default: /usr/src/linux)],
-    kerneldir="$withval", kerneldir="/usr/src/linux")
-  AC_DEFINE_UNQUOTED(CONFIG_TINC_KERNELDIR, "$kerneldir")
-  CONFIG_TINC_KERNELDIR="$kerneldir"
-  AC_SUBST(CONFIG_TINC_KERNELDIR)
-  AC_MSG_RESULT($kerneldir)
-])
-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",
-    if_tun_h="no")
-  fi
-  if test $if_tun_h = no; then
-    AC_MSG_RESULT(none)
-  else
-    AC_DEFINE(HAVE_TUNTAP)
-    AC_DEFINE_UNQUOTED(LINUX_IF_TUN_H, "$if_tun_h")
-    AC_SUBST(LINUX_IF_TUN_H)
-    AC_MSG_RESULT($if_tun_h)
+  AC_ARG_WITH(kernel,
+    AS_HELP_STRING([--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_COMPILE_IFELSE(
+      AC_LANG_PROGRAM([
+        #include "$kerneldir/include/linux/if_tun.h"
+       int a = IFF_TAP;
+      ]),
+      [if_tun_h="\"$kerneldir/include/linux/if_tun.h\""],
+      [AC_COMPILE_IFELSE(
+        AC_LANG_PROGRAM([
+         #include <linux/if_tun.h>
+          int a = IFF_TAP;
+       ]),
+        [if_tun_h="default"],
+        [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"
+    fi
+  ])
+  
+  if test $tinc_cv_linux_if_tun_h != none; then
+    AC_DEFINE(HAVE_TUNTAP, 1, [Universal tun/tap driver present])
+    if test $tinc_cv_linux_if_tun_h != default; then
+     AC_DEFINE_UNQUOTED(LINUX_IF_TUN_H, $tinc_cv_linux_if_tun_h, [Location of if_tun.h])
+    fi
   fi
+  AC_SUBST(LINUX_IF_TUN_H)
   AC_SUBST(HAVE_TUNTAP)
 ])
-])