X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fconfigure.ac;h=1db8cbf161c20b85493bc96deec8ca5ab408b1a1;hb=3b838158360ccde6f1f5a03a571879c7e27b508d;hp=b4ec4a178e5450d5b52e9eba0956b2350aee747d;hpb=56d69e5d8434e98835a2582c59b771ba69475431;p=citadel.git diff --git a/citadel/configure.ac b/citadel/configure.ac index b4ec4a178..1db8cbf16 100644 --- a/citadel/configure.ac +++ b/citadel/configure.ac @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. AC_PREREQ(2.52) -AC_INIT([Citadel], [7.83], [http://www.citadel.org/]) +AC_INIT([Citadel], [901], [http://www.citadel.org/]) AC_REVISION([$Revision: 5108 $]) AC_CONFIG_SRCDIR([citserver.c]) AC_CONFIG_HEADER(sysdep.h) @@ -9,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. @@ -154,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, @@ -229,11 +247,6 @@ fi 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)]) @@ -247,8 +260,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]) @@ -268,10 +279,6 @@ else 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]) @@ -292,7 +299,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]) ;; @@ -355,7 +361,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 @@ -386,6 +392,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) @@ -398,6 +406,7 @@ AC_CHECK_SIZEOF(short, 0) 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. @@ -425,11 +434,11 @@ if test "$ok_nls" != "no"; then fi if test "$ok_nls" != "no"; then - AC_MSG_RESULT(WebCit will be built with national language support.) + 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" + PROG_SUBDIRS="$PROG_SUBDIRS po/citadel-setup" else - AC_MSG_RESULT(WebCit will be built without national language support.) + AC_MSG_RESULT(citadel will be built without national language support.) fi dnl disable backtrace if we don't want it. @@ -455,16 +464,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 @@ -500,14 +499,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 @@ -574,6 +565,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 +#include ], + [ + 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 @@ -717,7 +760,7 @@ 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, + [AC_CHECK_LIB(ldap, ldap_initialize, [ok_ldap=yes],, )]) fi @@ -731,22 +774,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 @@ -819,15 +846,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 @@ -969,14 +988,9 @@ 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" - 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 @@ -1019,10 +1033,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) @@ -1030,8 +1041,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.]) @@ -1058,7 +1071,6 @@ if test "$abs_srcdir" != "$abs_builddir"; then fi mkdir -p $abs_builddir/utils mkdir -p $abs_builddir/utillib - mkdir -p $abs_builddir/textclient fi if test -n "$srcdir"; then