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 #############################################################
42 dnl # check for AIX, to allow us to use some BSD functions
43 dnl # must be before macros that call the compiler.
47 AC_PROG_GCC_TRADITIONAL
51 abs_top_builddir=`pwd`
52 AC_SUBST(abs_top_builddir)
54 dnl # autoconf 2.50 and later
55 dnl # AC_SYS_LARGEFILE
59 dnl # check for system bytesex
60 dnl # AC_DEFINES WORDS_BIGENDIAN
64 AC_CHECK_PROG(GMAKE, gmake, yes, no)
65 if test $GMAKE = no; then
66 AC_PATH_PROG(MAKE, make, /usr/local/bin/make)
68 AC_PATH_PROG(MAKE, gmake, /usr/local/gnu/bin/make)
70 makever=`$ac_cv_path_MAKE --version 2>&1 | grep "GNU Make"`
71 if test -z "$makever"; then
72 AC_MSG_ERROR(GNU Make is not installed. Please download and install it
73 from ftp://prep.ai.mit.edu/pub/gnu/make/ before continuing.)
76 dnl libltdl is installable
77 AC_LIBLTDL_INSTALLABLE
79 dnl use system-wide libtool, if it exists
80 AC_ARG_WITH(system-libtool,
81 [ --with-system-libtool try to use libtool installed in your system [default=use our own]],
82 [ AC_PATH_PROG(LIBTOOL, libtool,,$PATH:/usr/local/bin) ],
84 LIBTOOL="`pwd`/libtool"
86 dnl ensure that we're looking for dlopen
89 dnl Figure out how to build shared libraries
94 dnl Put this in later, when all distributed modules use autoconf.
95 dnl AC_ARG_WITH(disablemodulefoo,
96 dnl [ --without-rlm_foo Disables module compilation. Module list:]
97 dnl esyscmd([find src/modules -type d -name rlm_\* -print |\
98 dnl sed -e 's%src/modules/.*/% (sub)- %; s%.*/%- %' |\
99 dnl awk '{print " "$0}']))
101 AC_ARG_ENABLE(strict-dependencies,
102 [ --enable-strict-dependencies Fail configure on lack of module dependancy.])
104 dnl extra argument: --with-logdir
105 logdir='${localstatedir}/log/radius'
106 AC_MSG_CHECKING(logdir)
108 [ --with-logdir=DIR Directory for logfiles [LOCALSTATEDIR/log/radius] ],
111 AC_MSG_ERROR(Need logdir)
121 AC_MSG_RESULT($logdir)
123 dnl extra argument: --with-radacctdir
124 radacctdir='${logdir}/radacct'
125 AC_MSG_CHECKING(radacctdir)
126 AC_ARG_WITH(radacctdir,
127 [ --with-radacctdir=PATH Directory for detail files [LOGDIR/radacct] ],
130 AC_MSG_ERROR(Need radacctdir)
135 radacctdir="$withval"
140 AC_MSG_RESULT($radacctdir)
142 dnl extra argument: --with-raddbdir
143 raddbdir='${sysconfdir}/raddb'
144 AC_MSG_CHECKING(raddbdir)
145 AC_ARG_WITH(raddbdir,
146 [ --with-raddbdir=DIR Directory for config files [SYSCONFDIR/raddb] ],
149 AC_MSG_ERROR(Need raddbdir)
159 AC_MSG_RESULT($raddbdir)
161 dnl extra argument: --with-ascend-binary
163 AC_ARG_WITH(ascend-binary,
164 [ --with-ascend-binary Include support for Ascend binary filter attributes (default=yes)],
172 if test "X$ASCEND_BINARY" = "Xyes"; then
173 AC_DEFINE(ASCEND_BINARY)
176 dnl extra argument: --with-threads
179 [ --with-threads Use threads, if available. (default=yes) ],
188 dnl extra argument: --with-snmp
191 [ --with-snmp Compile in SNMP support. (default=yes)],
200 dnl extra argument: --with-large-files
201 rad_enable_largefiles=no
202 AC_ARG_WITH(large-files,
203 [ --with-large-files Compile in large (2G+) file support. (default=no)],
206 rad_enable_largefiles=yes
214 dnl AC_ARG_ENABLE(ltdl-install,
215 dnl [ --disable-ltdl-install do not install libltdl])
216 dnl if test x"${enable_ltdl_install+set}" != xset; then
217 dnl enable_ltdl_install=yes
218 dnl ac_configure_args="$ac_configure_args --enable-ltdl-install"
220 dnl AC_CONFIG_SUBDIRS(libltdl)
223 dnl # Allow the user to specify a list of modules to be linked
224 dnl # statically to the server.
227 AC_ARG_WITH(static_modules,
228 [ --with-static-modules=QUOTED-MODULE-LIST],[
229 for i in $withval; do
230 STATIC_MODULES="$STATIC_MODULES -dlpreopen ../modules/rlm_$i/rlm_$i.la"
235 dnl # Enable developer C compiler warnings
237 AC_ARG_ENABLE(developer,
238 [ --enable-developer Enables features of interest to developers.],
239 [ case "$enableval" in
248 if test "x$developer" != "xno" -a -d $srcdir/CVS; then
249 dnl turn on the developer flag when taken from a CVS checkout (not a release)
253 dnl extra argument: --with-experimental-modules
255 AC_ARG_WITH(experimental-modules,
256 [ --with-experimental-modules Use experimental and unstable modules. (default=no) ],
266 dnl # extra argument: --openssl-includes=dir
268 AC_ARG_WITH(openssl-includes,
269 [ --with-openssl-includes=DIR Directory to look for OpenSSL include files],
271 *) OPENSSL_INCLUDE="$withval"
275 AC_SUBST(OPENSSL_INCLUDE)
278 dnl # extra argument: --openssl-libraries=dir
280 AC_ARG_WITH(openssl-libraries,
281 [ --with-openssl-libraries=DIR Directory to look for OpenSSL library files],
283 *) OPENSSL_LIBS="$withval"
287 AC_SUBST(OPENSSL_LIBS)
291 dnl # These next two arguments don't actually do anything. They're
292 dnl # place holders so that the top-level configure script can tell
293 dnl # the user how to configure lower-level modules
297 dnl # extra argument: --with-rlm-FOO-lib-dir
299 AC_ARG_WITH(rlm-FOO-lib-dir,
300 [ --with-rlm-FOO-lib-dir=DIR Directory to look for library files used by module FOO],
308 dnl # extra argument: --with-rlm-FOO-include-dir
310 AC_ARG_WITH(rlm-FOO-include-dir,
311 [ --with-rlm-FOO-include-dir=DIR Directory to look for include files used by module FOO],
318 dnl See what include-style is used by the make program.
319 dnl AC_MSG_CHECKING(include style for make)
320 dnl echo "include /dev/null" > testmake.$$
321 dnl echo "all:" >> testmake.$$
322 dnl make -f testmake.$$ >/dev/null 2>&1
331 dnl rm -f testmake.$$
332 dnl AC_MSG_RESULT(" $INCLUDE")
333 dnl AC_SUBST(INCLUDE)
336 dnl extra argument: --with-udpfromto
338 AC_ARG_WITH(udpfromto,
339 [ --with-udpfromto Compile in UDPFROMTO support. (default=no)],
349 if test "x$WITH_UDPFROMTO" = "xyes"; then
350 AC_DEFINE(WITH_UDPFROMTO)
353 dnl extra argument: --with-edir
354 dnl If using Novell eDirectory, enable UP and Novell specific code
356 [ --with-edir Enable Novell eDirectory integration. (default=no) ] , [] )
358 dnl #############################################################
360 dnl # 1. Checks for programs
362 dnl #############################################################
365 AC_PATH_PROG(PERL, perl, /usr/local/bin/perl)
366 if test "x$ac_cv_path_PERL" = "x"; then
367 AC_MSG_WARN(perl not found - Simultaneous-Use and checkrad.pl may not work)
369 AC_PATH_PROG(SNMPGET, snmpget)
370 if test "x$ac_cv_path_SNMPGET" = "x"; then
371 AC_MSG_WARN(snmpget not found - Simultaneous-Use and checkrad.pl may not work)
374 AC_PATH_PROG(SNMPWALK, snmpwalk)
375 if test "x$ac_cv_path_SNMPWALK" = "x"; then
376 AC_MSG_WARN(snmpwalk not found - Simultaneous-Use and checkrad.pl may not work)
379 AC_PATH_PROG(RUSERS, rusers, /usr/bin/rusers)
381 dnl FIXME This is truly gross.
382 missing_dir=`cd $ac_aux_dir && pwd`
383 AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
384 AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
385 AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
387 AC_PATH_PROG(LOCATE,locate)
388 AC_PATH_PROG(DIRNAME,dirname)
389 AC_PATH_PROG(GREP,grep)
391 dnl #############################################################
393 dnl # 2. Checks for libraries
395 dnl #############################################################
397 dnl If using pthreads, check for -lpthread (posix) or -lc_r (*BSD)
399 if test "x$WITH_THREADS" = "xyes"; then
400 if test $ac_cv_prog_suncc = "yes"; then
404 AC_CHECK_HEADERS(pthread.h, [], [ WITH_THREADS="no" ])
407 dnl # pthread stuff is usually in -lpthread
408 dnl # or in -lc_r, on *BSD
410 dnl # On Some systems, we need extra pre-processor flags, to get them to
411 dnl # to do the threading properly.
413 AC_CHECK_LIB(pthread, pthread_create,
414 [ CFLAGS="$CFLAGS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS"
415 LIBS="$LIBS -lpthread" ],
416 AC_CHECK_LIB(c_r, pthread_create,
417 [ CFLAGS="$CFLAGS -pthread -D_THREAD_SAFE" ],
418 [ WITH_THREADS="no" ]
424 dnl # If we have NO pthread libraries, remove any knowledge of threads.
426 if test "x$WITH_THREADS" != "xyes"; then
428 ac_cv_header_pthread_h="no"
432 dnl # We need sem_init() and friends, as they're the friendliest
433 dnl # semaphore functions for threading.
435 dnl # HP/UX requires linking with librt, too, to get the sem_* symbols.
436 dnl # Some systems have them in -lsem
437 dnl # Solaris has them in -lposix4
439 AC_SEARCH_LIBS(sem_init, pthread sem posix4 rt,
441 [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)]
445 dnl Check if we need -lsocket
446 AC_CHECK_LIB(socket, getsockname)
448 dnl Check for -lresolv
449 dnl This library may be needed later.
450 AC_CHECK_LIB(resolv, inet_aton)
452 dnl Check if we need -lnsl. Usually if we want to
453 dnl link against -lsocket we need to include -lnsl as well.
454 AC_CHECK_LIB(nsl, inet_ntoa)
456 dnl #############################################################
458 dnl # 3. Checks for header files
460 dnl #############################################################
463 dnl # Interix requires us to set -D_ALL_SOURCE, otherwise
464 dnl # getopt will be #included, but won't link. <sigh>
469 CFLAGS="$CFLAGS -D_ALL_SOURCE"
472 CFLAGS="$CFLAGS -DDARWIN"
514 AC_CHECK_HEADER(regex.h, AC_DEFINE(HAVE_REGEX_H))
515 if test "x$ac_cv_header_regex_h" = "xyes"; then
523 ], [AC_DEFINE(HAVE_REG_EXTENDED) REGEX_EXTENDED=yes])
526 AC_SUBST(REGEX_EXTENDED)
529 dnl # other checks which require headers
531 if test "x$ac_cv_header_sys_security_h" = "xyes" && test "x$ac_cv_header_prot_h" = "xyes"
536 if test "x$ac_cv_header_sia_h" = "xyes" && test "x$ac_cv_header_siad_h" = "xyes"
541 smart_try_dir="$OPENSSL_INCLUDE"
542 dnl # stupid RedHat shit
543 CFLAGS="$CFLAGS -DOPENSSL_NO_KRB5"
544 AC_SMART_CHECK_INCLUDE(openssl/ssl.h)
545 if test "x$ac_cv_header_openssl_ssl_h" = "xyes"; then
546 AC_DEFINE(HAVE_OPENSSL_SSL_H)
547 old_CPPFLAGS="$CPPFLAGS"
548 if test "x$OPENSSL_INCLUDE" != "x"; then
549 CPPFLAGS="-I$OPENSSL_INCLUDE $CPPFLAGS"
557 CPPFLAGS="$old_CPPFLAGS"
559 AC_MSG_CHECKING([for OpenSSL version >= 0.9.7])
560 old_CPPFLAGS=$CPPFLAGS
561 if test "x$OPENSSL_INCLUDE" != "x"; then
562 CPPFLAGS="-I$OPENSSL_INCLUDE"
565 [#include <openssl/crypto.h>
566 #if (OPENSSL_VERSION_NUMBER >= 0x00907000L)
570 if test "x$goodssl" != "xyes"; then
577 # Look for the OpenSSL libraries.
578 smart_try_dir=$OPENSSL_LIBS
579 AC_SMART_CHECK_LIB(crypto, DH_new)
580 if test "x$ac_cv_lib_crypto_DH_new" = "xyes"; then
581 AC_SMART_CHECK_LIB(ssl, SSL_new)
582 if test "x$ac_cv_lib_ssl_SSL_new" != "xyes"; then
586 export OPENSSL_INCLUDE OPENSSL_LIBS
589 CPPFLAGS=$old_CPPFLAGS
592 dnl #############################################################
594 dnl # 4. Checks for typedefs
596 dnl #############################################################
599 dnl # Ensure that these are defined
606 dnl check for socklen_t
607 AC_CHECK_TYPE_INCLUDE([
608 #ifdef HAVE_SYS_TYPES_H
609 #include <sys/types.h>
611 #ifdef HAVE_SYS_SOCKET_H
612 #include <sys/socket.h>
616 dnl check for uint8_t
617 AC_CHECK_TYPE_INCLUDE([
618 #ifdef HAVE_INTTYPES_H
619 #include <inttypes.h>
624 ],uint8_t, unsigned char)
626 dnl check for uint16_t
627 AC_CHECK_TYPE_INCLUDE([
628 #ifdef HAVE_INTTYPES_H
629 #include <inttypes.h>
634 ],uint16_t, unsigned short)
636 dnl check for uint32_t
637 AC_CHECK_TYPE_INCLUDE([
638 #ifdef HAVE_INTTYPES_H
639 #include <inttypes.h>
644 ],uint32_t, unsigned int)
646 dnl #############################################################
648 dnl # 5. Checks for structures and functions
650 dnl #############################################################
676 RADIUSD_NEED_DECLARATIONS( \
689 dnl # check if we have utmpx.h
690 dnl # if so, check if struct utmpx has entry ut_xtime
691 dnl # if not, set it to define ut_xtime == ut_tv.tv_sec
692 if test "x$ac_cv_header_utmpx_h" = "xyes"
694 AC_CHECK_STRUCT_HAS_MEMBER([#include <utmpx.h>], [struct utmpx], ut_xtime)
695 if test "x$ac_cv_type_struct_utmpx_has_ut_xtime" = "x"
697 AC_DEFINE(ut_xtime,ut_tv.tv_sec)
701 dnl # struct ip_pktinfo
702 AC_CHECK_STRUCT_HAS_MEMBER([#include <netinet/in.h>], [struct in_pktinfo], ipi_addr)
703 if test "x$ac_cv_type_struct_in_pktinfo_has_ipi_addr" = "xyes"
705 AC_DEFINE(HAVE_IP_PKTINFO)
708 dnl #############################################################
710 dnl # 6. Checks for compiler characteristics
712 dnl #############################################################
715 dnl # Ensure that these are defined
720 dnl # See if this is OS/2
722 AC_MSG_CHECKING(type of OS)
725 if test "$OS" = "OS/2"; then
733 dnl # Set Default CFLAGS
735 if test "x$GCC" = "xyes"; then
736 CFLAGS="$CFLAGS -Wall -D_GNU_SOURCE"
739 AC_MSG_CHECKING(for developer gcc flags)
740 if test "x$developer" = "xyes" -a "x$GCC" = "xyes"; then
741 devflags="-g -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -W -Wredundant-decls -Wundef"
742 CFLAGS="$CFLAGS $devflags"
744 AC_MSG_RESULT(yes. Using $devflags)
747 CFLAGS="$CFLAGS -DNDEBUG"
752 dnl #############################################################
754 dnl # 7. Checks for library functions
756 dnl #############################################################
758 dnl Check for libcrypt
759 dnl We use crypt(3) which may be in libc, or in libcrypt (eg FreeBSD)
760 AC_CHECK_LIB(crypt, crypt,
763 if test "$CRYPTLIB" != ""; then
764 AC_DEFINE(HAVE_CRYPT)
766 AC_CHECK_FUNC(crypt, AC_DEFINE(HAVE_CRYPT))
769 dnl Check for libcipher
770 AC_CHECK_LIB(cipher, setkey,
771 CRYPTLIB="${CRYPTLIB} -lcipher"
775 if test "x$WITH_SNMP" = "xyes"; then
779 dnl Check the style of gethostbyaddr, in order of preference
780 dnl GNU (_r eight args)
781 dnl SYSV (_r six args)
782 dnl BSD (three args, may not be thread safe)
783 dnl Tru64 has BSD version, but it is thread safe
784 dnl http://h30097.www3.hp.com/docs/base_doc/DOCUMENTATION/V51B_HTML/MAN/MAN3/1739____.HTM
785 dnl We need #stdio.h to define NULL on FreeBSD (at least)
786 gethostbyaddrrstyle=""
787 AC_MSG_CHECKING([gethostbyaddr_r() syntax])
790 AC_DEFINE(GETHOSTBYADDRRSTYLE, BSDSTYLE)
791 gethostbyaddrrstyle=BSD
792 AC_MSG_WARN([FreeBSD overridden to BSD-style])
795 if test "x$gethostbyaddrrstyle" = "x"; then
799 ], [ gethostbyaddr_r(NULL, 0, 0, NULL, NULL, 0, NULL, NULL) ], [
800 AC_DEFINE(GETHOSTBYADDRRSTYLE, GNUSTYLE)
801 gethostbyaddrrstyle=GNU
804 if test "x$gethostbyaddrrstyle" = "x"; then
808 ], [ gethostbyaddr_r(NULL, 0, 0, NULL, NULL, 0, NULL) ] , [
809 AC_DEFINE(GETHOSTBYADDRRSTYLE, SYSVSTYLE)
810 gethostbyaddrrstyle=SYSV
813 if test "x$gethostbyaddrrstyle" = "x"; then
817 ], [ gethostbyaddr(NULL, 0, 0) ], [
818 AC_DEFINE(GETHOSTBYADDRRSTYLE, BSDSTYLE)
819 gethostbyaddrrstyle=BSD
823 if test "x$gethostbyaddrrstyle" = "x"; then
824 AC_MSG_RESULT([none! It must not exist, here.])
826 AC_MSG_RESULT([${gethostbyaddrrstyle}-style])
829 if test "x$gethostbyaddrrstyle" = "xBSD"; then
830 AC_MSG_WARN([ ****** BSD-style gethostbyaddr might NOT be thread-safe! ****** ])
833 dnl Check the style of gethostbyname, in order of preference
834 dnl GNU (_r seven args)
835 dnl SYSV (_r five args)
836 dnl BSD (two args, may not be thread safe)
837 dnl Tru64 has BSD version, but it _is_ thread safe
838 dnl http://h30097.www3.hp.com/docs/base_doc/DOCUMENTATION/V51B_HTML/MAN/MAN3/1946____.HTM
839 dnl We need #stdio.h to define NULL on FreeBSD (at least)
840 gethostbynamerstyle=""
841 AC_MSG_CHECKING([gethostbyname_r() syntax])
845 ], [ gethostbyname_r(NULL, NULL, NULL, 0, NULL, NULL) ], [
846 AC_DEFINE(GETHOSTBYNAMERSTYLE, GNUSTYLE)
847 gethostbynamerstyle=GNU
849 if test "x$gethostbynamerstyle" = "x"; then
853 ], [ gethostbyname_r(NULL, NULL, NULL, 0, NULL) ] , [
854 AC_DEFINE(GETHOSTBYNAMERSTYLE, SYSVSTYLE)
855 gethostbynamerstyle=SYSV
858 if test "x$gethostbynamerstyle" = "x"; then
862 ], [ gethostbyname(NULL) ], [
863 AC_DEFINE(GETHOSTBYNAMERSTYLE, BSDSTYLE)
864 gethostbynamerstyle=BSD
868 if test "x$gethostbynamerstyle" = "x"; then
869 AC_MSG_RESULT([none! It must not exist, here.])
871 AC_MSG_RESULT([${gethostbynamerstyle}-style])
874 if test "x$gethostbynamerstyle" = "xBSD"; then
875 AC_MSG_WARN([ ****** BSD-style gethostbyname might NOT be thread-safe! ****** ])
878 dnl check for non-posix solaris ctime_r (extra buflen int arg)
880 AC_MSG_CHECKING([ctime_r() syntax])
883 ], [ ctime_r(NULL, NULL, 0) ], [
884 AC_DEFINE(CTIMERSTYLE, SOLARISSTYLE)
885 ctimerstyle="SOLARIS"
887 if test "x$ctimerstyle" = "x"; then
890 ], [ ctime_r(NULL, NULL) ], [
891 AC_DEFINE(CTIMERSTYLE, POSIXSTYLE)
896 if test "x$ctimerstyle" = "x"; then
897 AC_MSG_RESULT([none! It must not exist, here.])
899 AC_MSG_RESULT([${ctimerstyle}-style])
903 dnl If configuring with large file support, determine the right flags to
904 dnl use based on the platform. This is the wrong approach; autoconf 2.50
905 dnl comes with a macro that takes the right approach. But this works well
906 dnl enough until we switch to autoconf 2.50 or later.
907 if test x"$rad_enable_largefiles" = xyes ; then
908 AC_MSG_CHECKING(for largefile linkage)
912 AC_MSG_ERROR([AIX before 4.2 does not support large files])
916 LFS_CFLAGS="-D_LARGE_FILES"
922 LFS_CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
928 AC_MSG_ERROR([Large files not supported on this platform])
932 LFS_CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
935 AC_DEFINE([_GNU_SOURCE], 1,
936 [Some versions of glibc need this defined for pread/pwrite.])
940 AC_PATH_PROG(GETCONF, getconf)
941 if test -z "$GETCONF" ; then
942 AC_MSG_ERROR([getconf required to configure large file support])
944 LFS_CFLAGS=`$GETCONF LFS_CFLAGS`
945 LFS_LDFLAGS=`$GETCONF LFS_LDFLAGS`
946 LFS_LIBS=`$GETCONF LFS_LIBS`
950 LFS_CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
956 AC_SUBST(LFS_LDFLAGS)
960 AC_SUBST(HOSTINFO, $host)
962 dnl #############################################################
964 dnl # 8. Checks for system services
966 dnl #############################################################
969 dnl # Figure out where libtool is located,
973 AC_MSG_RESULT([top_builddir=$top_builddir])
974 dnl # AC_SUBST(top_builddir)
979 dnl # Work around stupid autoconf crap
981 if test "x$INCLTDL" != "x";then
982 INCLTDL='-I${top_builddir}/''libltdl'
985 dnl import libtool stuff
987 dnl #############################################################
989 dnl # Configure in any module directories.
991 dnl #############################################################
994 if test "x$EXPERIMENTAL" = "xyes"; then
995 bar=`ls -1 src/modules/rlm_*/configure | sed 's%/configure%%'`
996 dnl # get rid of LF's.
997 mysubdirs=`echo $bar`
1000 dnl # Find 'configure' in ONLY the stable modules
1002 for bar in `cat src/modules/stable`; do
1003 if test -f src/modules/$bar/configure; then
1004 mysubdirs="$mysubdirs src/modules/$bar"
1009 dnl ############################################################
1010 dnl # make modules by list
1011 dnl #############################################################
1013 if test "x$EXPERIMENTAL" = "xyes"; then
1014 for foo in `ls -1 src/modules | grep rlm_`; do
1015 MODULES="$MODULES $foo"
1019 dnl # make ONLY the stable modules
1021 for foo in `cat src/modules/stable`; do
1022 MODULES="$MODULES $foo"
1027 dnl # Don't change the variable name here. Autoconf goes bonkers
1030 AC_CONFIG_SUBDIRS($mysubdirs)
1033 dnl #############################################################
1035 dnl # And finally, output the results.
1037 dnl #############################################################
1040 dnl # Substitute whatever libraries we found to be necessary
1043 AC_SUBST(INSTALLSTRIP)
1045 USE_SHARED_LIBS=$enable_shared
1046 AC_SUBST(USE_SHARED_LIBS)
1047 USE_STATIC_LIBS=$enable_static
1048 AC_SUBST(USE_STATIC_LIBS)
1049 AC_SUBST(STATIC_MODULES)
1050 AC_SUBST(RADIUSD_MAJOR_VERSION)
1051 AC_SUBST(RADIUSD_MINOR_VERSION)
1052 AC_SUBST(RADIUSD_VERSION)
1057 ./src/include/build-radpaths-h \
1058 ./src/main/Makefile \
1059 ./src/main/checkrad.pl \
1060 ./src/main/radlast \
1061 ./src/main/radtest \
1062 ./scripts/rc.radiusd \
1063 ./scripts/radwatch \
1064 ./scripts/check-radiusd-config \
1065 ./scripts/radiusd.cron.daily \
1066 ./scripts/radiusd.cron.monthly \
1067 ./scripts/cryptpasswd \
1068 ./raddb/dictionary \
1069 ./raddb/radiusd.conf
1072 AC_OUTPUT_COMMANDS([echo timestamp > src/include/stamp-h])
1073 AC_OUTPUT_COMMANDS([(cd ./src/include && /bin/sh ./build-radpaths-h)])
1074 AC_OUTPUT_COMMANDS([(cd ./src/main && chmod +x checkrad.pl radlast radtest)])
1075 AC_OUTPUT_COMMANDS([(cd ./scripts && chmod +x rc.radiusd radwatch check-radiusd-config radiusd.cron.daily radiusd.cron.monthly cryptpasswd)])