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)
11 AC_CHECK_PROG(GMAKE, gmake, yes, no)
12 if test $GMAKE = no; then
13 AC_PATH_PROG(MAKE, make, /usr/local/bin/make)
15 AC_PATH_PROG(MAKE, gmake, /usr/local/gnu/bin/make)
17 makever=`$ac_cv_path_MAKE --version 2>&1 | grep "GNU Make"`
18 if test -z "$makever"; then
19 AC_MSG_ERROR(GNU Make is not installed. Please download and install it
20 from ftp://prep.ai.mit.edu/pub/gnu/make/ before continuing.)
23 dnl Set Default CFLAGS
24 if test "$GCC" = "yes"; then
25 CFLAGS="$CFLAGS -Wall -D_GNU_SOURCE"
28 dnl extra argument: --with-logdir
29 logdir='${localstatedir}/log'
30 AC_MSG_CHECKING(logdir)
32 [ --with-logdir=DIR Directory for logfiles [LOCALSTATEDIR/log] ],
35 AC_MSG_ERROR(Need logdir)
45 AC_MSG_RESULT($logdir)
47 dnl extra argument: --with-radacctdir
48 radacctdir='${logdir}/radacct'
49 AC_MSG_CHECKING(radacctdir)
50 AC_ARG_WITH(radacctdir,
51 [ --with-radacctdir=PATH Directory for detail files [LOGDIR/radacct] ],
54 AC_MSG_ERROR(Need radacctdir)
64 AC_MSG_RESULT($radacctdir)
66 dnl extra argument: --with-raddbdir
67 raddbdir='${sysconfdir}/raddb'
68 AC_MSG_CHECKING(raddbdir)
70 [ --with-raddbdir=DIR Directory for config files [SYSCONFDIR/raddb] ],
73 AC_MSG_ERROR(Need raddbdir)
83 AC_MSG_RESULT($raddbdir)
85 dnl extra argument: --with-dbm
89 [ --with-dbm Compile in DBM support],
100 dnl extra argument: --with-ndbm
102 [ --with-ndbm Compile in NDBM support],
116 dnl extra argument: --with-ascend-hack
117 AC_ARG_WITH(ascend-hack,
118 [ --with-ascend-hack Include Ascend hacks],
123 AC_DEFINE(WITH_ASCEND_HACK)
127 dnl extra argument: --with-ascend-cpl=N
128 AC_ARG_WITH(ascend-cpl,
129 [ --with-ascend-cpl=N Set Ascend Channels Per Line to N [23] ],
132 AC_DEFINE_UNQUOTED(ASCEND_CHANNELS_PER_LINE, $withval)
136 dnl extra argument: --with-ntdomain-hack
137 AC_ARG_WITH(ntdomain-hack,
138 [ --with-ntdomain-hack Include NT Domain hack],
143 AC_DEFINE(WITH_NTDOMAIN_HACK)
147 dnl extra argument: --with-spcj-hack
148 AC_ARG_WITH(spcj-hack,
149 [ --with-spcj-hack Include Specialix Jetstream hacks],
154 AC_DEFINE(WITH_SPECIALIX_JETSTREAM_HACK)
158 dnl extra argument: --with-dict-nocase
159 AC_ARG_WITH(dict-nocase,
160 [ --with-dict-nocase Make dictionary case-independant],
165 AC_DEFINE(WITH_DICT_NOCASE)
169 dnl extra argument: --with-dynamic_modules
170 WITH_DYNAMIC_MODULES=yes
171 AC_ARG_WITH(dynamic-modules,
172 [ --with-dynamic-modules Use runtime loadable modules ],
175 WITH_DYNAMIC_MODULES=$withval
179 dnl See what include-style is used by the make program.
180 AC_MSG_CHECKING(include style for make)
181 echo "include /dev/null" > testmake.$$
182 echo "all:" >> testmake.$$
183 make -f testmake.$$ >/dev/null 2>&1
193 AC_MSG_RESULT(" $INCLUDE")
197 dnl Check if we have a dynamic linker.
198 AC_MSG_CHECKING(for runtime dynamic linker)
199 if test "$WITH_DYNAMIC_MODULES" = "yes" && test -f /usr/include/dlfcn.h
201 AC_DEFINE(HAVE_LIBDL)
204 AC_MSG_RESULT("found")
206 AC_MSG_RESULT("not found")
210 dnl Modules to be built.
211 for i in `( cd src/modules; ls -1d rlm_* )`
213 if test "$HAVE_LIBDL" = ""; then
214 MODULES="$MODULES$i.a "
215 MODULE_PATHS="$MODULE_PATHS../modules/$i/$i.a "
217 MODULES="$MODULES$i.so "
221 AC_SUBST(MODULE_PATHS)
223 dnl Check for programs
224 AC_PATH_PROG(PERL, perl, /usr/local/bin/perl)
225 if test ! -x $ac_cv_path_PERL; then
226 AC_MSG_ERROR(perl not found - fatal)
228 AC_PATH_PROG(SNMPGET, snmpget, /usr/local/bin/snmpget)
229 AC_PATH_PROG(RUSERS, rusers, /usr/bin/rusers)
231 dnl Check for headers
253 dnl Check for socklen_t
254 AC_TRY_COMPILE([#include <sys/types.h>
255 #include <sys/socket.h>],
257 AC_DEFINE(HAVE_SOCKLEN_T),
260 dnl Check for libcrypt
261 dnl We use crypt(3) which may be in libc, or in libcrypt (eg FreeBSD)
262 AC_CHECK_LIB(crypt, crypt,
267 dnl Check for -lsocket
268 AC_CHECK_LIB(socket, getsockname,
273 dnl Check for -lnsl. We don't need yp_all, but usually if we want to
274 dnl link against -lsocket we need to include -lnsl as well.
275 AC_CHECK_LIB(nsl, yp_all,
285 ./src/include/build-radpaths-h \
287 ./src/main/Makefile \
288 ./src/main/checkrad.pl \
291 ./src/modules/Makefile \
295 ./scripts/rc.radiusd \
299 AC_OUTPUT_COMMANDS([echo timestamp > stamp-h])