From 3b455b8f318528206b08121f5ce93d16e4ea01df Mon Sep 17 00:00:00 2001 From: Ivo Timmermans Date: Sun, 15 Oct 2000 17:26:31 +0000 Subject: [PATCH] Add checks for the presence of the universal tun/tap device driver. --- acconfig.h | 10 ++++++++++ configure.in | 8 ++++++-- m4/tuntap.m4 | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 m4/tuntap.m4 diff --git a/acconfig.h b/acconfig.h index 86a35ecb..f1d9ee74 100644 --- a/acconfig.h +++ b/acconfig.h @@ -43,3 +43,13 @@ # include # undef getopt #endif + + +/* Define to the location of the kernel sources */ +#undef CONFIG_TINC_KERNELDIR + +/* Define to 1 if tun/tap support is enabled and found */ +#undef HAVE_TUNTAP + +/* Define to the location of if_tun.h */ +#undef LINUX_IF_TUN_H diff --git a/configure.in b/configure.in index cb42fd58..bc01f175 100644 --- a/configure.in +++ b/configure.in @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. -dnl $Id: configure.in,v 1.13.2.8 2000/10/13 23:34:56 zarq Exp $ +dnl $Id: configure.in,v 1.13.2.9 2000/10/15 17:26:31 zarq Exp $ AC_INIT(src/tincd.c) AM_INIT_AUTOMAKE(tinc, 1.0pre3) @@ -33,7 +33,7 @@ dnl Checks for libraries. dnl Checks for header files. AC_HEADER_STDC -AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h syslog.h unistd.h sys/time.h) +AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h syslog.h unistd.h sys/time.h linux/if_tun.h) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST @@ -80,6 +80,10 @@ AC_CHECK_FUNC(gethostbyname, [], [ AC_CHECK_LIB(nsl, gethostbyname) ]) + +dnl Check for TUN/TAP support in the kernel +tinc_TUNTAP + AC_OUTPUT([Makefile src/Makefile doc/Makefile intl/Makefile lib/Makefile m4/Makefile po/Makefile.in redhat/Makefile debian/Makefile]) diff --git a/m4/tuntap.m4 b/m4/tuntap.m4 new file mode 100644 index 00000000..28ddc9ec --- /dev/null +++ b/m4/tuntap.m4 @@ -0,0 +1,35 @@ +dnl Check to find out whether the running kernel has support for TUN/TAP + +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([linux/if_tun.h], + [int a = IFF_TAP], + if_tun_h="linux/if_tun.h", + [ AC_TRY_COMPILE([$kerneldir/include/linux/if_tun.h], + [int a = IFF_TAP], + if_tun_h="$kerneldir/include/linux/if_tun.h", + if_tun_h="no") + ]) + 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) + fi + AC_SUBST(HAVE_TUNTAP) +]) +]) -- 2.20.1