2000-10-15 17:26:31 +00:00
|
|
|
dnl Check to find out whether the running kernel has support for TUN/TAP
|
|
|
|
|
2004-01-10 23:21:36 +00:00
|
|
|
AC_DEFUN([tinc_TUNTAP],
|
2000-10-15 17:26:31 +00:00
|
|
|
[
|
2003-07-29 11:50:39 +00:00
|
|
|
AC_ARG_WITH(kernel,
|
2004-01-10 23:21:36 +00:00
|
|
|
AS_HELP_STRING([--with-kernel=DIR], [give the directory with kernel sources (default: /usr/src/linux)]),
|
2003-07-29 11:50:39 +00:00
|
|
|
kerneldir="$withval",
|
|
|
|
kerneldir="/usr/src/linux"
|
2001-06-21 18:28:52 +00:00
|
|
|
)
|
2003-07-29 11:50:39 +00:00
|
|
|
|
|
|
|
AC_CACHE_CHECK([for linux/if_tun.h], tinc_cv_linux_if_tun_h,
|
|
|
|
[
|
2004-01-10 23:21:36 +00:00
|
|
|
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"]
|
2003-07-29 11:50:39 +00:00
|
|
|
)]
|
|
|
|
)
|
|
|
|
|
|
|
|
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
|
2001-07-15 14:21:12 +00:00
|
|
|
fi
|
2003-07-29 11:50:39 +00:00
|
|
|
AC_SUBST(LINUX_IF_TUN_H)
|
|
|
|
AC_SUBST(HAVE_TUNTAP)
|
2000-10-15 17:26:31 +00:00
|
|
|
])
|