1 dnl Process this file with autoconf to produce a configure script.
3 dnl $Id: configure.in,v 1.13.2.55 2002/08/24 12:54:55 guus Exp $
7 AM_INIT_AUTOMAKE(tinc, 1.0-cvs)
8 AM_CONFIG_HEADER(config.h)
10 dnl Include the macros from the m4/ directory
11 AM_ACLOCAL_INCLUDE(m4)
13 AM_GNU_GETTEXT([external])
14 AM_GNU_GETTEXT_VERSION(0.11.5)
16 # Enable GNU extensions.
17 # Define this here, not in acconfig's @TOP@ section, since definitions
18 # in the latter don't make it into the configure-time tests.
19 AC_DEFINE([_GNU_SOURCE], 1, [Enable GNU extenstions])
20 AC_DEFINE([__USE_BSD], 1, [Enable BSD extensions])
24 dnl Checks for programs.
27 AC_PROG_GCC_TRADITIONAL
42 AC_DEFINE(HAVE_LINUX, 1, [Linux])
43 [ rm -f src/device.c; ln -sf linux/device.c src/device.c ]
46 AC_DEFINE(HAVE_FREEBSD, 1, [FreeBSD])
47 [ rm -f src/device.c; ln -sf freebsd/device.c src/device.c ]
50 AC_DEFINE(HAVE_DARWIN, 1, [Darwin (MacOS/X)])
51 [ rm -f src/device.c; ln -sf darwin/device.c src/device.c ]
54 AC_DEFINE(HAVE_SOLARIS, 1, [Solaris/SunOS])
55 [ rm -f src/device.c; ln -sf solaris/device.c src/device.c ]
58 AC_DEFINE(HAVE_OPENBSD, 1, [OpenBSD])
59 [ rm -f src/device.c; ln -sf openbsd/device.c src/device.c ]
62 AC_DEFINE(HAVE_NETBSD, 1, [NetBSD])
63 [ rm -f src/device.c; ln -sf netbsd/device.c src/device.c ]
66 AC_DEFINE(HAVE_CYGWIN, 1, [Cygwin])
67 [ rm -f src/device.c; ln -sf cygwin/device.c src/device.c ]
70 AC_MSG_ERROR("Unknown operating system.")
76 if test -d /sw/include ; then
77 CPPFLAGS="$CPPFLAGS -I/sw/include"
79 if test -d /sw/lib ; then
80 LIBS="$LIBS -L/sw/lib"
83 dnl Checks for libraries.
85 dnl Checks for header files.
87 AC_CHECK_HEADERS([fcntl.h inttypes.h limits.h malloc.h stdint.h strings.h syslog.h unistd.h \
88 net/ethernet.h net/if.h netinet/in_systm.h netinet/ip.h netinet/tcp.h \
89 sys/file.h sys/ioctl.h sys/param.h sys/time.h])
91 dnl Checks for typedefs, structures, and compiler characteristics.
98 AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t,
101 [#include <sys/types.h>
102 #include <sys/socket.h>],
103 [socklen_t len = 42; return len;],
104 ac_cv_type_socklen_t=yes,
105 ac_cv_type_socklen_t=no)
107 if test $ac_cv_type_socklen_t = yes; then
108 AC_DEFINE(HAVE_SOCKLEN_T, 1, [socklen_t available])
111 AC_CACHE_CHECK([for struct addrinfo], ac_cv_struct_addrinfo,
114 [#include <sys/types.h>
115 #include <sys/socket.h>
117 [struct addrinfo ai; ai.ai_family = AF_INET; return ai.ai_family;],
118 ac_cv_struct_addrinfo=yes,
119 ac_cv_struct_addrinfo=no)
121 if test $ac_cv_struct_addrinfo = yes; then
122 AC_DEFINE(HAVE_STRUCT_ADDRINFO, 1, [struct addrinfo available])
125 dnl Checks for library functions.
129 AC_CHECK_FUNCS([asprintf daemon fcloseall flock ftime get_current_dir_name \
130 putenv select strdup strerror strsignal strtol unsetenv \
131 freeaddrinfo gai_strerror getaddrinfo getnameinfo])
135 dnl Support for SunOS
137 AC_CHECK_FUNC(socket, [], [
138 AC_CHECK_LIB(socket, connect)
140 AC_CHECK_FUNC(gethostbyname, [], [
141 AC_CHECK_LIB(nsl, gethostbyname)
146 dnl These are defined in files in m4/
151 dnl Check if support for jumbograms is requested
152 AC_ARG_ENABLE(jumbograms,
153 [ --enable-jumbograms enable support for jumbograms (packets up to 9000 bytes)],
154 [ AC_DEFINE(ENABLE_JUMBOGRAMS, 1, [Support for jumbograms (packets up to 9000 bytes)]) ]
157 dnl Check if checkpoint tracing has to be enabled
158 AC_ARG_ENABLE(tracing,
159 [ --enable-tracing enable checkpoint tracing (debugging only)],
160 [ AC_DEFINE(ENABLE_TRACING, 1, [Checkpoint tracing]) ]
165 AC_OUTPUT(Makefile po/Makefile.in