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.13], [http://www.citadel.org/])
AC_REVISION([$Revision: 5108 $])
AC_CONFIG_SRCDIR([citserver.c])
AC_CONFIG_HEADER(sysdep.h)
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.
]
)
-
-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,
AC_CHECK_LIB(intl, libintl_bindtextdomain, [LDFLAGS="$LDFLAGS -lintl"])
-
-
-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)])
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])
test -d /usr/local/BerkeleyDB.4.5 && db_dir=/usr/local/BerkeleyDB.4.5
fi
-dnl By default, we only build the client (citadel and whobbs) unless we can
-dnl figure out how to build with POSIX threads.
-TARGETS=client
-
AC_CANONICAL_HOST
PTHREAD_DEFS=-D_REENTRANT
AC_MSG_CHECKING([how to compile with POSIX threads])
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])
;;
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
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)
AC_CHECK_SIZEOF(int, 0)
AC_CHECK_SIZEOF(long, 0)
AC_CHECK_SIZEOF(size_t, 0)
+AC_CHECK_SIZEOF(loff_t, 0)
dnl AC_CHECK_SIZEOF(long long, 0)
dnl Checks for libraries.
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,
]
)
-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
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
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
-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
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)
-
-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
#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"
- if test "x$enable_threaded_client" != xno; then
- AC_DEFINE(THREADED_CLIENT, [], [define this if you want to enable the multithreaded client])
- fi
+ test "$DATABASE" && TARGETS="server utils"
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
STRUCT_UCRED
-
-
dnl Done! Now write the Makefile and sysdep.h
-AC_SUBST(AUTH)
AC_SUBST(RESOLV)
AC_SUBST(chkpwd_LIBS)
AC_SUBST(TARGETS)
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.])
fi
mkdir -p $abs_builddir/utils
mkdir -p $abs_builddir/utillib
- mkdir -p $abs_builddir/textclient
fi
if test -n "$srcdir"; then