1 AC_INIT(src/main/radiusd.c)
2 AC_CONFIG_HEADER(src/include/autoconf.h)
3 AC_REVISION($Revision$)dnl
4 dnl AC_PREFIX_DEFAULT(/usr/local)
10 dnl Set Default CFLAGS
11 if test "$GCC" = "yes"; then
12 CFLAGS="$CFLAGS -Wall -D_GNU_SOURCE"
15 dnl extra argument: --with-logdir
16 logdir='${localstatedir}/log'
17 AC_MSG_CHECKING(logdir)
19 [ --with-logdir=DIR Directory for logfiles [LOCALSTATEDIR/log] ],
22 AC_MSG_ERROR(Need logdir)
32 AC_MSG_RESULT($logdir)
34 dnl extra argument: --with-radacctdir
35 radacctdir='${logdir}/radacct'
36 AC_MSG_CHECKING(radacctdir)
37 AC_ARG_WITH(radacctdir,
38 [ --with-radacctdir=PATH Directory for detail files [LOGDIR/radacct] ],
41 AC_MSG_ERROR(Need radacctdir)
51 AC_MSG_RESULT($radacctdir)
53 dnl extra argument: --with-raddbdir
54 raddbdir='${sysconfdir}/raddb'
55 AC_MSG_CHECKING(raddbdir)
57 [ --with-raddbdir=DIR Directory for config files [SYSCONFDIR/raddb] ],
60 AC_MSG_ERROR(Need raddbdir)
70 AC_MSG_RESULT($raddbdir)
72 dnl extra argument: --with-dbm
76 [ --with-dbm Compile in DBM support],
87 dnl extra argument: --with-ndbm
89 [ --with-ndbm Compile in NDBM support],
103 dnl extra argument: --with-ascend-hack
104 AC_ARG_WITH(ascend-hack,
105 [ --with-ascend-hack Include Ascend hacks],
110 AC_DEFINE(WITH_ASCEND_HACK)
114 dnl extra argument: --with-ascend-cpl=N
115 AC_ARG_WITH(ascend-cpl,
116 [ --with-ascend-cpl=N Set Ascend Channels Per Line to N [23] ],
119 AC_DEFINE_UNQUOTED(ASCEND_CHANNELS_PER_LINE, $withval)
123 dnl extra argument: --with-ntdomain-hack
124 AC_ARG_WITH(ntdomain-hack,
125 [ --with-ntdomain-hack Include NT Domain hack],
130 AC_DEFINE(WITH_NTDOMAIN_HACK)
134 dnl extra argument: --with-spcj-hack
135 AC_ARG_WITH(spcj-hack,
136 [ --with-spcj-hack Include Specialix Jetstream hacks],
141 AC_DEFINE(WITH_SPECIALIX_JETSTREAM_HACK)
145 dnl extra argument: --with-dict-nocase
146 AC_ARG_WITH(dict-nocase,
147 [ --with-dict-nocase Make dictionary case-independant],
152 AC_DEFINE(WITH_DICT_NOCASE)
156 dnl extra argument: --with-dynamic_modules
157 WITH_DYNAMIC_MODULES=yes
158 AC_ARG_WITH(dynamic-modules,
159 [ --with-dynamic-modules Use runtime loadable modules ],
162 WITH_DYNAMIC_MODULES=$withval
166 dnl See what include-style is used by the make program.
167 AC_MSG_CHECKING(include style for make)
168 echo "include /dev/null" > testmake.$$
169 echo "all:" >> testmake.$$
170 make -f testmake.$$ >/dev/null 2>&1
180 AC_MSG_RESULT(" $INCLUDE")
184 dnl Check if we have a dynamic linker.
185 AC_MSG_CHECKING(for runtime dynamic linker)
186 if test "$WITH_DYNAMIC_MODULES" = "yes" && test -f /usr/include/dlfcn.h
188 AC_DEFINE(HAVE_LIBDL)
191 AC_MSG_RESULT("found")
193 AC_MSG_RESULT("not found")
197 dnl Modules to be built.
198 for i in `( cd src/modules; ls -1d rlm_* )`
200 if test "$HAVE_LIBDL" = ""; then
201 MODULES="$MODULES$i.a "
202 MODULE_PATHS="$MODULE_PATHS../modules/$i/$i.a "
204 MODULES="$MODULES$i.so "
208 AC_SUBST(MODULE_PATHS)
210 dnl Check for programs
211 AC_PATH_PROG(PERL, perl, /usr/local/bin/perl)
212 if test ! -x $ac_cv_path_PERL; then
213 AC_MSG_ERROR(perl not found - fatal)
215 AC_PATH_PROG(SNMPGET, snmpget, /usr/local/bin/snmpget)
216 AC_PATH_PROG(RUSERS, rusers, /usr/bin/rusers)
218 dnl Check for headers
240 dnl Check for socklen_t
241 AC_TRY_COMPILE([#include <sys/types.h>
242 #include <sys/socket.h>],
244 AC_DEFINE(HAVE_SOCKLEN_T),
247 dnl Check for libcrypt
248 dnl We use crypt(3) which may be in libc, or in libcrypt (eg FreeBSD)
249 AC_CHECK_LIB(crypt, crypt,
254 dnl Check for -lsocket
255 AC_CHECK_LIB(socket, getsockname,
260 dnl Check for -lnsl. We don't need yp_all, but usually if we want to
261 dnl link against -lsocket we need to include -lnsl as well.
262 AC_CHECK_LIB(nsl, yp_all,
273 ./src/main/Makefile \
274 ./src/main/checkrad.pl \
277 ./src/modules/Makefile \
281 ./scripts/rc.radiusd \
285 AC_OUTPUT_COMMANDS([echo timestamp > stamp-h])