X-Git-Url: https://tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=m4%2Ftuntap.m4;h=cd3a485ae617a200b99a1c559acbfb65d2d5356d;hp=605ebef4a1645c1e784aef99d8d5dbaea738c659;hb=1783a3aaa9b692ab64260a9c2adf588ed6083a1c;hpb=c5c8e99afd3fae3868f20b5c7a4f8754498b39ad diff --git a/m4/tuntap.m4 b/m4/tuntap.m4 index 605ebef4..cd3a485a 100644 --- a/m4/tuntap.m4 +++ b/m4/tuntap.m4 @@ -2,19 +2,38 @@ 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 ], - [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 ], + [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 - AC_DEFINE(HAVE_TUNTAP) - AC_DEFINE_UNQUOTED(LINUX_IF_TUN_H, "$if_tun_h") - AC_SUBST(LINUX_IF_TUN_H) - tinc_cv_linux_if_tun_h=$if_tun_h + tinc_cv_linux_if_tun_h="$if_tun_h" fi - AC_SUBST(HAVE_TUNTAP) ]) + +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) ])