1 dnl #############################################################
3 dnl # For information about autoconf, see:
5 dnl # http://www.gnu.org/software/autoconf/
7 dnl # The recommended order is:
10 dnl # 0. checks for compiler, libtool, and command line options
11 dnl # 1. checks for programs
12 dnl # 2. checks for libraries
13 dnl # 3. checks for header files
14 dnl # 4. checks for typedefs
15 dnl # 5. checks for structures and functions
16 dnl # 6. checks for compiler characteristics
17 dnl # 7. checks for library functions
18 dnl # 8. checks for system services
19 dnl # AC_OUTPUT([file...])
21 dnl #############################################################
23 AC_INIT(src/main/radiusd.c)
24 AC_CONFIG_HEADER(src/include/autoconf.h)
25 AC_REVISION($Revision$)dnl
27 dnl # The version of the software
28 RADIUSD_MAJOR_VERSION=1
29 RADIUSD_MINOR_VERSION=1.0-pre0
30 RADIUSD_VERSION="${RADIUSD_MAJOR_VERSION}.${RADIUSD_MINOR_VERSION}"
32 dnl #############################################################
34 dnl # 0. Checks for compiler, libtool, and command line options.
36 dnl #############################################################
40 AC_PROG_GCC_TRADITIONAL
44 abs_top_builddir=`pwd`
45 AC_SUBST(abs_top_builddir)
47 dnl # autoconf 2.50 and later
48 dnl # AC_SYS_LARGEFILE
53 dnl # check for AIX, to allow us to use some BSD functions
54 dnl # must be before macros that call the compiler.
59 AC_CHECK_PROG(GMAKE, gmake, yes, no)
60 if test $GMAKE = no; then
61 AC_PATH_PROG(MAKE, make, /usr/local/bin/make)
63 AC_PATH_PROG(MAKE, gmake, /usr/local/gnu/bin/make)
65 makever=`$ac_cv_path_MAKE --version 2>&1 | grep "GNU Make"`
66 if test -z "$makever"; then
67 AC_MSG_ERROR(GNU Make is not installed. Please download and install it
68 from ftp://prep.ai.mit.edu/pub/gnu/make/ before continuing.)
71 dnl libltdl is installable
72 AC_LIBLTDL_INSTALLABLE
75 dnl use system-wide libtool, if it exists
76 AC_ARG_WITH(system-libtool,
77 [ --with-system-libtool try to use libtool installed in your system [default=use our own]],
78 [ AC_PATH_PROG(LIBTOOL, libtool,,$PATH:/usr/local/bin) ],
80 LIBTOOL="`pwd`/libtool"
82 dnl ensure that we're looking for dlopen
85 dnl Figure out how to build shared libraries
90 dnl Put this in later, when all distributed modules use autoconf.
91 dnl AC_ARG_WITH(disablemodulefoo,
92 dnl [ --without-rlm_foo Disables module compilation. Module list:]
93 dnl esyscmd([find src/modules -type d -name rlm_\* -print |\
94 dnl sed -e 's%src/modules/.*/% (sub)- %; s%.*/%- %' |\
95 dnl awk '{print " "$0}']))
97 AC_ARG_ENABLE(strict-dependencies,
98 [ --enable-strict-dependencies Fail configure on lack of module dependancy.])
100 dnl extra argument: --with-logdir
101 logdir='${localstatedir}/log/radius'
102 AC_MSG_CHECKING(logdir)
104 [ --with-logdir=DIR Directory for logfiles [LOCALSTATEDIR/log/radius] ],
107 AC_MSG_ERROR(Need logdir)
117 AC_MSG_RESULT($logdir)
119 dnl extra argument: --with-radacctdir
120 radacctdir='${logdir}/radacct'
121 AC_MSG_CHECKING(radacctdir)
122 AC_ARG_WITH(radacctdir,
123 [ --with-radacctdir=PATH Directory for detail files [LOGDIR/radacct] ],
126 AC_MSG_ERROR(Need radacctdir)
131 radacctdir="$withval"
136 AC_MSG_RESULT($radacctdir)
138 dnl extra argument: --with-raddbdir
139 raddbdir='${sysconfdir}/raddb'
140 AC_MSG_CHECKING(raddbdir)
141 AC_ARG_WITH(raddbdir,
142 [ --with-raddbdir=DIR Directory for config files [SYSCONFDIR/raddb] ],
145 AC_MSG_ERROR(Need raddbdir)
155 AC_MSG_RESULT($raddbdir)
157 dnl extra argument: --with-ascend-binary
159 AC_ARG_WITH(ascend-binary,
160 [ --with-ascend-binary Include support for Ascend binary filter attributes (default=yes)],
168 if test "X$ASCEND_BINARY" = "Xyes"; then
169 AC_DEFINE(ASCEND_BINARY)
172 dnl extra argument: --with-threads
175 [ --with-threads Use threads, if available. (default=yes) ],
184 dnl extra argument: --with-snmp
187 [ --with-snmp Compile in SNMP support. (default=yes)],
196 dnl extra argument: --with-large-files
197 rad_enable_largefiles=no
198 AC_ARG_WITH(large-files,
199 [ --with-large-files Compile in large (2G+) file support. (default=no)],
202 rad_enable_largefiles=yes
210 dnl AC_ARG_ENABLE(ltdl-install,
211 dnl [ --disable-ltdl-install do not install libltdl])
212 dnl if test x"${enable_ltdl_install+set}" != xset; then
213 dnl enable_ltdl_install=yes
214 dnl ac_configure_args="$ac_configure_args --enable-ltdl-install"
216 dnl AC_CONFIG_SUBDIRS(libltdl)
219 dnl # Allow the user to specify a list of modules to be linked
220 dnl # statically to the server.
223 AC_ARG_WITH(static_modules,
224 [ --with-static-modules=QUOTED-MODULE-LIST],[
225 for i in $withval; do
226 STATIC_MODULES="$STATIC_MODULES -dlpreopen ../modules/rlm_$i/rlm_$i.la"
231 dnl # Enable developer C compiler warnings
233 AC_ARG_ENABLE(developer,
234 [ --enable-developer Enables features of interest to developers.],
235 [ case "$enableval" in
244 if test "x$developer" != "xno" -a -d $srcdir/CVS; then
245 dnl turn on the developer flag when taken from a CVS checkout (not a release)
249 dnl extra argument: --with-experimental-modules
251 AC_ARG_WITH(experimental-modules,
252 [ --with-experimental-modules Use experimental and unstable modules. (default=no) ],
262 dnl # extra argument: --openssl-includes=dir
264 AC_ARG_WITH(openssl-includes,
265 [ --with-openssl-includes=DIR Directory to look for OpenSSL include files],
267 *) OPENSSL_INCLUDE_DIR="$withval"
273 dnl # extra argument: --openssl-libraries=dir
275 AC_ARG_WITH(openssl-libraries,
276 [ --with-openssl-libraries=DIR Directory to look for OpenSSL library files],
278 *) OPENSSL_LIB_DIR="$withval"
284 dnl # These next two arguments don't actually do anything. They're
285 dnl # place holders so that the top-level configure script can tell
286 dnl # the user how to configure lower-level modules
290 dnl # extra argument: --with-rlm-FOO-lib-dir
292 AC_ARG_WITH(rlm-FOO-lib-dir,
293 [ --with-rlm-FOO-lib-dir=DIR Directory to look for library files used by module FOO],
301 dnl # extra argument: --with-rlm-FOO-include-dir
303 AC_ARG_WITH(rlm-FOO-include-dir,
304 [ --with-rlm-FOO-include-dir=DIR Directory to look for include files used by module FOO],
311 dnl See what include-style is used by the make program.
312 dnl AC_MSG_CHECKING(include style for make)
313 dnl echo "include /dev/null" > testmake.$$
314 dnl echo "all:" >> testmake.$$
315 dnl make -f testmake.$$ >/dev/null 2>&1
324 dnl rm -f testmake.$$
325 dnl AC_MSG_RESULT(" $INCLUDE")
326 dnl AC_SUBST(INCLUDE)
329 dnl extra argument: --with-udpfromto
331 AC_ARG_WITH(udpfromto,
332 [ --with-udpfromto Compile in UDPFROMTO support. (default=no)],
342 if test "x$WITH_UDPFROMTO" = "xyes"; then
343 AC_DEFINE(WITH_UDPFROMTO)
346 dnl #############################################################
348 dnl # 1. Checks for programs
350 dnl #############################################################
353 AC_PATH_PROG(PERL, perl, /usr/local/bin/perl)
354 if test "x$ac_cv_path_PERL" = "x"; then
355 AC_MSG_WARN(perl not found - Simultaneous-Use and checkrad.pl may not work)
357 AC_PATH_PROG(SNMPGET, snmpget)
358 if test "x$ac_cv_path_SNMPGET" = "x"; then
359 AC_MSG_WARN(snmpget not found - Simultaneous-Use and checkrad.pl may not work)
362 AC_PATH_PROG(SNMPWALK, snmpwalk)
363 if test "x$ac_cv_path_SNMPWALK" = "x"; then
364 AC_MSG_WARN(snmpwalk not found - Simultaneous-Use and checkrad.pl may not work)
367 AC_PATH_PROG(RUSERS, rusers, /usr/bin/rusers)
369 dnl FIXME This is truly gross.
370 missing_dir=`cd $ac_aux_dir && pwd`
371 AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
372 AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
373 AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
375 AC_PATH_PROG(LOCATE,locate)
376 AC_PATH_PROG(DIRNAME,dirname)
377 AC_PATH_PROG(GREP,grep)
379 dnl #############################################################
381 dnl # 2. Checks for libraries
383 dnl #############################################################
385 dnl If using pthreads, check for -lpthread (posix) or -lc_r (*BSD)
387 if test "x$WITH_THREADS" = "xyes"; then
388 if test $ac_cv_prog_suncc = "yes"; then
392 AC_CHECK_HEADERS(pthread.h, [], [ WITH_THREADS="no" ])
395 dnl # pthread stuff is usually in -lpthread
396 dnl # or in -lc_r, on *BSD
398 dnl # On Some systems, we need extra pre-processor flags, to get them to
399 dnl # to do the threading properly.
401 AC_CHECK_LIB(pthread, pthread_create,
402 [ CFLAGS="$CFLAGS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS"
403 LIBS="$LIBS -lpthread" ],
404 AC_CHECK_LIB(c_r, pthread_create,
405 [ CFLAGS="$CFLAGS -pthread -D_THREAD_SAFE" ],
406 [ WITH_THREADS="no" ]
412 dnl # If we have NO pthread libraries, remove any knowledge of threads.
414 if test "x$WITH_THREADS" != "xyes"; then
416 ac_cv_header_pthread_h="no"
420 dnl # We need sem_init() and friends, as they're the friendliest
421 dnl # semaphore functions for threading.
423 dnl # HP/UX requires linking with librt, too, to get the sem_* symbols.
424 dnl # Some systems have them in -lsem
425 dnl # Solaris has them in -lposix4
427 AC_SEARCH_LIBS(sem_init, pthread sem posix4 rt,
429 [AC_MSG_ERROR(-lsem not found. You may want to download it from ftp://ftp.to.gd-es.com/pub/BSDI/libsem.tar.bz2 or ftp://ftp.freeradius.org/pub/radius/contrib/libsem.tar.gz)]
433 dnl Check if we need -lsocket
434 AC_CHECK_LIB(socket, getsockname)
436 dnl Check for -lresolv
437 dnl This library may be needed later.
438 AC_CHECK_LIB(resolv, inet_aton)
440 dnl Check if we need -lnsl. Usually if we want to
441 dnl link against -lsocket we need to include -lnsl as well.
442 AC_CHECK_LIB(nsl, inet_ntoa)
444 dnl #############################################################
446 dnl # 3. Checks for header files
448 dnl #############################################################
451 dnl # Interix requires us to set -D_ALL_SOURCE, otherwise
452 dnl # getopt will be #included, but won't link. <sigh>
457 CFLAGS="$CFLAGS -D_ALL_SOURCE"
498 AC_CHECK_HEADER(regex.h, AC_DEFINE(HAVE_REGEX_H))
499 if test "x$ac_cv_header_regex_h" = "xyes"; then
507 ], [AC_DEFINE(HAVE_REG_EXTENDED) REGEX_EXTENDED=yes])
510 AC_SUBST(REGEX_EXTENDED)
513 dnl # other checks which require headers
515 if test "x$ac_cv_header_sys_security_h" = "xyes" && test "x$ac_cv_header_prot_h" = "xyes"
520 if test "x$ac_cv_header_sia_h" = "xyes" && test "x$ac_cv_header_siad_h" = "xyes"
525 smart_try_dir="$OPENSSL_INCLUDE_DIR"
526 dnl # stupid RedHat shit
527 CFLAGS="$CFLAGS -DOPENSSL_NO_KRB5"
528 FR_SMART_CHECK_INCLUDE(openssl/ssl.h)
531 if test "x$ac_cv_header_openssl_ssl_h" = "xyes"; then
532 AC_DEFINE(HAVE_OPENSSL_SSL_H)
533 old_CPPFLAGS="$CPPFLAGS"
534 if test "x$OPENSSL_INCLUDE_DIR" != "x"; then
535 CPPFLAGS="-I$OPENSSL_INCLUDE_DIR $CPPFLAGS"
543 CPPFLAGS="$old_CPPFLAGS"
545 AC_MSG_CHECKING([for OpenSSL version >= 0.9.7])
546 old_CPPFLAGS=$CPPFLAGS
548 if test "x$OPENSSL_INCLUDE_DIR" != "x"; then
549 CPPFLAGS="-I$OPENSSL_INCLUDE_DIR"
552 [#include <openssl/crypto.h>
553 #if (OPENSSL_VERSION_NUMBER >= 0x00907000L)
557 if test "x$goodssl" != "xyes"; then
564 # Look for the OpenSSL libraries.
565 smart_try_dir=$OPENSSL_LIB_DIR
566 FR_SMART_CHECK_LIB(crypto, DH_new)
567 if test "x$ac_cv_lib_crypto_DH_new" = "xyes"; then
568 FR_SMART_CHECK_LIB(ssl, SSL_new)
569 if test "x$ac_cv_lib_ssl_SSL_new" = "xyes"; then
570 if test "x$OPENSSL_INCLUDE_DIR" != "x"; then
571 OPENSSL_INCLUDE="-I$OPENSSL_INCLUDE_DIR"
573 if test "x$OPENSSL_LIB_DIR" != "x"; then
574 OPENSSL_LIBS="-L$OPENSSL_LIB_DIR"
576 OPENSSL_LIBS="$OPENSSL_LIBS -lcrypto -lssl -lcrypto"
583 CPPFLAGS=$old_CPPFLAGS
586 AC_SUBST(OPENSSL_INCLUDE)
587 AC_SUBST(OPENSSL_LIBS)
590 dnl #############################################################
592 dnl # 4. Checks for typedefs
594 dnl #############################################################
597 dnl # Ensure that these are defined
604 dnl check for socklen_t
605 FR_CHECK_TYPE_INCLUDE([
606 #ifdef HAVE_SYS_TYPES_H
607 #include <sys/types.h>
609 #ifdef HAVE_SYS_SOCKET_H
610 #include <sys/socket.h>
614 dnl check for uint8_t
615 FR_CHECK_TYPE_INCLUDE([
616 #ifdef HAVE_INTTYPES_H
617 #include <inttypes.h>
622 ],uint8_t, unsigned char)
624 dnl check for uint16_t
625 FR_CHECK_TYPE_INCLUDE([
626 #ifdef HAVE_INTTYPES_H
627 #include <inttypes.h>
632 ],uint16_t, unsigned short)
634 dnl check for uint32_t
635 FR_CHECK_TYPE_INCLUDE([
636 #ifdef HAVE_INTTYPES_H
637 #include <inttypes.h>
642 ],uint32_t, unsigned int)
644 dnl #############################################################
646 dnl # 5. Checks for structures and functions
648 dnl #############################################################
674 RADIUSD_NEED_DECLARATIONS( \
687 dnl # check if we have utmpx.h
688 dnl # if so, check if struct utmpx has entry ut_xtime
689 dnl # if not, set it to define ut_xtime == ut_tv.tv_sec
690 if test "x$ac_cv_header_utmpx_h" = "xyes"
692 FR_CHECK_STRUCT_HAS_MEMBER([#include <utmpx.h>], [struct utmpx], ut_xtime)
693 if test "x$ac_cv_type_struct_utmpx_has_ut_xtime" = "x"
695 AC_DEFINE(ut_xtime,ut_tv.tv_sec)
699 dnl # struct ip_pktinfo
700 FR_CHECK_STRUCT_HAS_MEMBER([#include <netinet/in.h>], [struct in_pktinfo], ipi_addr)
701 if test "x$ac_cv_type_struct_in_pktinfo_has_ipi_addr" = "xyes"
703 AC_DEFINE(HAVE_IP_PKTINFO)
706 dnl #############################################################
708 dnl # 6. Checks for compiler characteristics
710 dnl #############################################################
713 dnl # Ensure that these are defined
718 dnl # See if this is OS/2
720 AC_MSG_CHECKING(type of OS)
723 if test "$OS" = "OS/2"; then
731 dnl # Set Default CFLAGS
733 if test "x$GCC" = "xyes"; then
734 CFLAGS="$CFLAGS -Wall -D_GNU_SOURCE"
737 AC_MSG_CHECKING(for developer gcc flags)
738 if test "x$developer" = "xyes" -a "x$GCC" = "xyes"; then
739 devflags="-g -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -W -Wredundant-decls -Wundef"
740 CFLAGS="$CFLAGS $devflags"
742 AC_MSG_RESULT(yes. Using $devflags)
745 CFLAGS="$CFLAGS -DNDEBUG"
750 dnl #############################################################
752 dnl # 7. Checks for library functions
754 dnl #############################################################
756 dnl Check for libcrypt
757 dnl We use crypt(3) which may be in libc, or in libcrypt (eg FreeBSD)
758 AC_CHECK_LIB(crypt, crypt,
761 if test "$CRYPTLIB" != ""; then
762 AC_DEFINE(HAVE_CRYPT)
764 AC_CHECK_FUNC(crypt, AC_DEFINE(HAVE_CRYPT))
767 dnl Check for libcipher
768 AC_CHECK_LIB(cipher, setkey,
769 CRYPTLIB="${CRYPTLIB} -lcipher"
773 if test "x$WITH_SNMP" = "xyes"; then
777 dnl Check the style of gethostbyaddr, in order of preference
778 dnl GNU (_r eight args)
779 dnl SYSV (_r six args)
780 dnl BSD (three args, may not be thread safe)
781 dnl Tru64 has BSD version, but it is thread safe
782 dnl http://h30097.www3.hp.com/docs/base_doc/DOCUMENTATION/V51B_HTML/MAN/MAN3/1739____.HTM
783 dnl We need #stdio.h to define NULL on FreeBSD (at least)
784 gethostbyaddrrstyle=""
785 AC_MSG_CHECKING([gethostbyaddr_r() syntax])
788 AC_DEFINE(GETHOSTBYADDRRSTYLE, BSDSTYLE)
789 gethostbyaddrrstyle=BSD
790 AC_MSG_WARN([FreeBSD overridden to BSD-style])
793 if test "x$gethostbyaddrrstyle" = "x"; then
797 ], [ gethostbyaddr_r(NULL, 0, 0, NULL, NULL, 0, NULL, NULL) ], [
798 AC_DEFINE(GETHOSTBYADDRRSTYLE, GNUSTYLE)
799 gethostbyaddrrstyle=GNU
802 if test "x$gethostbyaddrrstyle" = "x"; then
806 ], [ gethostbyaddr_r(NULL, 0, 0, NULL, NULL, 0, NULL) ] , [
807 AC_DEFINE(GETHOSTBYADDRRSTYLE, SYSVSTYLE)
808 gethostbyaddrrstyle=SYSV
811 if test "x$gethostbyaddrrstyle" = "x"; then
815 ], [ gethostbyaddr(NULL, 0, 0) ], [
816 AC_DEFINE(GETHOSTBYADDRRSTYLE, BSDSTYLE)
817 gethostbyaddrrstyle=BSD
821 if test "x$gethostbyaddrrstyle" = "x"; then
822 AC_MSG_RESULT([none! It must not exist, here.])
824 AC_MSG_RESULT([${gethostbyaddrrstyle}-style])
827 if test "x$gethostbyaddrrstyle" = "xBSD"; then
828 AC_MSG_WARN([ ****** BSD-style gethostbyaddr might NOT be thread-safe! ****** ])
831 dnl Check the style of gethostbyname, in order of preference
832 dnl GNU (_r seven args)
833 dnl SYSV (_r five args)
834 dnl BSD (two args, may not be thread safe)
835 dnl Tru64 has BSD version, but it _is_ thread safe
836 dnl http://h30097.www3.hp.com/docs/base_doc/DOCUMENTATION/V51B_HTML/MAN/MAN3/1946____.HTM
837 dnl We need #stdio.h to define NULL on FreeBSD (at least)
838 gethostbynamerstyle=""
839 AC_MSG_CHECKING([gethostbyname_r() syntax])
843 ], [ gethostbyname_r(NULL, NULL, NULL, 0, NULL, NULL) ], [
844 AC_DEFINE(GETHOSTBYNAMERSTYLE, GNUSTYLE)
845 gethostbynamerstyle=GNU
847 if test "x$gethostbynamerstyle" = "x"; then
851 ], [ gethostbyname_r(NULL, NULL, NULL, 0, NULL) ] , [
852 AC_DEFINE(GETHOSTBYNAMERSTYLE, SYSVSTYLE)
853 gethostbynamerstyle=SYSV
856 if test "x$gethostbynamerstyle" = "x"; then
860 ], [ gethostbyname(NULL) ], [
861 AC_DEFINE(GETHOSTBYNAMERSTYLE, BSDSTYLE)
862 gethostbynamerstyle=BSD
866 if test "x$gethostbynamerstyle" = "x"; then
867 AC_MSG_RESULT([none! It must not exist, here.])
869 AC_MSG_RESULT([${gethostbynamerstyle}-style])
872 if test "x$gethostbynamerstyle" = "xBSD"; then
873 AC_MSG_WARN([ ****** BSD-style gethostbyname might NOT be thread-safe! ****** ])
876 dnl check for non-posix solaris ctime_r (extra buflen int arg)
878 AC_MSG_CHECKING([ctime_r() syntax])
881 ], [ ctime_r(NULL, NULL, 0) ], [
882 AC_DEFINE(CTIMERSTYLE, SOLARISSTYLE)
883 ctimerstyle="SOLARIS"
885 if test "x$ctimerstyle" = "x"; then
888 ], [ ctime_r(NULL, NULL) ], [
889 AC_DEFINE(CTIMERSTYLE, POSIXSTYLE)
894 if test "x$ctimerstyle" = "x"; then
895 AC_MSG_RESULT([none! It must not exist, here.])
897 AC_MSG_RESULT([${ctimerstyle}-style])
901 dnl If configuring with large file support, determine the right flags to
902 dnl use based on the platform. This is the wrong approach; autoconf 2.50
903 dnl comes with a macro that takes the right approach. But this works well
904 dnl enough until we switch to autoconf 2.50 or later.
905 if test x"$rad_enable_largefiles" = xyes ; then
906 AC_MSG_CHECKING(for largefile linkage)
910 AC_MSG_ERROR([AIX before 4.2 does not support large files])
914 LFS_CFLAGS="-D_LARGE_FILES"
920 LFS_CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
926 AC_MSG_ERROR([Large files not supported on this platform])
930 LFS_CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
933 AC_DEFINE([_GNU_SOURCE], 1,
934 [Some versions of glibc need this defined for pread/pwrite.])
938 AC_PATH_PROG(GETCONF, getconf)
939 if test -z "$GETCONF" ; then
940 AC_MSG_ERROR([getconf required to configure large file support])
942 LFS_CFLAGS=`$GETCONF LFS_CFLAGS`
943 LFS_LDFLAGS=`$GETCONF LFS_LDFLAGS`
944 LFS_LIBS=`$GETCONF LFS_LIBS`
948 LFS_CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
954 AC_SUBST(LFS_LDFLAGS)
958 AC_SUBST(HOSTINFO, $host)
960 dnl #############################################################
962 dnl # 8. Checks for system services
964 dnl #############################################################
967 dnl # Figure out where libtool is located,
971 AC_MSG_RESULT([top_builddir=$top_builddir])
972 dnl # AC_SUBST(top_builddir)
977 dnl # Work around stupid autoconf crap
979 if test "x$INCLTDL" != "x";then
980 INCLTDL='-I${top_builddir}/''libltdl'
983 dnl import libtool stuff
985 dnl #############################################################
987 dnl # Configure in any module directories.
989 dnl #############################################################
992 if test "x$EXPERIMENTAL" = "xyes"; then
993 bar=`ls -1 src/modules/rlm_*/configure | sed 's%/configure%%'`
994 dnl # get rid of LF's.
995 mysubdirs=`echo $bar`
998 dnl # Find 'configure' in ONLY the stable modules
1000 for bar in `cat src/modules/stable`; do
1001 if test -f src/modules/$bar/configure; then
1002 mysubdirs="$mysubdirs src/modules/$bar"
1007 dnl ############################################################
1008 dnl # make modules by list
1009 dnl #############################################################
1011 if test "x$EXPERIMENTAL" = "xyes"; then
1012 for foo in `ls -1 src/modules | grep rlm_`; do
1013 MODULES="$MODULES $foo"
1017 dnl # make ONLY the stable modules
1019 for foo in `cat src/modules/stable`; do
1020 MODULES="$MODULES $foo"
1025 dnl # Don't change the variable name here. Autoconf goes bonkers
1028 AC_CONFIG_SUBDIRS($mysubdirs)
1031 dnl #############################################################
1033 dnl # And finally, output the results.
1035 dnl #############################################################
1038 dnl # Substitute whatever libraries we found to be necessary
1041 AC_SUBST(INSTALLSTRIP)
1043 USE_SHARED_LIBS=$enable_shared
1044 AC_SUBST(USE_SHARED_LIBS)
1045 USE_STATIC_LIBS=$enable_static
1046 AC_SUBST(USE_STATIC_LIBS)
1047 AC_SUBST(STATIC_MODULES)
1048 AC_SUBST(RADIUSD_MAJOR_VERSION)
1049 AC_SUBST(RADIUSD_MINOR_VERSION)
1050 AC_SUBST(RADIUSD_VERSION)
1055 ./src/include/build-radpaths-h \
1056 ./src/main/Makefile \
1057 ./src/main/checkrad.pl \
1058 ./src/main/radlast \
1059 ./src/main/radtest \
1060 ./scripts/rc.radiusd \
1061 ./scripts/radwatch \
1062 ./scripts/check-radiusd-config \
1063 ./scripts/radiusd.cron.daily \
1064 ./scripts/radiusd.cron.monthly \
1065 ./scripts/cryptpasswd \
1066 ./raddb/dictionary \
1067 ./raddb/radiusd.conf
1070 AC_OUTPUT_COMMANDS([echo timestamp > src/include/stamp-h])
1071 AC_OUTPUT_COMMANDS([(cd ./src/include && /bin/sh ./build-radpaths-h)])
1072 AC_OUTPUT_COMMANDS([(cd ./src/main && chmod +x checkrad.pl radlast radtest)])
1073 AC_OUTPUT_COMMANDS([(cd ./scripts && chmod +x rc.radiusd radwatch check-radiusd-config radiusd.cron.daily radiusd.cron.monthly cryptpasswd)])