X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=configure.in;h=1f57512dbc758b8a98574dff539a45cdc57bb456;hb=refs%2Fheads%2Feap-chbind2;hp=b2adc7517a489fbc04092de4bdeab4efabddf19a;hpb=2303a21b2918bd9851af9998274aa0b310c15ab8;p=freeradius.git diff --git a/configure.in b/configure.in index b2adc75..1f57512 100644 --- a/configure.in +++ b/configure.in @@ -23,11 +23,9 @@ dnl ############################################################# 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 # @@ -46,7 +44,18 @@ RADIUSD_VERSION=`echo | awk -v major="$RADIUSD_MAJOR_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 ]) +AC_DEFINE_UNQUOTED([RADIUSD_VERSION_STRING], ["${RADIUSD_VERSION_STRING}"], [Raw version string from VERSION file]) dnl ############################################################# dnl # @@ -61,7 +70,7 @@ dnl # These checks must be done before expanding the AC_PROG_CC dnl # and AC_PROG_CXX macros. dnl # AC_ARG_ENABLE(developer, -[ --enable-developer Enables features of interest to developers.], +[ --enable-developer enables features of interest to developers.], [ case "$enableval" in no) developer=no @@ -86,8 +95,11 @@ dnl # added later when we know what compiler were using. 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. @@ -138,35 +150,9 @@ fi 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 [ --without-rlm_foo Disables module compilation. Module list:] dnl esyscmd([find src/modules -type d -name rlm_\* -print |\ dnl sed -e 's%src/modules/.*/% (sub)- %; s%.*/%- %' |\ dnl awk '{print " "$0}'])) @@ -295,7 +281,7 @@ AC_ARG_WITH(threads, dnl extra argument: --with-tcp WITH_TCP=yes AC_ARG_WITH(tcp, -[ --with-tcp Compile in TCP support. (default=yes)], +[ --with-tcp Compile in TCP support. (default=yes)], [ case "$withval" in yes) ;; @@ -351,7 +337,7 @@ AC_ARG_WITH(static_modules, MODULES= AC_ARG_WITH(modules, -[ --with-modules=QUOTED-MODULE-LIST],[ +[ --with-modules=QUOTED-MODULE-LIST],[ for i in $withval; do MODULES="$MODULES $i" done @@ -479,19 +465,19 @@ dnl # 1. Checks for programs dnl # dnl ############################################################# -CHECKRAD=checkrad.pl +CHECKRAD=checkrad AC_PATH_PROG(PERL, perl, /usr/local/bin/perl) if test "x$ac_cv_path_PERL" = "x"; then - AC_MSG_WARN(perl not found - Simultaneous-Use and checkrad.pl may not work) + AC_MSG_WARN(perl not found - Simultaneous-Use and checkrad may not work) fi AC_PATH_PROG(SNMPGET, snmpget) if test "x$ac_cv_path_SNMPGET" = "x"; then - AC_MSG_WARN(snmpget not found - Simultaneous-Use and checkrad.pl may not work) + AC_MSG_WARN(snmpget not found - Simultaneous-Use and checkrad may not work) fi AC_PATH_PROG(SNMPWALK, snmpwalk) if test "x$ac_cv_path_SNMPWALK" = "x"; then - AC_MSG_WARN(snmpwalk not found - Simultaneous-Use and checkrad.pl may not work) + AC_MSG_WARN(snmpwalk not found - Simultaneous-Use and checkrad may not work) fi AC_PATH_PROG(RUSERS, rusers, /usr/bin/rusers) @@ -531,10 +517,10 @@ dnl # AC_CHECK_LIB(pthread, pthread_create, [ CFLAGS="$CFLAGS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS" LIBS="-lpthread $LIBS" ], - AC_CHECK_LIB(c_r, pthread_create, + [ AC_CHECK_LIB(c_r, pthread_create, [ CFLAGS="$CFLAGS -pthread -D_THREAD_SAFE" ], [ WITH_THREADS="no" ] - ) + ) ] ) fi @@ -561,7 +547,7 @@ else ) fi -if test "x$WITH_THEADS" = "xyes"; then +if test "x$WITH_THREADS" = "xyes"; then AC_DEFINE(WITH_THREADS, [1], [define if you want thread support]) fi @@ -646,6 +632,7 @@ AC_HEADER_TIME AC_HEADER_SYS_WAIT AC_CHECK_HEADERS( \ + dlfcn.h \ unistd.h \ crypt.h \ errno.h \ @@ -902,7 +889,7 @@ dnl # dnl ############################################################# AC_CHECK_FUNCS( \ getopt_long \ - lockf \ + fcntl \ strsignal \ sigaction \ sigprocmask \ @@ -1008,12 +995,7 @@ if test "x$developer" = "xyes"; then fi if test "x$EXPERIMENTAL" != "xno"; then - EXPERIMENTAL = yes - fi - - dnl append the current git hash onto the version string - if test "x$GIT" = "xyes"; then - RADIUSD_VERSION_COMMIT=`git log --pretty=format:'%h' -n 1` + EXPERIMENTAL=yes fi else devflags="" @@ -1022,6 +1004,14 @@ else 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 ############################################################# @@ -1030,10 +1020,34 @@ dnl # 7. Checks for library functions 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=.]) + 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) @@ -1206,8 +1220,6 @@ top_builddir=`pwd` 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 @@ -1223,22 +1235,6 @@ dnl # is being included by a module. dnl ############################################################# AH_BOTTOM([#include ]) -mysubdirs="" -if test "x$EXPERIMENTAL" = "xyes"; then - bar=`ls -1 "${srcdir}"/src/modules/rlm_*/configure | sed 's%/configure%%'` - dnl # get rid of LF's. - mysubdirs=`echo $mysubdirs $bar` -else - dnl # - dnl # Find 'configure' in ONLY the stable modules - dnl # - for bar in `cat "${srcdir}"/src/modules/stable`; do - if test -f "${srcdir}"/src/modules/$bar/configure; then - mysubdirs="$mysubdirs src/modules/$bar" - fi - done -fi - dnl ############################################################ dnl # make modules by list dnl ############################################################# @@ -1255,6 +1251,17 @@ else done fi +dnl ############################################################ +dnl # Add autoconf subdirs, based on the module list we +dnl # previously created. +dnl ############################################################# +mysubdirs="" +for bar in $MODULES; do + if test -f "${srcdir}"/src/modules/$bar/configure; then + mysubdirs="$mysubdirs src/modules/$bar" + fi +done + dnl # dnl # Don't change the variable name here. Autoconf goes bonkers dnl # if you do. @@ -1270,7 +1277,7 @@ dnl ############################################################# AC_CONFIG_COMMANDS([stamp-h], [echo timestamp > src/include/stamp-h]) AC_CONFIG_COMMANDS([build-radpaths-h], [(cd ./src/include && /bin/sh ./build-radpaths-h)]) -AC_CONFIG_COMMANDS([main-chmod], [(cd ./src/main && chmod +x checkrad.pl radlast radtest)]) +AC_CONFIG_COMMANDS([main-chmod], [(cd ./src/main && chmod +x checkrad radlast radtest)]) AC_CONFIG_COMMANDS([scripts-chmod], [(cd ./scripts && chmod +x rc.radiusd radiusd.cron.daily radiusd.cron.monthly cryptpasswd)]) dnl # @@ -1284,19 +1291,12 @@ AC_SUBST(USE_SHARED_LIBS) 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.pl \ + ./src/main/checkrad \ ./src/main/radlast \ ./src/main/radtest \ ./scripts/rc.radiusd \