ttls: return channel bindings on half round trip success
[freeradius.git] / configure.in
index d913cd2..1f57512 100644 (file)
@@ -23,11 +23,9 @@ dnl #############################################################
 AC_PREREQ([2.59])
 export CFLAGS LIBS LDFLAGS CPPFLAGS
 
 AC_PREREQ([2.59])
 export CFLAGS LIBS LDFLAGS CPPFLAGS
 
-m4_define(PACKAGE_MAIN, freeradius)
-
-AC_INIT(PACKAGE_MAIN,[$]Id[$],http://bugs.freeradius.org,,http://www.freeradius.org)
-AC_CONFIG_SRCDIR(src/main/radiusd.c)
-AC_CONFIG_HEADER(src/include/autoconf.h)
+AC_INIT([freeradius],[$]Id[$],[http://bugs.freeradius.org],,[http://www.freeradius.org])
+AC_CONFIG_SRCDIR([src/main/radiusd.c])
+AC_CONFIG_HEADER([src/include/autoconf.h])
 
 dnl #############################################################
 dnl #
 
 dnl #############################################################
 dnl #
@@ -46,7 +44,18 @@ RADIUSD_VERSION=`echo | awk -v major="$RADIUSD_MAJOR_VERSION" \
 
 dnl # Still useful for custom builds
 RADIUSD_VERSION_STRING=`cat VERSION`
 
 dnl # Still useful for custom builds
 RADIUSD_VERSION_STRING=`cat VERSION`
-PACKAGE=PACKAGE_MAIN
+
+dnl #
+dnl # Add definitions to Make.inc as it's used by various build targets
+dnl #
+AC_SUBST([RADIUSD_VERSION_STRING])
+
+dnl #
+dnl # Add definitions to autoconf.h, so that the headers that we install
+dnl # contain the version number of the server.
+dnl #
+AC_DEFINE_UNQUOTED([RADIUSD_VERSION], [${RADIUSD_VERSION}], [Version integer in format <ma><ma><mi><mi><in><in>])
+AC_DEFINE_UNQUOTED([RADIUSD_VERSION_STRING], ["${RADIUSD_VERSION_STRING}"], [Raw version string from VERSION file])
 
 dnl #############################################################
 dnl #
 
 dnl #############################################################
 dnl #
@@ -86,8 +95,11 @@ dnl #  added later when we know what compiler were using.
 dnl #
 if test "x$developer" = "xyes"; then
   : ${CFLAGS=-g3}
 dnl #
 if test "x$developer" = "xyes"; then
   : ${CFLAGS=-g3}
+  : ${MAKEFLAGS=-j8}
 fi
 
 fi
 
+AC_SUBST(MAKEFLAGS)
+
 dnl #############################################################
 dnl #
 dnl #  0. Checks for compiler, libtool, and command line options.
 dnl #############################################################
 dnl #
 dnl #  0. Checks for compiler, libtool, and command line options.
@@ -138,32 +150,6 @@ fi
 dnl See if we have Git.
 AC_CHECK_PROG(GIT, git, yes, no)
 
 dnl See if we have Git.
 AC_CHECK_PROG(GIT, git, yes, no)
 
-AC_ARG_WITH(system-libltdl,
-[  --with-system-libltdl   Use the libltdl installed in your system (default=use dlopen)],
-[],
-[with_system_libltdl=no])
-
-AS_IF([test "x$with_system_libltdl" = "xyes" ],
-[ LIBLTDL="-lltdl"
-INCLTDL=-DWITH_SYSTEM_LTDL])
-
-dnl use system-wide libtool, if it exists
-AC_ARG_WITH(system-libtool,
-[  --with-system-libtool   Use the libtool installed in your system (default=use our own)],
-[],
-[with_system_libtool=no])
-
-AS_IF([test "x$with_system_libtool" = "xyes" ],
-[ AC_PATH_PROG(LIBTOOL, libtool,,$PATH:/usr/local/bin) AC_LIBTOOL_DLOPEN
- AC_PROG_LIBTOOL],
-[
-  LIBTOOL='${top_srcdir}/scripts/jlibtool'
-  AC_SUBST(LIBTOOL)
-  dnl ensure that we're looking for dlopen
-  AC_LIBTOOL_DLOPEN
-])
-
-
 dnl Put this in later, when all distributed modules use autoconf.
 dnl AC_ARG_WITH(disablemodulefoo,
 dnl [  --without-rlm_foo         Disables module compilation.  Module list:]
 dnl Put this in later, when all distributed modules use autoconf.
 dnl AC_ARG_WITH(disablemodulefoo,
 dnl [  --without-rlm_foo         Disables module compilation.  Module list:]
@@ -174,25 +160,6 @@ dnl        awk '{print "                            "$0}']))
 AC_ARG_ENABLE(strict-dependencies,
 [  --enable-strict-dependencies  Fail configure on lack of module dependancy.])
 
 AC_ARG_ENABLE(strict-dependencies,
 [  --enable-strict-dependencies  Fail configure on lack of module dependancy.])
 
-dnl # Build using the new boilermake system
-boilermake=no
-AC_ARG_ENABLE(boilermake,
-[  --enable-boilermake     use the boilermake build system (experimental default=no).],
-[ case "$enableval" in
-    yes)
-        boilermake=yes
-        ;;
-    *)
-        boilermake=no
-  esac ]
-)
-
-AC_SUBST(boilermake)
-
-if test "x$boilermake" == "xyes"; then
-       LIBTOOL=[JLIBTOOL]
-fi
-
 dnl extra argument: --with-docdir
 docdir='${datadir}/doc/freeradius'
 AC_MSG_CHECKING(docdir)
 dnl extra argument: --with-docdir
 docdir='${datadir}/doc/freeradius'
 AC_MSG_CHECKING(docdir)
@@ -665,6 +632,7 @@ AC_HEADER_TIME
 AC_HEADER_SYS_WAIT
 
 AC_CHECK_HEADERS( \
 AC_HEADER_SYS_WAIT
 
 AC_CHECK_HEADERS( \
+       dlfcn.h \
        unistd.h \
        crypt.h \
        errno.h \
        unistd.h \
        crypt.h \
        errno.h \
@@ -921,7 +889,7 @@ dnl #
 dnl #############################################################
 AC_CHECK_FUNCS( \
        getopt_long \
 dnl #############################################################
 AC_CHECK_FUNCS( \
        getopt_long \
-       lockf \
+       fcntl \
        strsignal \
        sigaction \
        sigprocmask \
        strsignal \
        sigaction \
        sigprocmask \
@@ -1036,9 +1004,12 @@ else
   AC_MSG_RESULT(no.)
 fi
 
   AC_MSG_RESULT(no.)
 fi
 
+export EXPERIMENTAL
+
 dnl append the current git hash onto the version string
 if test -d $srcdir/.git -a "x$GIT" = "xyes"; then
   RADIUSD_VERSION_COMMIT=`git log --pretty=format:'%h' -n 1`
 dnl append the current git hash onto the version string
 if test -d $srcdir/.git -a "x$GIT" = "xyes"; then
   RADIUSD_VERSION_COMMIT=`git log --pretty=format:'%h' -n 1`
+  AC_DEFINE_UNQUOTED([RADIUSD_VERSION_COMMIT],["${RADIUSD_VERSION_COMMIT}"],[Commit HEAD at time of configuring])
 fi
 
 FR_TLS
 fi
 
 FR_TLS
@@ -1049,10 +1020,34 @@ dnl #  7. Checks for library functions
 dnl #
 dnl #############################################################
 
 dnl #
 dnl #############################################################
 
-old_LIBS="$LIBS"
-LIBS="$LIBS $LIBLTDL"
-AC_CHECK_FUNC(lt_dladvise_init, AC_DEFINE(HAVE_LT_DLADVISE_INIT, [], [Do we have the lt_dladvise_init function]))
-LIBS="$old_LIBS"
+dnl Check for talloc
+dnl extra argument: --with-talloc-include-dir=DIR
+talloc_include_dir=
+AC_ARG_WITH(talloc-include-dir,
+       [AS_HELP_STRING([--with-talloc-include-dir=DIR],
+       [Directory where the talloc includes may be found])],
+       [case "$withval" in
+           no)
+               AC_MSG_ERROR(Need talloc-include-dir)
+           ;;
+               yes)
+           ;;
+           *)
+               talloc_include_dir="$withval"
+           ;;
+       esac])
+
+dnl Check for talloc header files
+
+smart_try_dir="$talloc_include_dir"
+FR_SMART_CHECK_INCLUDE([talloc.h])
+if test "x$ac_cv_header_talloc_h" != "xyes"; then
+       AC_MSG_WARN([talloc headers not found. Use --with-talloc-include-dir=<path>.])
+       AC_MSG_ERROR([FreeRADIUS requires libtalloc])
+else
+       INCLUDE="${SMART_CFLAGS} ${INCLUDE}"
+       LIBS="-ltalloc ${LIBS}"
+fi
 
 dnl Check for libcrypt
 dnl We use crypt(3) which may be in libc, or in libcrypt (eg FreeBSD)
 
 dnl Check for libcrypt
 dnl We use crypt(3) which may be in libc, or in libcrypt (eg FreeBSD)
@@ -1225,8 +1220,6 @@ top_builddir=`pwd`
 export top_builddir
 AC_MSG_RESULT([top_builddir=$top_builddir])
 dnl # AC_SUBST(top_builddir)
 export top_builddir
 AC_MSG_RESULT([top_builddir=$top_builddir])
 dnl # AC_SUBST(top_builddir)
-AC_SUBST(LIBLTDL)
-AC_SUBST(INCLTDL)
 
 dnl import libtool stuff
 
 
 dnl import libtool stuff
 
@@ -1298,17 +1291,10 @@ AC_SUBST(USE_SHARED_LIBS)
 USE_STATIC_LIBS=$enable_static
 AC_SUBST(USE_STATIC_LIBS)
 AC_SUBST(STATIC_MODULES)
 USE_STATIC_LIBS=$enable_static
 AC_SUBST(USE_STATIC_LIBS)
 AC_SUBST(STATIC_MODULES)
-AC_SUBST(RADIUSD_MAJOR_VERSION)
-AC_SUBST(RADIUSD_MINOR_VERSION)
-AC_SUBST(RADIUSD_INCRM_VERSION)
-AC_SUBST(RADIUSD_VERSION)
-AC_SUBST(RADIUSD_VERSION_STRING)
-AC_SUBST(RADIUSD_VERSION_COMMIT)
 
 AC_OUTPUT(\
        ./Make.inc \
        ./src/include/build-radpaths-h \
 
 AC_OUTPUT(\
        ./Make.inc \
        ./src/include/build-radpaths-h \
-       ./src/main/Makefile \
        ./src/main/radsniff.mk \
        ./src/main/checkrad \
        ./src/main/radlast \
        ./src/main/radsniff.mk \
        ./src/main/checkrad \
        ./src/main/radlast \