dnl Process this file with autoconf to produce a configure script.
dnl $Id$
AC_PREREQ(2.52)
-AC_INIT([Citadel/UX], [5.91], [http://uncensored.citadel.org/])
-AC_REVISION([$Revision$])
+AC_INIT([Citadel], [7.10], [http://www.citadel.org/])
+AC_REVISION([$Revision: 5108 $])
AC_CONFIG_SRCDIR([citserver.c])
AC_PREFIX_DEFAULT(/usr/local/citadel)
if test "$prefix" = NONE; then
- AC_DEFINE_UNQUOTED(BBSDIR, "$ac_default_prefix")
+ AC_DEFINE_UNQUOTED(CTDLDIR, "$ac_default_prefix", [define this to the Citadel home directory])
+ ssl_dir="$ac_default_prefix/keys"
else
- AC_DEFINE_UNQUOTED(BBSDIR, "$prefix")
+ AC_DEFINE_UNQUOTED(CTDLDIR, "$prefix", [define this to the Citadel home directory])
+ ssl_dir="$prefix/keys"
fi
-AC_ARG_ENABLE(autologin, [ --disable-autologin disable autologin (default is enabled if possible)])
-AC_ARG_ENABLE(chkpwd, [ --disable-chkpwd don't build 'chkpwd'])
+
+dnl Make sure we see all GNU and Solaris extensions.
+AC_GNU_SOURCE
+
+
+dnl Checks for the Datadir
+AC_ARG_WITH(datadir,
+ [ --with-datadir directory to store the databases under],
+ [ if test "x$withval" != "xno" ; then
+ AC_DEFINE(HAVE_DATA_DIR,[],[use alternate database location?])
+ AC_DEFINE_UNQUOTED(DATA_DIR, "$withval",[define, if the user suplied a data-directory to use.])
+ MAKE_DATA_DIR=$withval
+ AC_SUBST(MAKE_DATA_DIR)
+ fi
+ ]
+)
+
+dnl Checks for the Datadir
+AC_ARG_WITH(staticdatadir,
+ [ --with-staticdatadir directory to store citadels system messages under],
+ [ if test "x$withval" != "xno" ; then
+ AC_DEFINE(HAVE_STATICDATA_DIR, [], [should we activate an alternate static text location?])
+ AC_DEFINE_UNQUOTED(STATICDATA_DIR, "$withval", [where do we put our static text data?])
+ MAKE_STATICDATA_DIR=$withval
+ AC_SUBST(MAKE_STATICDATA_DIR)
+ fi
+ ]
+)
+
+
+dnl Checks for the SSLdir
+dnl this is a bit different than the rest,
+dnl because of the citadel used to have a keys/ subdir.
+AC_ARG_WITH(ssldir,
+ [ --with-ssldir directory to store the ssl certificates under],
+ [ if test "x$withval" != "xno" ; then
+
+ ssl_dir="$withval"
+ fi
+ AC_SUBST(MAKE_SSL_DIR)
+ ]
+)
+AC_DEFINE_UNQUOTED(SSL_DIR, "$ssl_dir", [were should we put our keys?])
+
+
+dnl Checks for the spooldir
+AC_ARG_WITH(spooldir,
+ [ --with-spooldir directory to keep queues under],
+ [ if test "x$withval" != "xno" ; then
+ AC_DEFINE(HAVE_SPOOL_DIR, [], [enable alternate spool dir?])
+ AC_DEFINE_UNQUOTED(SPOOL_DIR,"$withval", [where do we place our spool dirs?])
+ MAKE_SPOOL_DIR=$withval
+ AC_SUBST(MAKE_SPOOL_DIR)
+ fi
+ ]
+)
+
+
+dnl Checks for the Configdir
+AC_ARG_WITH(sysconfdir,
+ [ --with-sysconfdir directory to store the configs under],
+ [ if test "x$withval" != "xno" ; then
+ AC_DEFINE(HAVE_ETC_DIR, [], [should we search our system config in an alternate place?])
+ AC_DEFINE_UNQUOTED(ETC_DIR, "$withval", [where to search our config files])
+ MAKE_ETC_DIR=$withval
+ AC_SUBST(MAKE_ETC_DIR)
+ fi
+ ]
+)
+
+dnl Checks for where to put our utilities
+AC_ARG_WITH(utility-bindir,
+ [ --with-utility-bindir directory where to find helper binaries],
+ [ if test "x$withval" != "xno" ; then
+ AC_DEFINE(HAVE_UTILBIN_DIR,[],[should we put our helper binaries to another location?])
+ AC_DEFINE_UNQUOTED(UTILBIN_DIR, "$withval", [were to put our helper programs])
+ MAKE_UTILBIN_DIR=$withval
+ AC_SUBST(MAKE_UTILBIN_DIR)
+ fi
+ ]
+)
+
+
+dnl Checks for the run-dir for the sockets
+AC_ARG_WITH(rundir,
+ [ --with-rundir directory to place runtime files (UDS) to?],
+ [ if test "x$withval" != "xno" ; then
+ AC_DEFINE(HAVE_RUN_DIR, [], [should we put our non volatile files elsewhere?])
+ AC_DEFINE_UNQUOTED(RUN_DIR, "$withval", [define, where the config should go in unix style])
+ MAKE_RUN_DIR=$withval
+ AC_SUBST(MAKE_RUN_DIR)
+ fi
+ ]
+)
+
+
+dnl Checks for the Pseudo Random Generator sockets TODO: this keeps being default.
+AC_DEFINE_UNQUOTED(EGD_POOL, "/var/run/egd-pool", [place to keep our pseudo random generator file])
+AC_ARG_WITH(egdpool,
+ [ --with-egdpool the socket from Pseudo Random Generator, defaults to /var/run/egd-pool],
+ [ if test "x$withval" != "xno" ; then
+ AC_DEFINE_UNQUOTED(EGD_POOL, "$withval", [the socket from Pseudo Random Generator])
+ fi
+ ]
+)
+
+
+AC_ARG_WITH(docdir,
+ [ --with-docdir where to install the documentation. default: /usr/local/citadel/],
+ [ if test "x$withval" != "xno" ; then
+ MAKE_DOC_DIR=$withval
+ AC_SUBST(MAKE_DOC_DIR)
+ fi
+ ]
+)
+
+
AC_ARG_ENABLE(threaded-client, [ --disable-threaded-client
disable multithreaded client])
+AC_ARG_ENABLE(pie, [ --enable-pie build position-independent executables])
+
AC_ARG_WITH(pam, [ --with-pam use PAM if present (see PAM.txt before you try this)])
AC_ARG_WITH(kthread, [ --with-kthread use kernel threads (on FreeBSD) (not recommended yet)])
-AC_ARG_WITH(gdbm, [ --with-gdbm@<:@=DIR@:>@ use GDBM @<:@DIR=/usr/local@:>@])
AC_ARG_WITH(db, [ --with-db@<:@=DIR@:>@ use Sleepycat DB 3.x @<:@DIR=/usr/local/BerkeleyDB.3.@<:@123@:>@@:>@])
AC_ARG_WITH(ssl,
- [ --with-ssl=PATH Specify path to OpenSSL installation ],
+ [ --with-ssl=PATH Specify path to OpenSSL installation ],
[
if test "x$withval" != "xno" ; then
tryssldir=$withval
AC_ARG_WITH(ncurses, [ --without-ncurses don't use ncurses])
AC_ARG_WITH(with_zlib, [ --with-zlib use zlib compression if present])
+AC_ARG_WITH(with_ldap, [ --with-ldap use OpenLDAP client library])
AC_ARG_WITH(with_libical, [ --with-libical use libical calendaring library])
-
-if test "x$with_gdbm" != xno -a "x$with_gdbm" != xyes -a "$with_gdbm"; then
- db_dir="$with_gdbm"
- with_gdbm=yes
-fi
+AC_ARG_WITH(with_libsieve, [ --with-libsieve use libsieve mail sorting library])
if test "x$with_db" != xno -a "x$with_db" != xyes -a "$with_db"; then
db_dir="$with_db"
else
test -f /usr/local/lib/libdb.a -o -f /usr/local/lib/libdb.so \
-o -f /usr/local/lib/libdb4.a -o -f /usr/local/lib/libdb4.so \
- -o -f /usr/local/lib/libdb3.a -o -f /usr/local/lib/libdb3.so && db_dir=/usr/local
-
- test -d /usr/local/BerkeleyDB.3.1 && db_dir=/usr/local/BerkeleyDB.3.1
- test -d /usr/local/BerkeleyDB.3.2 && db_dir=/usr/local/BerkeleyDB.3.2
- test -d /usr/local/BerkeleyDB.3.3 && db_dir=/usr/local/BerkeleyDB.3.3
- test -d /usr/local/BerkeleyDB.4.0 && db_dir=/usr/local/BerkeleyDB.4.0
-fi
+ && db_dir=/usr/local
-if test "x$with_gdbm" = xyes -a "x$with_db" = xyes; then
- AC_MSG_ERROR(can't enable both gdbm and db)
+ test -d /usr/local/BerkeleyDB.4.1 && db_dir=/usr/local/BerkeleyDB.4.1
+ test -d /usr/local/BerkeleyDB.4.2 && db_dir=/usr/local/BerkeleyDB.4.2
+ test -d /usr/local/BerkeleyDB.4.3 && db_dir=/usr/local/BerkeleyDB.4.3
fi
dnl By default, we only build the client (citadel and whobbs) unless we can
AC_CANONICAL_HOST
PTHREAD_DEFS=-D_REENTRANT
+AC_MSG_CHECKING([how to compile with POSIX threads])
case "$host" in
dnl BSDI 3.0 wants relocatable object modules instead of shared libs
dnl for dlopen(), and has a wrapper script to link with shared libs.
dnl Also has stupid non-reentrant gethostbyaddr() and friends.
*-*-bsdi[123]*)
test -z "$CC" -a -x /usr/bin/shlicc2 && CC=shlicc2
- AC_DEFINE(HAVE_NONREENTRANT_NETDB)
+ AC_DEFINE(HAVE_NONREENTRANT_NETDB,[], [define this if the OS has broken non-reentrant gethostby{name,addr}() ])
+ AC_MSG_RESULT([Old BSDI])
;;
*-*-bsdi*)
- AC_DEFINE(HAVE_NONREENTRANT_NETDB)
+ AC_DEFINE(HAVE_NONREENTRANT_NETDB, [], [define this if the OS has broken non-reentrant gethostby{name,addr}() ])
+ AC_MSG_RESULT([BSD/OS])
+ ;;
+ dnl Curses support on Mac OS X is kind of screwed at the moment.
+ dnl TCP buffering isn't ideal under OS X. This define should also be
+ dnl checked in other cases of OS X-Linux differences.
+ *-*-darwin*)
+ AC_DEFINE(DISABLE_CURSES,[],[define this to disable use of curses])
+ AC_DEFINE(HAVE_DARWIN, [], [define if using OS X/Darwin])
+ AC_MSG_RESULT([Mac OS X])
;;
dnl Digital Unix has an odd way to build for pthreads, and we can't
dnl build pthreads programs with gcc due to header problems.
test -z "$CC" && CC=cc
LIBS="-lpthread -lexc $LIBS"
check_pthread=no
+ AC_MSG_RESULT([Tru64 or Digital UNIX])
;;
dnl FreeBSD is similar to Digital UNIX with DEC C, which has a -pthread flag:
*-*-freebsd*)
fi
check_pthread=no
PTHREAD_DEFS=-D_THREAD_SAFE
+ AC_MSG_RESULT([FreeBSD])
;;
*-*-openbsd*)
LIBS="-pthread $LIBS"
check_pthread=no
PTHREAD_DEFS=-pthread
+ AC_MSG_RESULT([OpenBSD])
+ ;;
+ *-*-linux*)
+ PTHREAD_DEFS="-D_REENTRANT -pthread"
+ AC_MSG_RESULT([Linux])
;;
*-*-solaris*)
PTHREAD_DEFS="-D_REENTRANT -D_PTHREADS"
+ AC_MSG_RESULT([Solaris])
+ ;;
+ *-*-cygwin*)
+ SERVER_LDFLAGS="-Wl,-subsystem,windows"
+ AC_MSG_RESULT([Cygwin])
+ ;;
+ *)
+ AC_MSG_RESULT([default])
;;
esac
-DEFS="$DEFS $PTHREAD_DEFS"
+dnl DEFS="$DEFS $PTHREAD_DEFS"
+
dnl Checks for programs.
AC_PROG_CC
dnl Set up system-dependent compiler flags.
if test "$GCC" = yes; then
- case "$host" in
- *-*-solaris*|alpha*-dec-osf*)
- CFLAGS="$CFLAGS -Wall -Wcast-qual -Wcast-align -Wno-char-subscripts"
- ;;
- *)
- CFLAGS="$CFLAGS -Wall -Wcast-qual -Wcast-align -Wstrict-prototypes"
- ;;
- esac
+ if test "$CC" = icc; then
+ CFLAGS="$CFLAGS -w1"
+ else
+ case "$host" in
+ *-*-solaris*|alpha*-dec-osf*)
+ CFLAGS="$CFLAGS -Wall -Wcast-qual -Wcast-align -Wno-char-subscripts $PTHREAD_DEFS"
+ ;;
+ *)
+ CFLAGS="$CFLAGS -Wall -Wcast-qual -Wcast-align -Wstrict-prototypes $PTHREAD_DEFS"
+ ;;
+ esac
+ fi
fi
-AC_LIBTOOL_DLOPEN
-AC_LIBTOOL_WIN32_DLL
-AC_DISABLE_STATIC
-AC_PROG_LIBTOOL
-AC_SUBST(LIBTOOL_DEPS)
+
+if test "x$enable_pie" = xyes; then
+ save_CFLAGS="$CFLAGS"
+ save_LDFLAGS="$LDFLAGS"
+ CFLAGS="$CFLAGS -fpie"
+ LDFLAGS="$LDFLAGS -pie -fpie"
+ AC_CACHE_CHECK([whether compiler accepts -pie -fpie], ac_cv_pie_fpie,
+ [AC_TRY_LINK([], [],
+ ac_cv_pie_fpie=yes, ac_cv_pie_fpie=no)])
+ if test $ac_cv_pie_fpie = no; then
+ CFLAGS="$save_CFLAGS"
+ LDFLAGS="$save_LDFLAGS"
+ fi
+fi
+
AC_PROG_INSTALL
AC_PROG_YACC
missing_dir=`cd $ac_aux_dir && pwd`
dnl We want to test for the following in libc before checking for their
dnl respective libraries, because some systems (like Irix) have both, and the
dnl non-libc versions may be broken.
-AC_CHECK_FUNCS(crypt dlopen gethostbyname connect)
+AC_CHECK_FUNCS(crypt gethostbyname connect)
if test "$ac_cv_func_gethostbyname" = no; then
AC_CHECK_LIB(nsl, gethostbyname)
AC_CHECK_LIB(socket, connect)
fi
-if test "$ac_cv_func_dlopen" = no; then
- AC_CHECK_LIB(dl, dlopen, [LIBS="-ldl $LIBS"
- test "$with_pam" = yes && chkpwd_LIBS="-ldl $chkpwd_LIBS"])
-fi
-
-dnl Check for HP/UX dynamic loader. This should only be in -ldld.
-AC_CHECK_LIB(dld, shl_load, LIBS="-ldld $LIBS")
-
dnl Check for Solaris realtime support
AC_CHECK_LIB(rt, sched_yield)
-dnl Determine the system's authentication capabilities, if autologin is
-dnl requested. We currently support PAM, standard getpwnam(), and getspnam()
+dnl Determine the system's authentication capabilities.
+dnl We currently support PAM, standard getpwnam(), and getspnam()
dnl (Linux shadow passwords)
-if test "$enable_autologin" != no; then
+
if test "$with_pam" = yes; then
save_LIBS=$LIBS
AC_CHECK_LIB(pam, pam_start, [chkpwd_LIBS="-lpam $chkpwd_LIBS"
LIBS="-lcrypt $LIBS"])
fi
fi
- if test "$ac_cv_func_crypt" = yes -o "$ac_cv_lib_crypt_crypt" = yes -o "$ac_cv_func_pam_start" = yes; then
- AC_DEFINE(ENABLE_AUTOLOGIN)
- if test "$enable_chkpwd" != no; then
- AC_DEFINE(ENABLE_CHKPWD)
- CHKPWD=chkpwd
- else
- AUTH=auth.lo
- fi
- fi
-fi
test -f /usr/local/lib/libresolv.a && LDFLAGS="$LDFLAGS -L/usr/local/lib"
AC_CHECK_LIB(resolv, res_query, RESOLV="$RESOLV -lresolv")
AC_CHECK_LIB(pthreads, pthread_create)
fi
+test -d /usr/kerberos/include && CPPFLAGS="$CPPFLAGS -I/usr/kerberos/include"
+
# The big search for OpenSSL
if test "$with_ssl" != "no"; then
saved_LIBS="$LIBS"
CFLAGS="$saved_CFLAGS"
if test "x$ac_cv_openssldir" != "xno" ; then
- AC_DEFINE(HAVE_OPENSSL)
+ AC_DEFINE(HAVE_OPENSSL, [], [Define if you have OpenSSL.])
LIBS="-lssl -lcrypto $LIBS"
dnl Need to recover ssldir - test above runs in subshell
ssldir=$ac_cv_openssldir
fi
fi
-if test "x$with_db" != xno -a "x$with_gdbm" != xyes; then
+if test "x$with_db" != xno; then
test "$db_dir" && LDFLAGS="$LDFLAGS -L$db_dir/lib"
dblib=""
if test -d "$db_dir/include/db4"; then
CPPFLAGS="$CPPFLAGS -I$db_dir/include/db4"
dblib="db4"
- elif test -d "$db_dir/include/db3"; then
- CPPFLAGS="$CPPFLAGS -I$db_dir/include/db3"
- dblib="db3"
elif test "$db_dir"; then
CPPFLAGS="$CPPFLAGS -I$db_dir/include"
elif test -d /usr/include/db4; then
CPPFLAGS="$CPPFLAGS -I/usr/include/db4"
dblib="db4"
- elif test -d /usr/include/db3; then
- CPPFLAGS="$CPPFLAGS -I/usr/include/db3"
- dblib="db3"
fi
- AC_SEARCH_LIBS(db_env_create, [$dblib db db4 db3], [
- DATABASE=database_sleepycat.c
- with_gdbm=no
- ])
-
-fi
-if test "x$with_gdbm" != xno -a "x$with_db" != xyes; then
- test -f /usr/local/lib/libgdbm.a -o -f /usr/local/lib/libgdbm.so && db_dir=/usr/local
- test "$db_dir" && LDFLAGS="$LDFLAGS -L$db_dir/lib"
+ AC_CHECK_DB([db db-4.1 db-4 db4],
+ [
+ DATABASE=database_sleepycat.c
+ ],
+ AC_MSG_ERROR([[Can not locate a suitable Berkeley DB
+ library. Use --with-db=PATH to specify
+ the path]]))
- test "$db_dir" && CPPFLAGS="$CPPFLAGS -I$db_dir/include"
-
- AC_CHECK_LIB(gdbm, gdbm_open,
- [LIBS="-lgdbm $LIBS"
- DATABASE=database.c
- with_db=no])
fi
-
-
dnl Checks for the zlib compression library.
if test "x$with_zlib" != xno ; then
AC_CHECK_HEADERS(zlib.h,
fi
if test "x$ok_zlib" = xyes ; then
- LIBS="-lz $LIBS"
- AC_DEFINE(HAVE_ZLIB)
+ SERVER_LIBS="-lz $SERVER_LIBS"
+ AC_DEFINE(HAVE_ZLIB, [], [define this if you have zlib compression available])
+fi
+
+
+
+
+dnl Checks for the OpenLDAP client library.
+if test "x$with_ldap" != xno ; then
+ AC_CHECK_HEADERS(ldap.h,
+ [AC_CHECK_LIB(ldap, ldap_init,
+ [ok_ldap=yes],,
+ )])
fi
+if test "x$ok_ldap" = xyes ; then
+ SERVER_LIBS="-lldap $SERVER_LIBS"
+ AC_DEFINE(HAVE_LDAP, [], [define this if you have OpenLDAP client available])
+fi
+
+
+
+
+
+dnl Checks for the libsieve mailbox sorting library.
+if test "x$with_libsieve" != xno ; then
+ AC_CHECK_HEADERS(sieve2.h,
+ [AC_CHECK_LIB(sieve, sieve2_license,
+ [ok_libsieve=yes],,
+ )])
+fi
+
+if test "x$ok_libsieve" = xyes ; then
+ SERVER_LIBS="-lsieve $SERVER_LIBS"
+ AC_DEFINE(HAVE_LIBSIEVE, [], [define this if you have the libsieve mailbox filtering library available])
+fi
+
+
dnl Checks for the libical calendaring library.
fi
if test "x$ok_libical" = xyes ; then
- LIBS="-lical $LIBS"
- AC_DEFINE(HAVE_LIBICAL)
+
+ AC_TRY_RUN(
+ [
+#include <ical.h>
+main() {
+ int major, minor, v;
+ sscanf(ICAL_VERSION, "%d.%d", &major, &minor);
+ v = 100*major + minor;
+ printf("libical version: %i\n", v);
+ if (v >= 24) {
+ printf("This version is ok.\n");
+ return(0);
+ }
+ printf("libical 0.24 or newer required.\n");
+ printf("Citadel will be built without calendar support.\n");
+ return(1);
+}
+ ],
+ [
+ SERVER_LIBS="-lical $SERVER_LIBS"
+ AC_DEFINE(HAVE_LIBICAL, [], [define this if you have the libical calendaring library available])
+ ]
+ )
fi
+
dnl Checks for header files.
AC_HEADER_DIRENT
AC_HEADER_STDC
dnl TODO: for the DB header checks, we should check whether the headers
dnl define db_env_create, somehow
dnl
-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)
+AC_CHECK_HEADERS(curses.h dl.h fcntl.h limits.h malloc.h termios.h sys/ioctl.h sys/select.h sys/time.h sys/prctl.h syslog.h unistd.h utmp.h utmpx.h paths.h db.h db4/db.h pthread.h netinet/in.h arpa/nameser.h arpa/nameser_compat.h)
dnl
dnl need to check if this is actually compilable, sometimes there are
AC_CHECK_HEADERS(ncurses.h,,,[ ])
fi
-AC_CHECK_HEADER(resolv.h, [SMTP=modules/libsmtp.la; DOMAIN=domain.c],,
+AC_CHECK_HEADER(resolv.h,AC_DEFINE(HAVE_RESOLV_H, [], [define this if you have the resolv.h header file.]),,
[#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
+#endif
+#ifdef HAVE_ARPA_NAMESER_H
+#include <arpa/nameser.h>
#endif])
-AC_SUBST(SMTP)
-AC_SUBST(DOMAIN)
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
#include <utmp.h>], [struct utmp ut; ut.ut_type;],
ac_cv_struct_ut_type=yes, ac_cv_struct_ut_type=no)])
if test $ac_cv_struct_ut_type = yes; then
- AC_DEFINE(HAVE_UT_TYPE)
+ AC_DEFINE(HAVE_UT_TYPE, [], [define this if struct utmp has an ut_type member])
fi
+AC_CACHE_CHECK(
+ [for call semantics from getpwuid_r],
+ ac_cv_call_getpwuid_r,
+ [AC_TRY_COMPILE([#include <sys/types.h>
+#include <pwd.h>],
+ [
+ struct passwd pw, *pwp;
+ char pwbuf[64];
+ uid_t uid;
+
+ getpwuid_r(uid, &pw, pwbuf, sizeof(pwbuf), &pwp);
+ ],
+ ac_cv_call_getpwuid_r=yes,
+ ac_cv_call_getpwuid_r=no)
+ ])
+
+if test $ac_cv_call_getpwuid_r = no; then
+ AC_DEFINE(SOLARIS_GETPWUID,[],[do we need to use solaris call syntax?])
+ AC_DEFINE(F_UID_T, "%ld", [whats the matching format string for uid_t?])
+ AC_DEFINE(F_PID_T, "%ld", [whats the matching format string for pid_t?])
+ AC_DEFINE(F_XPID_T, "%lx", [whats the matching format string for xpid_t?])
+else
+ AC_DEFINE(F_UID_T, "%d", [whats the matching format string for uid_t?])
+ AC_DEFINE(F_PID_T, "%d", [whats the matching format string for pid_t?])
+ AC_DEFINE(F_XPID_T, "%x", [whats the matching format string for xpid_t?])
+fi
+
+dnl AC_CHECK_FUNCS(res_query)
+AC_CACHE_CHECK([for the resolver calls],
+ ac_cv_resquery_ok,
+[AC_TRY_COMPILE([#include <netinet/in.h>
+#include <arpa/nameser.h>
+#include <resolv.h>],
+ [
+ char *domain="www.google.com";
+ u_char *answer;
+ int len;
+ len = res_query( domain, C_IN, T_A, answer, PACKETSZ );
+ ],
+ ac_cv_resquery_ok=yes,
+ ac_cv_resquery_ok=no)
+])
+echo "resquery: $ac_cv_resquery_ok"
+
+dnl if test "$ac_cv_resquery_ok" = "no" ; then
+dnl AC_DEFINE(RES_QUERY_GONE, "#error resquery not here. can't continue.")
+dnl fi
+
+
+
AC_CACHE_CHECK([for ut_host in struct utmp], ac_cv_struct_ut_host,
[AC_TRY_COMPILE([#include <sys/types.h>
#include <utmp.h>], [struct utmp ut; ut.ut_host;],
ac_cv_struct_ut_host=yes, ac_cv_struct_ut_host=no)])
if test $ac_cv_struct_ut_host = yes; then
- AC_DEFINE(HAVE_UT_HOST)
+ AC_DEFINE(HAVE_UT_HOST, [], [define this if struct utmp has an ut_host member])
fi
dnl Checks for library functions.
#endif],
ac_cv_func_pthread_cancel=yes, ac_cv_func_pthread_cancel=no)])
if test "$ac_cv_func_pthread_cancel" = yes; then
- AC_DEFINE(HAVE_PTHREAD_CANCEL)
+ AC_DEFINE(HAVE_PTHREAD_CANCEL, [], [define this if you have the pthread_cancel() function])
fi
AC_CACHE_CHECK([for pthread_create], ac_cv_func_pthread_create,
#endif],
ac_cv_func_pthread_create=yes, ac_cv_func_pthread_create=no)])
if test "$ac_cv_func_pthread_create" = yes; then
- test "$DATABASE" && TARGETS="client server utils serv_modules"
+ test "$DATABASE" && TARGETS="client server utils"
if test "x$enable_threaded_client" != xno; then
- AC_DEFINE(THREADED_CLIENT)
+ AC_DEFINE(THREADED_CLIENT, [], [define this if you want to enable the multithreaded client])
fi
fi
AC_REPLACE_FUNCS(snprintf getutline)
+AC_CACHE_CHECK([the weather], ac_cv_weather, [
+ sleep 1
+ echo $ECHO_N "opening your window... $ECHO_C" >&6
+ sleep 2
+ month=`date | cut -f 2 -d ' '`
+ case $month in
+ Dec | Jan | Feb)
+ ac_cv_weather="it's cold!"
+ ;;
+ Mar | Apr)
+ ac_cv_weather="it's wet!"
+ ;;
+ Jul | Aug)
+ ac_cv_weather="it's hot!"
+ ;;
+ Oct | Nov)
+ ac_cv_weather="it's cool"
+ ;;
+ May | Jun | Sep | *)
+ ac_cv_weather="it's fine"
+ ;;
+ esac
+ ])
+
+
+
+AC_CACHE_CHECK([under the bed], ac_cv_under_the_bed, [
+ number=`date | cut -c 19`
+ case $number in
+ 7)
+ ac_cv_under_the_bed="lunatics and monsters found"
+ ;;
+ *)
+ ac_cv_under_the_bed="dust bunnies found"
+ ;;
+ esac
+ ])
+
dnl Done! Now write the Makefile and sysdep.h
AC_SUBST(AUTH)
-AC_SUBST(CHKPWD)
AC_SUBST(RESOLV)
AC_SUBST(chkpwd_LIBS)
AC_SUBST(TARGETS)
AC_SUBST(DATABASE)
+AC_SUBST(SERVER_LDFLAGS)
+AC_SUBST(SERVER_LIBS)
+AC_SUBST(SETUP_LIBS)
AC_CONFIG_HEADER(sysdep.h)
-AC_CONFIG_FILES([Makefile weekly])
-AC_OUTPUT
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT(database_cleanup.sh)
if test -z "$DATABASE"; then
AC_MSG_WARN([No database driver was found. Please install Berkeley DB.])
fi
-echo ...
-echo ...
-echo "... On many operating systems, you must use GNU make (gmake) to compile"
-echo ... Citadel.
-echo ...
-echo ...
+echo ------------------------------------------------------------------------
+echo 'zlib compression: ' $ok_zlib
+echo 'Calendar support: ' $ok_libical
+echo 'LDAP support: ' $ok_ldap
+echo 'Sieve mailbox filtering support: ' $ok_libsieve
+echo
+echo 'Note: if you are not using Linux, make sure you are using GNU make'
+echo '(gmake) to compile Citadel.'
+echo