Add checks for the presence of the universal tun/tap device driver.

This commit is contained in:
Ivo Timmermans 2000-10-15 17:26:31 +00:00
parent 85adeef212
commit 3b455b8f31
3 changed files with 51 additions and 2 deletions

View file

@ -43,3 +43,13 @@
# include <stdlib.h>
# 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

View file

@ -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])

35
m4/tuntap.m4 Normal file
View file

@ -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)
])
])