dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.52)
-AC_INIT([Citadel], [902], [http://www.citadel.org/])
-AC_REVISION([$Revision: 5108 $])
+
+AC_INIT([Citadel],m4_esyscmd_s([grep REV_LEVEL citadel.h | sed 's/[^0-9]*//g']),[http://uncensored.citadel.org])
+
+AC_REVISION(m4_esyscmd_s([git log --pretty=%h | head -1]))
+
AC_CONFIG_SRCDIR([citserver.c])
-AC_CONFIG_HEADER(sysdep.h)
+AC_CONFIG_HEADER([sysdep.h])
AC_CONFIG_MACRO_DIR([m4])
AC_PREFIX_DEFAULT(/usr/local/citadel)
if test "$prefix" = NONE; then
)
-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
AC_MSG_RESULT([no])
]
)
-fi
+fi
+
if test "$ok_iconv" != "no"; then
AC_MSG_RESULT(Citadel will be built with character set conversion.)
AC_DEFINE(HAVE_ICONV,[],[whether we have iconv for charset conversion])
fi
]
)
-AC_ARG_WITH(with_ldap, [ --with-ldap use OpenLDAP client library])
-dnl AC_ARG_WITH(with_libdspam, [ --with-libdspam use libdspam mail spam scanning library])
-AC_ARG_WITH(with_gc, [ --with-gc use the Boehm-Demers-Weiser garbage collection library])
if test "x$with_db" != xno -a "x$with_db" != xyes -a "$with_db"; then
db_dir="$with_db"
with_db=yes
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 \
&& db_dir=/usr/local
-
- 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
- test -d /usr/local/BerkeleyDB.4.4 && db_dir=/usr/local/BerkeleyDB.4.4
- test -d /usr/local/BerkeleyDB.4.5 && db_dir=/usr/local/BerkeleyDB.4.5
fi
AC_CANONICAL_HOST
fi
AC_MSG_CHECKING([how to create dependancy checks])
- if test -n "`$CC -V 2>&1 |grep Sun`"; then
- DEPEND_FLAG=-xM;
- else
- DEPEND_FLAG=-M
- fi
+ if test -n "`$CC -V 2>&1 |grep Sun`"; then
+ DEPEND_FLAG=-xM;
+ else
+ DEPEND_FLAG=-M
+ fi
AC_SUBST(DEPEND_FLAG)
dnl disable backtrace if we don't want it.
AC_ARG_WITH(backtrace,
- [ --with-backtrace enable backtrace dumps in the syslog],
- [ if test "x$withval" != "xno" ; then
- CFLAGS="$CFLAGS -rdynamic "
- LDFLAGS="$LDFLAGS -rdynamic "
- SERVER_LDFLAGS="$SERVER_LDFLAGS -rdynamic "
- AC_CHECK_FUNCS(backtrace)
- fi
- ]
+ [ --with-backtrace enable backtrace dumps in the syslog],
+ [ if test "x$withval" != "xno" ; then
+ CFLAGS="$CFLAGS -rdynamic "
+ LDFLAGS="$LDFLAGS -rdynamic "
+ SERVER_LDFLAGS="$SERVER_LDFLAGS -rdynamic "
+ AC_CHECK_FUNCS(backtrace)
+ fi
+ ]
)
dnl disable backtrace if we don't want it.
AC_ARG_WITH(gprof,
- [ --with-gprof enable profiling],
- [ if test "x$withval" != "xno" ; then
- CFLAGS="$CFLAGS -pg "
- LDFLAGS="$LDFLAGS -pg "
- SERVER_LDFLAGS="$SERVER_LDFLAGS -pg "
- fi
- ]
+ [ --with-gprof enable profiling],
+ [ if test "x$withval" != "xno" ; then
+ CFLAGS="$CFLAGS -pg "
+ LDFLAGS="$LDFLAGS -pg "
+ SERVER_LDFLAGS="$SERVER_LDFLAGS -pg "
+ fi
+ ]
)
if test "$ac_cv_func_gethostbyname" = no; then
AC_MSG_ERROR(libcitadel.h was not found or is not usable. Please install libcitadel.)
]
)
-
-CFLAGS="$saved_CFLAGS"
-
-
-AC_CHECK_LIB(cares, ares_parse_mx_reply,
- [
- C_ARES_LIBS=-lcares
- AC_DEFINE(HAVE_C_ARES, 1, [Define to use c-ares library])
- have_good_c_ares=yes
- ],, $SOCKET_LIBS $NSL_LIBS
-)
-
-
-
-saved_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS $SERVER_LIBS"
-dnl Check for c-ares
-AC_CHECK_HEADER(ares.h,
- [AC_CHECK_LIB(cares, ares_parse_mx_reply,
- [
- LIBS="-lcares $LIBS $SERVER_LIBS"
- ],
- [
- AC_MSG_ERROR(libc-ares was not found or is not usable. Please install libc-ares.)
- ]
- )],
- [
- AC_MSG_ERROR(ares.h was not found or is not usable. Please install libc-ares.)
- ]
-)
-CFLAGS="$saved_CFLAGS"
-
-saved_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS $SERVER_LIBS"
-dnl Check for libev
-AC_CHECK_HEADER(ev.h,
- [AC_TRY_COMPILE([#include <math.h>
-#include <ev.h>],
- [
- ev_cleanup abort_by_shutdown;
- struct ev_loop *event_base;
- ev_cleanup_start(event_base, &abort_by_shutdown);
- ],
- [
- LIBS="-lev -lm $LIBS $SERVER_LIBS"
- ],
- [
- AC_MSG_ERROR(libev was not found or is not usable. Please install libev.)
- ])
- ],
- [
- AC_MSG_ERROR(ev.h was not found or is not usable. Please install libev.)
- ]
-)
CFLAGS="$saved_CFLAGS"
dblib=""
- if test -d "$db_dir/include/db4"; then
- CPPFLAGS="$CPPFLAGS -I$db_dir/include/db4"
- dblib="db4"
- elif test "$db_dir"; then
+ if 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"
fi
- AC_CHECK_DB([db db-4.1 db-4 db4],
+ AC_CHECK_DB([db],
[
DATABASE=database.c
],
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_initialize,
- [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 libdspam mail spam scanning library.
-dnl if test "x$with_libdspam" != xno ; then
-dnl AC_CHECK_HEADERS(dspam/libdspam.h,
-dnl [AC_CHECK_LIB(dspam, dspam_init,
-dnl [ok_libdspam=yes],,
-dnl )])
-dnl fi
-dnl
-dnl if test "x$ok_libdspam" = xyes ; then
-dnl SERVER_LIBS="-ldspam $SERVER_LIBS"
-dnl AC_DEFINE(HAVE_LIBDSPAM, [], [(unfinished) define this if you have the libdspam mail spam scanning library available])
-dnl fi
-
+AC_CHECK_HEADER(ldap.h,
+ [AC_CHECK_LIB(ldap, ldap_initialize,
+ [
+ SERVER_LIBS="-lldap $SERVER_LIBS"
+ ],
+ [
+ AC_MSG_ERROR(OpenLDAP development library was not found and is required. More info: http://www.citadel.org/doku.php/installation:start)
+ ]
+ ,
+ )],
+ [
+ AC_MSG_ERROR(OpenLDAP development headers were not found and are required. More info: http://www.citadel.org/doku.php/installation:start)
+ ]
+)
dnl Checks for the Expat XML parser.
)
-
-
-
-
-
dnl Checks for libcurl.
AC_CHECK_HEADER(curl/curl.h,
[AC_CHECK_LIB(curl, curl_version,
)
-
-
-
-
-
-
-
-
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(dl.h fcntl.h limits.h malloc.h termios.h sys/ioctl.h sys/select.h sys/stat.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 syscall.h sys/syscall.h)
+AC_CHECK_HEADERS(dl.h fcntl.h limits.h malloc.h termios.h sys/ioctl.h sys/select.h sys/stat.h sys/time.h sys/prctl.h syslog.h unistd.h utmp.h utmpx.h paths.h db.h pthread.h netinet/in.h arpa/nameser.h arpa/nameser_compat.h syscall.h sys/syscall.h)
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
])
-
-
AC_CACHE_CHECK([under the bed], ac_cv_under_the_bed, [
number=`date | cut -c 19`
case $number in
echo ------------------------------------------------------------------------
-echo 'LDAP support: ' $ok_ldap
echo 'Character set conversion support:' $ok_iconv
-echo 'Boehm-Demers-Weiser support: ' $ok_gc
-dnl echo 'DSpam Scanning support: ' $ok_libdspam
echo
echo 'Note: if you are not using Linux, make sure you are using GNU make'
echo '(gmake) to compile Citadel.'