183 |
|
AC_CHECK_HEADERS(mach/vm_map.h mach/mach_init.h sys/mman.h) |
184 |
|
AC_CHECK_HEADERS(sys/time.h sys/times.h) |
185 |
|
AC_CHECK_HEADERS(unistd.h fcntl.h byteswap.h) |
186 |
+ |
AC_CHECK_HEADERS(linux/if.h linux/if_tun.h net/if.h net/if_tun.h) |
187 |
|
|
188 |
|
dnl Checks for typedefs, structures, and compiler characteristics. |
189 |
|
AC_C_BIGENDIAN |
274 |
|
fi |
275 |
|
]) |
276 |
|
|
277 |
+ |
dnl Check that the host supports TUN/TAP devices |
278 |
+ |
AC_CACHE_CHECK([whether TUN/TAP is supported], |
279 |
+ |
ac_cv_tun_tap_support, [ |
280 |
+ |
AC_TRY_COMPILE([ |
281 |
+ |
#if defined(HAVE_LINUX_IF_H) && defined(HAVE_LINUX_IF_TUN_H) |
282 |
+ |
#include <linux/if.h> |
283 |
+ |
#include <linux/if_tun.h> |
284 |
+ |
#endif |
285 |
+ |
#if defined(HAVE_NET_IF_H) && defined(HAVE_NET_IF_TUN_H) |
286 |
+ |
#include <net/if.h> |
287 |
+ |
#include <net/if_tun.h> |
288 |
+ |
#endif |
289 |
+ |
], [ |
290 |
+ |
struct ifreq ifr; |
291 |
+ |
memset(&ifr, 0, sizeof(ifr)); |
292 |
+ |
ifr.ifr_flags = IFF_TAP | IFF_NO_PI; |
293 |
+ |
], |
294 |
+ |
ac_cv_tun_tap_support=yes, ac_cv_tun_tap_support=no |
295 |
+ |
) |
296 |
+ |
]) |
297 |
+ |
AC_TRANSLATE_DEFINE(ENABLE_TUNTAP, "$ac_cv_tun_tap_support", |
298 |
+ |
[Define if your system supports TUN/TAP devices.]) |
299 |
+ |
|
300 |
|
dnl Various checks if the system supports vm_allocate() and the like functions. |
301 |
|
have_mach_vm=no |
302 |
|
if [[ "x$ac_cv_func_vm_allocate" = "xyes" -a "x$ac_cv_func_vm_deallocate" = "xyes" -a \ |
642 |
|
CAN_VOSF=no |
643 |
|
if [[ -n "$sigsegv_recovery" ]]; then |
644 |
|
CAN_VOSF=yes |
645 |
+ |
case $target_os in |
646 |
+ |
darwin*) |
647 |
+ |
dnl Signal handlers in darwin are way too slow since the whole |
648 |
+ |
dnl machine state (GPRs, FPRs, VRs) is forcibly saved. |
649 |
+ |
dnl In other words, VOSF is slower than static window refreshes. |
650 |
+ |
CAN_VOSF=no |
651 |
+ |
;; |
652 |
+ |
esac |
653 |
|
fi |
654 |
|
|
655 |
|
dnl Enable VOSF screen updates with this feature is requested and feasible |