dnl Process this file with autoconf to produce a configure script.

dnl $Id: configure.in,v 1.13.2.40 2002/02/11 15:59:18 guus Exp $

AC_INIT(src/tincd.c)
AM_INIT_AUTOMAKE(tinc, 1.0-cvs)
AM_CONFIG_HEADER(config.h)

dnl Include the macros from the m4/ directory
AM_ACLOCAL_INCLUDE(m4)

# Enable GNU extensions.
# Define this here, not in acconfig's @TOP@ section, since definitions
# in the latter don't make it into the configure-time tests.
AC_DEFINE([_GNU_SOURCE], [__USE_BSD])

ALL_LINGUAS="nl"

dnl Checks for programs.
AC_PROG_CC
AC_PROG_CPP
AC_PROG_GCC_TRADITIONAL
AC_PROG_AWK
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET
jm_PERL


AC_ISC_POSIX

dnl Check and set OS

AC_CANONICAL_HOST

case $host_os in
  *linux*)
    AC_DEFINE(HAVE_LINUX)
    [ rm -f src/device.c; ln -sf linux/device.c src/device.c ]
  ;;
  *freebsd*)
    AC_DEFINE(HAVE_FREEBSD)
    [ rm -f src/device.c; ln -sf freebsd/device.c src/device.c ]
  ;;
  *solaris*)
    AC_DEFINE(HAVE_SOLARIS)
    [ rm -f src/device.c; ln -sf solaris/device.c src/device.c ]
  ;;
  *openbsd*)
    AC_DEFINE(HAVE_OPENBSD)
    [ rm -f src/device.c; ln -sf openbsd/device.c src/device.c ]
  ;;
esac

AC_CACHE_SAVE

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 malloc.h strings.h sys/file.h])

dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_PID_T
AC_TYPE_SIZE_T
AC_HEADER_TIME
AC_STRUCT_TM

dnl Checks for library functions.
AC_FUNC_MEMCMP
AC_FUNC_ALLOCA
AC_TYPE_SIGNAL
AC_CHECK_FUNCS([ftime socket select strtol strerror flock unsetenv \
asprintf putenv strdup fcloseall daemon strsignal get_current_dir_name])
jm_FUNC_MALLOC
jm_FUNC_REALLOC

AM_GNU_GETTEXT


dnl Support for SunOS

AC_CHECK_FUNC(socket, [], [
  AC_CHECK_LIB(socket, connect)
])
AC_CHECK_FUNC(gethostbyname, [], [
  AC_CHECK_LIB(nsl, gethostbyname)
])

AC_CACHE_SAVE

dnl These are defined in files in m4/
tinc_TUNTAP
tinc_OPENSSL
tinc_ZLIB

dnl Check if checkpoint tracing has to be enabled
AC_ARG_ENABLE(tracing,
  [  --enable-tracing        enable checkpoint tracing (debugging only)],
  [ AC_DEFINE(ENABLE_TRACING) ]
)

AC_SUBST(INCLUDES)

AC_OUTPUT(Makefile
src/Makefile
doc/Makefile
doc/es/Makefile
intl/Makefile
lib/Makefile
m4/Makefile
po/Makefile.in
po/POTFILES
po/Makefile
)