changing internal version number to 8.12
[citadel.git] / citadel / configure.ac
index 0398fcb18f4f99c9fa1073aa1729bd257d6acbb5..7682cbb4024fb5665df49cf770dc06c25088640f 100644 (file)
@@ -1,7 +1,6 @@
 dnl Process this file with autoconf to produce a configure script.
-dnl $Id$
 AC_PREREQ(2.52)
-AC_INIT([Citadel], [7.80], [http://www.citadel.org/])
+AC_INIT([Citadel], [8.12], [http://www.citadel.org/])
 AC_REVISION([$Revision: 5108 $])
 AC_CONFIG_SRCDIR([citserver.c])
 AC_CONFIG_HEADER(sysdep.h)
@@ -10,9 +9,11 @@ AC_PREFIX_DEFAULT(/usr/local/citadel)
 if test "$prefix" = NONE; then
        AC_DEFINE_UNQUOTED(CTDLDIR, "$ac_default_prefix", [define this to the Citadel home directory])
        ssl_dir="$ac_default_prefix/keys"
+       localedir=$ac_default_prefix
 else
        AC_DEFINE_UNQUOTED(CTDLDIR, "$prefix", [define this to the Citadel home directory])
        ssl_dir="$prefix/keys"
+       localedir=$prefix
 fi
 
 dnl Make sure we see all GNU and Solaris extensions.
@@ -155,22 +156,38 @@ AC_ARG_WITH(docdir,
                        ]
 )
 
-
-dnl Checks for the zlib compression library.
-if test "x$with_zlib" != xno ; then
-       AC_CHECK_HEADERS(zlib.h,
-               [AC_CHECK_LIB(z, zlibVersion,
-                       [ok_zlib=yes],,
-       )])
-fi
-
-if test "x$ok_zlib" = xyes ; then
-       LDFLAGS="-lz $LDFLAGS" 
-       AC_DEFINE(HAVE_ZLIB, [], [define this if you have zlib compression available])
-fi
+dnl where to put the locale files
+AC_ARG_WITH(localedir, 
+                   [  --with-localedir          directory to put the locale files to],
+                       [ if test "x$withval" != "xno" ; then
+                           localedir=$withval
+                         fi
+                       ]
+)
+AC_DEFINE_UNQUOTED(LOCALEDIR, "$localedir",[where to find our pot files])
+LOCALEDIR=$localedir
+AC_SUBST(LOCALEDIR)
 
 
 
+dnl Checks for the zlib compression library.
+saved_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS $SERVER_LIBS"
+AC_CHECK_HEADER(zlib.h,
+       [AC_CHECK_LIB(z, zlibVersion,
+               [
+                       LIBS="-lz $LIBS $SERVER_LIBS"
+               ],
+               [
+                       AC_MSG_ERROR(zlib was not found or is not usable.  Please install zlib.)
+               ]
+       ,
+       )],
+       [
+               AC_MSG_ERROR(zlib.h was not found or is not usable.  Please install zlib.)
+       ]
+)
+CFLAGS="$saved_CFLAGS"
 
 dnl Here is the check for a libc integrated iconv
 AC_ARG_ENABLE(iconv,
@@ -248,8 +265,6 @@ AC_ARG_WITH(ssl,
                fi
        ]
 )
-AC_ARG_WITH(ncurses, [  --without-ncurses       don't use ncurses])
-
 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])
@@ -293,7 +308,6 @@ case "$host" in
        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])
        ;;
@@ -356,7 +370,7 @@ if test "$GCC" = yes; then
                                CFLAGS="$CFLAGS -Wall -Wcast-qual -Wcast-align -Wno-char-subscripts $PTHREAD_DEFS"
                        ;;
                        *)
-                       CFLAGS="$CFLAGS -Wall -Wcast-qual -Wcast-align -Wstrict-prototypes $PTHREAD_DEFS"
+                       CFLAGS="$CFLAGS -Wall -Wcast-qual -Wcast-align -Wstrict-prototypes -Wno-strict-aliasing $PTHREAD_DEFS"
                        ;;
                esac
        fi
@@ -387,6 +401,8 @@ AC_SUBST(DEPEND_FLAG)
 
 AC_PROG_INSTALL
 AC_PROG_YACC
+AC_PATH_PROG(DIFF,diff)
+AC_PATH_PROG(PATCH,patch)
 missing_dir=`cd $ac_aux_dir && pwd`
 AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
 AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
@@ -408,6 +424,30 @@ dnl respective libraries, because some systems (like Irix) have both, and the
 dnl non-libc versions may be broken.
 AC_CHECK_FUNCS(crypt gethostbyname connect flock getpwnam_r getpwuid_r getloadavg)
 
+AC_CHECK_FUNCS(strftime_l uselocale gettext)
+
+if test "$ok_nls" != "no"; then
+       AC_CHECK_PROG(ok_xgettext, xgettext, yes, no)
+       ok_nls=$ok_xgettext
+fi
+
+if test "$ok_nls" != "no"; then
+       AC_CHECK_PROG(ok_msgmerge, msgmerge, yes, no)
+       ok_nls=$ok_msgmerge
+fi
+
+if test "$ok_nls" != "no"; then
+       AC_CHECK_PROG(ok_msgfmt, msgfmt, yes, no)
+       ok_nls=$ok_msgfmt
+fi
+
+if test "$ok_nls" != "no"; then
+       AC_MSG_RESULT(citadel will be built with national language support.)
+       AC_DEFINE(ENABLE_NLS, [], [whether we have NLS support])
+       PROG_SUBDIRS="$PROG_SUBDIRS po/citadel-setup"
+else
+       AC_MSG_RESULT(citadel will be built without national language support.)
+fi
 
 dnl disable backtrace if we don't want it.
 AC_ARG_WITH(backtrace, 
@@ -432,16 +472,6 @@ AC_ARG_WITH(gprof,
                        ]
 )
 
-dnl disable thread table reporting
-AC_ARG_WITH(threadlog,
-               [  --with-threadlog        enable logging of thread table],
-                       [ if test "x$withval" != "xno" ; then
-                               AC_DEFINE(WITH_THREADLOG, [], [Define if you want logging of the thread tables.])
-                         fi
-                       ]
-)
-
-
 if test "$ac_cv_func_gethostbyname" = no; then
        AC_CHECK_LIB(nsl, gethostbyname)
 fi
@@ -477,14 +507,6 @@ test "$enable_chkpwd" != no && LIBS=$save_LIBS
                fi
        fi
 
-if test "x$with_ncurses" != "xno"; then
-       AC_SEARCH_LIBS(tgetent, [ncurses curses termcap])
-       AC_SEARCH_LIBS(scrollok, [ncurses curses])
-       AC_SEARCH_LIBS(initscr, [ncurses curses])
-else
-       AC_SEARCH_LIBS(tgetent, [curses termcap])
-       AC_SEARCH_LIBS(initscr, [curses])
-fi
 AC_CHECK_FUNCS(vw_printw wcolor_set resizeterm wresize)
 
 dnl Check for libpthread(s) if we're not using Digital UNIX or FreeBSD. (On
@@ -551,6 +573,58 @@ AC_CHECK_HEADER(libcitadel.h,
 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"
+
 
 # The big search for OpenSSL
 if test "$with_ssl" != "no"; then
@@ -708,22 +782,6 @@ fi
 
 
 
-dnl Checks for the Boehm-Demers-Weiser garbage collection library.
-if test "x$with_gc" != xno ; then
-       AC_CHECK_HEADERS(gc/gc_local_alloc.h,
-               [AC_CHECK_LIB(gc, GC_init,
-                       [ok_gc=yes],,
-       )])
-fi
-
-if test "x$ok_gc" = xyes ; then
-       SERVER_LIBS="-lgc $SERVER_LIBS"
-       AC_DEFINE(HAVE_GC, [], [define this if you have Boehm-Demers-Weiser available])
-fi
-
-
-
-
 
 dnl Checks for the libdspam mail spam scanning library.
 dnl if test "x$with_libdspam" != xno ; then
@@ -796,15 +854,7 @@ dnl
 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/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)
-
-dnl
-dnl need to check if this is actually compilable, sometimes there are
-dnl conflicts with the system's headers (eg solaris xpg4 style headers)
-dnl
-if test "x$with_ncurses" != xno; then
-       AC_CHECK_HEADERS(ncurses.h,,,[ ])
-fi
+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_HEADER(resolv.h,AC_DEFINE(HAVE_RESOLV_H, [], [define this if you have the resolv.h header file.]),,
 [#ifdef HAVE_SYS_TYPES_H
@@ -996,10 +1046,7 @@ AC_CACHE_CHECK([under the bed], ac_cv_under_the_bed, [
 
 STRUCT_UCRED
 
-
-
 dnl Done! Now write the Makefile and sysdep.h
-AC_SUBST(AUTH)
 AC_SUBST(RESOLV)
 AC_SUBST(chkpwd_LIBS)
 AC_SUBST(TARGETS)
@@ -1007,8 +1054,10 @@ AC_SUBST(DATABASE)
 AC_SUBST(SERVER_LDFLAGS)
 AC_SUBST(SERVER_LIBS)
 AC_SUBST(SETUP_LIBS)
+AC_SUBST(DIFF)
+AC_SUBST(PATCH)
 AC_CONFIG_FILES([Makefile])
-AC_OUTPUT(database_cleanup.sh)
+AC_OUTPUT(database_cleanup.sh po/citadel-setup/Makefile)
 
 if test -z "$DATABASE"; then
        AC_MSG_WARN([No database driver was found. Please install Berkeley DB.])