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 # 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 #
if test "x$developer" = "xyes"; then
: ${CFLAGS=-g3}
+ : ${MAKEFLAGS=-j8}
fi
+AC_SUBST(MAKEFLAGS)
+
dnl #############################################################
dnl #
dnl # 0. Checks for compiler, libtool, and command line options.
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:]
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)
-
dnl extra argument: --with-docdir
docdir='${datadir}/doc/freeradius'
AC_MSG_CHECKING(docdir)
AC_HEADER_SYS_WAIT
AC_CHECK_HEADERS( \
+ dlfcn.h \
unistd.h \
crypt.h \
errno.h \
dnl #############################################################
AC_CHECK_FUNCS( \
getopt_long \
- lockf \
+ fcntl \
strsignal \
sigaction \
sigprocmask \
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`
+ AC_DEFINE_UNQUOTED([RADIUSD_VERSION_COMMIT],["${RADIUSD_VERSION_COMMIT}"],[Commit HEAD at time of configuring])
fi
FR_TLS
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)
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
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 \
- ./src/main/Makefile \
./src/main/radsniff.mk \
./src/main/checkrad \
./src/main/radlast \