+
+dnl Check and set OS
+
+AC_CANONICAL_HOST
+
+case $host_os in
+ *linux*)
+ AC_DEFINE(HAVE_LINUX, 1, [Linux])
+ [ rm -f src/device.c; ln -sf linux/device.c src/device.c ]
+ ;;
+ *freebsd*)
+ AC_DEFINE(HAVE_FREEBSD, 1, [FreeBSD])
+ [ rm -f src/device.c; ln -sf bsd/device.c src/device.c ]
+ ;;
+ *darwin*)
+ AC_DEFINE(HAVE_DARWIN, 1, [Darwin (MacOS/X)])
+ [ rm -f src/device.c; ln -sf bsd/device.c src/device.c ]
+ ;;
+ *solaris*)
+ AC_DEFINE(HAVE_SOLARIS, 1, [Solaris/SunOS])
+ [ rm -f src/device.c; ln -sf solaris/device.c src/device.c ]
+ ;;
+ *openbsd*)
+ AC_DEFINE(HAVE_OPENBSD, 1, [OpenBSD])
+ [ rm -f src/device.c; ln -sf bsd/device.c src/device.c ]
+ ;;
+ *netbsd*)
+ AC_DEFINE(HAVE_NETBSD, 1, [NetBSD])
+ [ rm -f src/device.c; ln -sf bsd/device.c src/device.c ]
+ ;;
+ *dragonfly*)
+ AC_DEFINE(HAVE_DRAGONFLY, 1, [DragonFly])
+ [ rm -f src/device.c; ln -sf bsd/device.c src/device.c ]
+ ;;
+ *bsd*)
+ AC_MSG_WARN("Unknown BSD variant, tinc might not compile or work!")
+ AC_DEFINE(HAVE_BSD, 1, [Unknown BSD variant])
+ [ rm -f src/device.c; ln -sf bsd/device.c src/device.c ]
+ ;;
+ *cygwin*)
+ AC_DEFINE(HAVE_CYGWIN, 1, [Cygwin])
+ [ rm -f src/device.c; ln -sf cygwin/device.c src/device.c ]
+ ;;
+ *mingw*)
+ AC_DEFINE(HAVE_MINGW, 1, [MinGW])
+ [ rm -f src/device.c; cp -f src/mingw/device.c src/device.c ]
+ LIBS="$LIBS -lws2_32 -lgdi32 -lcrypt32"
+ ;;
+ *)
+ AC_MSG_ERROR("Unknown operating system.")
+ ;;
+esac
+
+AC_ARG_ENABLE(uml,
+ AS_HELP_STRING([--disable-uml], [enable support for User Mode Linux]),
+ [ AS_IF([test "x$enable_uml" = "xyes"],
+ [ AC_DEFINE(ENABLE_UML, 1, [Support for UML])
+ uml=true
+ ],
+ [uml=false])
+ ],
+ [uml=false]
+)
+
+AC_ARG_ENABLE(vde,
+ AS_HELP_STRING([--disable-vde], [enable support for Virtual Distributed Ethernet]),
+ [ AS_IF([test "x$enable_vde" = "xyes"],
+ [ AC_CHECK_HEADERS(libvdeplug_dyn.h, [], [AC_MSG_ERROR([VDE plug header files not found.]); break])
+ AC_DEFINE(ENABLE_VDE, 1, [Support for VDE])
+ vde=true
+ ],
+ [vde=false])
+ ],
+ [vde=false]
+)
+
+AC_ARG_ENABLE(tunemu,
+ AS_HELP_STRING([--disable-tunemu], [enable support for the tunemu driver]),
+ [ AS_IF([test "x$enable_tunemu" = "xyes"],
+ [ AC_DEFINE(ENABLE_TUNEMU, 1, [Support for tunemu])
+ tunemu=true
+ ],
+ [tunemu=false])
+ ],
+ [tunemu=false]
+)
+
+AC_ARG_WITH(windows2000,
+ AS_HELP_STRING([--without-windows2000], [compile with support for Windows 2000. This disables support for tunneling over existing IPv6 networks.]),
+ [ AS_IF([test "x$with_windows2000" = "xyes"],
+ [AC_DEFINE(WITH_WINDOWS2000, 1, [Compile with support for Windows 2000])])
+ ]
+)
+
+AM_CONDITIONAL(UML, test "$uml" = true)
+AM_CONDITIONAL(VDE, test "$vde" = true)
+AM_CONDITIONAL(TUNEMU, test "$tunemu" = true)
+
+AC_CACHE_SAVE
+
+if test -d /sw/include ; then
+ CPPFLAGS="$CPPFLAGS -I/sw/include"
+fi
+if test -d /sw/lib ; then
+ LIBS="$LIBS -L/sw/lib"
+fi