* First cut at static-linking the citserver. Ripped out libtool and
[citadel.git] / citadel / configure.ac
1 dnl Process this file with autoconf to produce a configure script.
2 dnl $Id$
3 AC_PREREQ(2.52)
4 AC_INIT([Citadel/UX], [6.02], [http://uncensored.citadel.org/])
5 AC_REVISION([$Revision$])
6 AC_CONFIG_SRCDIR([citserver.c])
7 AC_PREFIX_DEFAULT(/usr/local/citadel)
8 if test "$prefix" = NONE; then
9         AC_DEFINE_UNQUOTED(BBSDIR, "$ac_default_prefix")
10 else
11         AC_DEFINE_UNQUOTED(BBSDIR, "$prefix")
12 fi
13
14 AC_ARG_ENABLE(autologin, [  --disable-autologin     disable autologin (default is enabled if possible)])
15 AC_ARG_ENABLE(chkpwd, [  --disable-chkpwd        don't build 'chkpwd'])
16
17 AC_ARG_ENABLE(threaded-client, [  --disable-threaded-client
18                           disable multithreaded client])
19
20 AC_ARG_WITH(pam, [  --with-pam              use PAM if present (see PAM.txt before you try this)])
21 AC_ARG_WITH(kthread, [  --with-kthread          use kernel threads (on FreeBSD) (not recommended yet)])
22 AC_ARG_WITH(gdbm, [  --with-gdbm@<:@=DIR@:>@       use GDBM @<:@DIR=/usr/local@:>@])
23 AC_ARG_WITH(db, [  --with-db@<:@=DIR@:>@         use Sleepycat DB 3.x @<:@DIR=/usr/local/BerkeleyDB.3.@<:@123@:>@@:>@])
24 AC_ARG_WITH(ssl,
25         [  --with-ssl=PATH     Specify path to OpenSSL installation ],
26         [
27                 if test "x$withval" != "xno" ; then
28                         tryssldir=$withval
29                 fi
30         ]
31 )
32 AC_ARG_WITH(ncurses, [  --without-ncurses       don't use ncurses])
33
34 AC_ARG_WITH(with_zlib, [  --with-zlib             use zlib compression if present])
35 AC_ARG_WITH(with_libical, [  --with-libical          use libical calendaring library])
36
37 if test "x$with_gdbm" != xno -a "x$with_gdbm" != xyes -a "$with_gdbm"; then
38         db_dir="$with_gdbm"
39         with_gdbm=yes
40 fi
41
42 if test "x$with_db" != xno -a "x$with_db" != xyes -a "$with_db"; then
43         db_dir="$with_db"
44         with_db=yes
45 else
46         test -f /usr/local/lib/libdb.a -o -f /usr/local/lib/libdb.so \
47           -o -f /usr/local/lib/libdb4.a -o -f /usr/local/lib/libdb4.so \
48           -o -f /usr/local/lib/libdb3.a -o -f /usr/local/lib/libdb3.so && db_dir=/usr/local
49
50         test -d /usr/local/BerkeleyDB.3.1 && db_dir=/usr/local/BerkeleyDB.3.1
51         test -d /usr/local/BerkeleyDB.3.2 && db_dir=/usr/local/BerkeleyDB.3.2
52         test -d /usr/local/BerkeleyDB.3.3 && db_dir=/usr/local/BerkeleyDB.3.3
53         test -d /usr/local/BerkeleyDB.4.0 && db_dir=/usr/local/BerkeleyDB.4.0
54 fi
55
56 if test "x$with_gdbm" = xyes -a "x$with_db" = xyes; then
57         AC_MSG_ERROR(can't enable both gdbm and db)
58 fi
59
60 dnl By default, we only build the client (citadel and whobbs) unless we can
61 dnl figure out how to build with POSIX threads.
62 TARGETS=client
63
64 AC_CANONICAL_HOST
65 PTHREAD_DEFS=-D_REENTRANT
66 case "$host" in
67         dnl BSDI 3.0 wants relocatable object modules instead of shared libs
68         dnl for dlopen(), and has a wrapper script to link with shared libs.
69         dnl Also has stupid non-reentrant gethostbyaddr() and friends.
70         *-*-bsdi[123]*)
71                 test -z "$CC" -a -x /usr/bin/shlicc2 && CC=shlicc2
72                 AC_DEFINE(HAVE_NONREENTRANT_NETDB)
73         ;;
74         *-*-bsdi*)
75                 AC_DEFINE(HAVE_NONREENTRANT_NETDB)
76         ;;
77         dnl Curses support on Mac OS X is kind of screwed at the moment.
78         *-*-darwin*)
79                 AC_DEFINE(DISABLE_CURSES)
80         ;;
81         dnl Digital Unix has an odd way to build for pthreads, and we can't
82         dnl build pthreads programs with gcc due to header problems.
83         alpha*-dec-osf*)
84                 test -z "$CC" && CC=cc
85                 LIBS="-lpthread -lexc $LIBS"
86                 check_pthread=no
87         ;;
88         dnl FreeBSD is similar to Digital UNIX with DEC C, which has a -pthread flag:
89         *-*-freebsd*)
90                 if test "$with_kthread" = yes; then
91                         LIBS="-kthread $LIBS"
92                 else
93                         LIBS="-pthread $LIBS"
94                 fi
95                 check_pthread=no
96                 PTHREAD_DEFS=-D_THREAD_SAFE
97         ;;
98         *-*-openbsd*)
99                 LIBS="-pthread $LIBS"
100                 check_pthread=no
101                 PTHREAD_DEFS=-pthread
102         ;;
103         *-*-solaris*)
104                 PTHREAD_DEFS="-D_REENTRANT -D_PTHREADS"
105         ;;
106 esac
107 DEFS="$DEFS $PTHREAD_DEFS"
108
109 dnl Checks for programs.
110 AC_PROG_CC
111
112 dnl Set up system-dependent compiler flags.
113 if test "$GCC" = yes; then
114         case "$host" in
115                 *-*-solaris*|alpha*-dec-osf*)
116                         CFLAGS="$CFLAGS -Wall -Wcast-qual -Wcast-align -Wno-char-subscripts"
117                 ;;
118                 *)
119                         CFLAGS="$CFLAGS -Wall -Wcast-qual -Wcast-align -Wstrict-prototypes"
120                 ;;
121         esac
122 fi
123 AC_DISABLE_STATIC
124 AC_PROG_INSTALL
125 AC_PROG_YACC
126 missing_dir=`cd $ac_aux_dir && pwd`
127 AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
128 AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
129
130 dnl Checks for system services.
131
132 dnl Check the size of various builtin types; see typesize.h (error)
133 AC_CHECK_SIZEOF(char, 0)
134 AC_CHECK_SIZEOF(short, 0)
135 AC_CHECK_SIZEOF(int, 0)
136 AC_CHECK_SIZEOF(long, 0)
137 dnl AC_CHECK_SIZEOF(long long, 0)
138
139 dnl Checks for libraries.
140
141 dnl We want to test for the following in libc before checking for their
142 dnl respective libraries, because some systems (like Irix) have both, and the
143 dnl non-libc versions may be broken.
144 AC_CHECK_FUNCS(crypt gethostbyname connect)
145
146 if test "$ac_cv_func_gethostbyname" = no; then
147         AC_CHECK_LIB(nsl, gethostbyname)
148 fi
149
150 if test "$ac_cv_func_connect" = no; then
151         AC_CHECK_LIB(socket, connect)
152 fi
153
154 dnl Check for Solaris realtime support
155 AC_CHECK_LIB(rt, sched_yield)
156
157 dnl Determine the system's authentication capabilities, if autologin is
158 dnl requested. We currently support PAM, standard getpwnam(), and getspnam()
159 dnl (Linux shadow passwords)
160 if test "$enable_autologin" != no; then
161         if test "$with_pam" = yes; then
162                 save_LIBS=$LIBS
163                 AC_CHECK_LIB(pam, pam_start, [chkpwd_LIBS="-lpam $chkpwd_LIBS"
164                         LIBS="-lpam $LIBS"])
165                 AC_CHECK_FUNCS(pam_start)
166                 test "$enable_chkpwd" != no && LIBS=$save_LIBS
167         fi
168         if test "$ac_cv_func_pam_start" = no -o "$with_pam" != yes; then
169                 save_LIBS=$LIBS
170                 AC_SEARCH_LIBS(getspnam, shadow, [
171                         if test "$ac_cv_search_getspnam" = -lshadow; then
172                                 chkpwd_LIBS="-lshadow $chkpwd_LIBS"
173                         fi])
174                 test "$enable_chkpwd" != no && LIBS=$save_LIBS
175                 if test "$ac_cv_func_crypt" = no; then
176                         AC_CHECK_LIB(crypt, crypt, [
177                                 chkpwd_LIBS="-lcrypt $chkpwd_LIBS"
178                                 test "$enable_chkpwd" = no && \
179                                         LIBS="-lcrypt $LIBS"])
180                 fi
181         fi
182         if test "$ac_cv_func_crypt" = yes -o "$ac_cv_lib_crypt_crypt" = yes -o "$ac_cv_func_pam_start" = yes; then
183                 AC_DEFINE(ENABLE_AUTOLOGIN)
184                 if test "$enable_chkpwd" != no; then
185                         AC_DEFINE(ENABLE_CHKPWD)
186                         CHKPWD=chkpwd
187                 else
188                         AUTH=auth.lo
189                 fi
190         fi
191 fi
192
193 test -f /usr/local/lib/libresolv.a && LDFLAGS="$LDFLAGS -L/usr/local/lib"
194 AC_CHECK_LIB(resolv, res_query, RESOLV="$RESOLV -lresolv")
195
196 if test "x$with_ncurses" != "xno"; then
197         AC_SEARCH_LIBS(tgetent, [ncurses curses termcap])
198         AC_SEARCH_LIBS(scrollok, [ncurses curses])
199         AC_SEARCH_LIBS(initscr, [ncurses curses])
200 else
201         AC_SEARCH_LIBS(tgetent, [curses termcap])
202         AC_SEARCH_LIBS(initscr, [curses])
203 fi
204 AC_CHECK_FUNCS(vw_printw wcolor_set resizeterm wresize)
205
206 dnl Check for libpthread(s) if we're not using Digital UNIX or FreeBSD. (On
207 dnl which the -pthread flag takes care of this.)
208 if test "$check_pthread" != no; then
209         AC_CHECK_LIB(pthread, pthread_create)
210         AC_CHECK_LIB(pthreads, pthread_create)
211 fi
212
213 # The big search for OpenSSL
214 if test "$with_ssl" != "no"; then
215         saved_LIBS="$LIBS"
216         saved_LDFLAGS="$LDFLAGS"
217         saved_CFLAGS="$CFLAGS"
218         if test "x$prefix" != "xNONE"; then
219                 tryssldir="$tryssldir $prefix"
220         fi
221         AC_CACHE_CHECK([for OpenSSL], ac_cv_openssldir, [
222                 for ssldir in $tryssldir "" /usr /usr/local/openssl /usr/lib/openssl /usr/local/ssl /usr/lib/ssl /usr/local /usr/pkg /opt /opt/openssl ; do
223                         CFLAGS="$saved_CFLAGS"
224                         LDFLAGS="$saved_LDFLAGS"
225                         LIBS="$saved_LIBS -lssl -lcrypto"
226         
227                         # Skip directories if they don't exist
228                         if test ! -z "$ssldir" -a ! -d "$ssldir" ; then
229                                 continue;
230                         fi
231                         if test ! -z "$ssldir" -a "x$ssldir" != "x/usr"; then
232                                 # Try to use $ssldir/lib if it exists, otherwise
233                                 # $ssldir
234                                 if test -d "$ssldir/lib" ; then
235                                         LDFLAGS="-L$ssldir/lib $saved_LDFLAGS"
236                                         if test ! -z "$need_dash_r" ; then
237                                                 LDFLAGS="-R$ssldir/lib $LDFLAGS"
238                                         fi
239                                 else
240                                         LDFLAGS="-L$ssldir $saved_LDFLAGS"
241                                         if test ! -z "$need_dash_r" ; then
242                                                 LDFLAGS="-R$ssldir $LDFLAGS"
243                                         fi
244                                 fi
245                                 # Try to use $ssldir/include if it exists, otherwise
246                                 # $ssldir
247                                 if test -d "$ssldir/include" ; then
248                                         CFLAGS="-I$ssldir/include $saved_CFLAGS"
249                                 else
250                                         CFLAGS="-I$ssldir $saved_CFLAGS"
251                                 fi
252                         fi
253         
254                         # Basic test to check for compatible version and correct linking
255                         # *does not* test for RSA - that comes later.
256                         AC_TRY_RUN(
257                                 [
258         #include <string.h>
259         #include <openssl/rand.h>
260         int main(void)
261         {
262                 char a[2048];
263                 memset(a, 0, sizeof(a));
264                 RAND_add(a, sizeof(a), sizeof(a));
265                 return(RAND_status() <= 0);
266         }
267                                 ],
268                                 [
269                                         found_crypto=1
270                                         break;
271                                 ], []
272                         )
273         
274                         if test ! -z "$found_crypto" ; then
275                                 break;
276                         fi
277                 done
278         
279                 if test -z "$ssldir" ; then
280                         ssldir="(system)"
281                 fi
282         
283                 if test ! -z "$found_crypto" ; then
284                         ac_cv_openssldir=$ssldir
285                 else
286                         ac_cv_openssldir="no"
287                 fi
288         ])
289         LIBS="$saved_LIBS"
290         LDFLAGS="$saved_LDFLAGS"
291         CFLAGS="$saved_CFLAGS"
292         
293         if test "x$ac_cv_openssldir" != "xno" ; then
294                 AC_DEFINE(HAVE_OPENSSL)
295                 LIBS="-lssl -lcrypto $LIBS"
296                 dnl Need to recover ssldir - test above runs in subshell
297                 ssldir=$ac_cv_openssldir
298                 if test ! -z "$ssldir" -a "x$ssldir" != "x/usr" -a "x$ssldir" != "x(system)"; then
299                         # Try to use $ssldir/lib if it exists, otherwise
300                         # $ssldir
301                         if test -d "$ssldir/lib" ; then
302                                 LDFLAGS="-L$ssldir/lib $saved_LDFLAGS"
303                                 if test ! -z "$need_dash_r" ; then
304                                         LDFLAGS="-R$ssldir/lib $LDFLAGS"
305                                 fi
306                         else
307                                 LDFLAGS="-L$ssldir $saved_LDFLAGS"
308                                 if test ! -z "$need_dash_r" ; then
309                                         LDFLAGS="-R$ssldir $LDFLAGS"
310                                 fi
311                         fi
312                         # Try to use $ssldir/include if it exists, otherwise
313                         # $ssldir
314                         if test -d "$ssldir/include" ; then
315                                 CFLAGS="-I$ssldir/include $saved_CFLAGS"
316                         else
317                                 CFLAGS="-I$ssldir $saved_CFLAGS"
318                         fi
319                 fi
320         fi
321 fi
322
323 if test "x$with_db" != xno -a "x$with_gdbm" != xyes; then
324         test "$db_dir" && LDFLAGS="$LDFLAGS -L$db_dir/lib"
325
326         dblib=""
327
328         if test -d "$db_dir/include/db4"; then
329                 CPPFLAGS="$CPPFLAGS -I$db_dir/include/db4"
330                 dblib="db4"
331         elif test -d "$db_dir/include/db3"; then
332                 CPPFLAGS="$CPPFLAGS -I$db_dir/include/db3"
333                 dblib="db3"
334         elif test "$db_dir"; then
335                 CPPFLAGS="$CPPFLAGS -I$db_dir/include"
336         elif test -d /usr/include/db4; then
337                 CPPFLAGS="$CPPFLAGS -I/usr/include/db4"
338                 dblib="db4"
339         elif test -d /usr/include/db3; then
340                 CPPFLAGS="$CPPFLAGS -I/usr/include/db3"
341                 dblib="db3"
342         fi
343
344         AC_SEARCH_LIBS(db_env_create, [$dblib db db4 db3], [
345                 DATABASE=database_sleepycat.c
346                 with_gdbm=no
347         ])
348
349 fi
350
351 if test "x$with_gdbm" != xno -a "x$with_db" != xyes; then
352         test -f /usr/local/lib/libgdbm.a -o -f /usr/local/lib/libgdbm.so && db_dir=/usr/local
353         test "$db_dir" && LDFLAGS="$LDFLAGS -L$db_dir/lib"
354
355         test "$db_dir" && CPPFLAGS="$CPPFLAGS -I$db_dir/include"
356
357         AC_CHECK_LIB(gdbm, gdbm_open,
358                 [LIBS="-lgdbm $LIBS"
359                 DATABASE=database.c
360                 with_db=no])
361 fi
362
363
364
365 dnl Checks for the zlib compression library.
366 if test "x$with_zlib" != xno ; then
367         AC_CHECK_HEADERS(zlib.h,
368                 [AC_CHECK_LIB(z, zlibVersion,
369                         [ok_zlib=yes],,
370         )])
371 fi
372
373 if test "x$ok_zlib" = xyes ; then
374         LIBS="-lz $LIBS"
375         AC_DEFINE(HAVE_ZLIB)
376 fi
377
378
379
380 dnl Checks for the libical calendaring library.
381 if test "x$with_libical" != xno ; then
382         AC_CHECK_HEADERS(ical.h,
383                 [AC_CHECK_LIB(ical, icalcomponent_new,
384                         [ok_libical=yes],,
385         )])
386 fi
387
388 if test "x$ok_libical" = xyes ; then
389
390         AC_TRY_RUN(
391                 [
392 #include <ical.h>
393 main() {
394         float v;
395         int i;
396         sscanf(ICAL_VERSION, "%f", &v);
397         printf("libical version: %0.2f\n", v);
398         v = v * 100.0;
399         i = (int) v;
400         if (i >= 24) {
401                 printf("This version is ok.\n");
402                 return(0);
403         }
404         printf("libical 0.24 or newer required.\n");
405         printf("Citadel will be built without calendar support.\n");
406         return(1);
407 }
408                 ], 
409                 [
410                         LIBS="-lical $LIBS"
411                         AC_DEFINE(HAVE_LIBICAL)
412                 ]
413         )
414 fi
415
416
417
418 dnl Checks for header files.
419 AC_HEADER_DIRENT
420 AC_HEADER_STDC
421 AC_HEADER_SYS_WAIT
422
423 dnl
424 dnl TODO: for the DB header checks, we should check whether the headers
425 dnl define db_env_create, somehow
426 dnl
427 AC_CHECK_HEADERS(curses.h dl.h fcntl.h limits.h malloc.h termios.h sys/ioctl.h sys/select.h sys/time.h syslog.h unistd.h utmp.h utmpx.h paths.h db.h db3/db.h db4/db.h pthread.h netinet/in.h arpa/nameser.h)
428
429 dnl
430 dnl need to check if this is actually compilable, sometimes there are
431 dnl conflicts with the system's headers (eg solaris xpg4 style headers)
432 dnl
433 if test "x$with_ncurses" != xno; then
434         AC_CHECK_HEADERS(ncurses.h,,,[ ])
435 fi
436
437 AC_CHECK_HEADER(resolv.h, [SMTP=serv_smtp.o; DOMAIN=domain.c],,
438 [#ifdef HAVE_SYS_TYPES_H
439 #include <sys/types.h>
440 #endif
441 #ifdef HAVE_NETINET_IN_H
442 #include <netinet/in.h>
443 #endif
444 #ifdef HAVE_ARPA_NAMESER_H
445 #include <arpa/nameser.h>
446 #endif])
447
448 AC_SUBST(SMTP)
449 AC_SUBST(DOMAIN)
450
451 dnl Checks for typedefs, structures, and compiler characteristics.
452 AC_C_CONST
453 AC_TYPE_PID_T
454 AC_TYPE_SIZE_T
455 AC_HEADER_TIME
456
457 dnl defined in acinclude.m4:
458 CIT_STRUCT_TM
459
460 AC_CACHE_CHECK([for ut_type in struct utmp], ac_cv_struct_ut_type,
461 [AC_TRY_COMPILE([#include <sys/types.h>
462 #include <utmp.h>], [struct utmp ut; ut.ut_type;],
463 ac_cv_struct_ut_type=yes, ac_cv_struct_ut_type=no)])
464 if test $ac_cv_struct_ut_type = yes; then
465         AC_DEFINE(HAVE_UT_TYPE)
466 fi
467
468 AC_CACHE_CHECK([for ut_host in struct utmp], ac_cv_struct_ut_host,
469 [AC_TRY_COMPILE([#include <sys/types.h>
470 #include <utmp.h>], [struct utmp ut; ut.ut_host;],
471 ac_cv_struct_ut_host=yes, ac_cv_struct_ut_host=no)])
472 if test $ac_cv_struct_ut_host = yes; then
473         AC_DEFINE(HAVE_UT_HOST)
474 fi
475
476 dnl Checks for library functions.
477 AC_FUNC_GETPGRP
478 AC_PROG_GCC_TRADITIONAL
479 AC_TYPE_SIGNAL
480 AC_FUNC_VPRINTF
481 AC_CHECK_FUNCS(getspnam getutxline mkdir mkfifo mktime rmdir select socket strerror strcasecmp strncasecmp)
482
483 dnl Now check for pthreads
484
485 dnl On some platforms, AC_CHECK_FUNC[S] doesn't work for pthreads programs;
486 dnl we need to include pthread.h
487
488 AC_CACHE_CHECK([for pthread_cancel], ac_cv_func_pthread_cancel,
489 [AC_TRY_LINK([#include <pthread.h>],
490 [       pthread_t thread;
491
492         /* The GNU C library defines this for functions which it implements
493            to always fail with ENOSYS.  Some functions are actually named
494            something starting with __ and the normal name is an alias.  */
495 #if defined (__stub_pthread_cancel) || defined (__stub___pthread_cancel)
496         choke me
497 #else
498         pthread_cancel(thread);
499 #endif],
500 ac_cv_func_pthread_cancel=yes, ac_cv_func_pthread_cancel=no)])
501 if test "$ac_cv_func_pthread_cancel" = yes; then
502         AC_DEFINE(HAVE_PTHREAD_CANCEL)
503 fi
504
505 AC_CACHE_CHECK([for pthread_create], ac_cv_func_pthread_create,
506 [AC_TRY_LINK([#include <pthread.h>],
507 [       /* The GNU C library defines this for functions which it implements
508            to always fail with ENOSYS.  Some functions are actually named
509            something starting with __ and the normal name is an alias.  */
510 #if defined (__stub_pthread_cancel) || defined (__stub___pthread_cancel)
511         choke me
512 #else
513         pthread_create(NULL, NULL, NULL, NULL);
514 #endif],
515 ac_cv_func_pthread_create=yes, ac_cv_func_pthread_create=no)])
516 if test "$ac_cv_func_pthread_create" = yes; then
517         test "$DATABASE" && TARGETS="client server utils"
518         if test "x$enable_threaded_client" != xno; then
519                 AC_DEFINE(THREADED_CLIENT)
520         fi
521 fi
522
523 AC_REPLACE_FUNCS(snprintf getutline)
524
525 # AC_CACHE_CHECK([the weather], ac_cv_weather, [
526 #       sleep 1
527 #       echo $ECHO_N "opening your window... $ECHO_C" >&6
528 #       sleep 2
529 #       month=`date | cut -f 2 -d ' '`
530 #       case $month in
531 #       Dec | Jan | Feb)
532 #               ac_cv_weather="it's cold!"
533 #               ;;
534 #       Mar | Apr)
535 #               ac_cv_weather="it's wet!"
536 #               ;;
537 #       Jul | Aug)
538 #               ac_cv_weather="it's hot!"
539 #               ;;
540 #       Oct | Nov)
541 #               ac_cv_weather="it's cool"
542 #               ;;
543 #       May | Jun | Sep | *)
544 #               ac_cv_weather="it's fine"
545 #               ;;
546 #       esac
547 #       ])
548
549 AC_CACHE_CHECK([under the bed], ac_cv_under_the_bed, [
550         number=`date | cut -c 19`
551         case $number in
552         7)
553                 ac_cv_under_the_bed="lunatics and monsters found"
554                 ;;
555         *)
556                 ac_cv_under_the_bed="dust bunnies found"
557                 ;;
558         esac
559         ])
560
561 dnl Done! Now write the Makefile and sysdep.h
562 AC_SUBST(AUTH)
563 AC_SUBST(CHKPWD)
564 AC_SUBST(RESOLV)
565 AC_SUBST(chkpwd_LIBS)
566 AC_SUBST(TARGETS)
567 AC_SUBST(DATABASE)
568 AC_CONFIG_HEADER(sysdep.h)
569 AC_CONFIG_FILES([Makefile weekly])
570 AC_OUTPUT
571
572 if test -z "$DATABASE"; then
573         AC_MSG_WARN([No database driver was found. Please install Berkeley DB.])
574 fi
575
576 echo ...
577 echo ...
578 echo "... On many operating systems, you must use GNU make (gmake) to compile"
579 echo ... Citadel.
580 echo ...
581 echo ...