Do not check for DB_H definition anymore.
[citadel.git] / citadel / configure.ac
index 6e8894d5bc49cf8c6addd90e013947ffae3fa7a7..02507872000b55f127cfce6b534bb059066e4b98 100644 (file)
@@ -1,9 +1,12 @@
 dnl Process this file with autoconf to produce a configure script.
 AC_PREREQ(2.52)
-AC_INIT([Citadel], [8.03], [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
@@ -136,17 +139,6 @@ AC_ARG_WITH(rundir,
 )
 
 
-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
@@ -171,20 +163,23 @@ AC_SUBST(LOCALEDIR)
 
 
 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
-
-
-
+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,
@@ -234,7 +229,8 @@ if test "$ok_iconv" = no; 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])
@@ -244,11 +240,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)])
@@ -262,29 +253,15 @@ AC_ARG_WITH(ssl,
                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
 
-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])
@@ -388,11 +365,11 @@ if test "x$enable_pie" = xyes; then
 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)
 
 
@@ -412,6 +389,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.
@@ -419,7 +397,7 @@ dnl Checks for libraries.
 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 gethostbyname connect flock getpwnam_r getpwuid_r getloadavg)
+AC_CHECK_FUNCS(crypt gethostbyname connect getpwnam_r getpwuid_r getloadavg)
 
 AC_CHECK_FUNCS(strftime_l uselocale gettext)
 
@@ -448,25 +426,25 @@ fi
 
 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
@@ -566,77 +544,9 @@ AC_CHECK_HEADER(libcitadel.h,
                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_CHECK_LIB(ev, libcitadel_version_string,
-               [
-                       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"
-
-AC_MSG_CHECKING(Checking version of libev)
-AC_TRY_RUN([
-       #include <ev.h>
-       main() {
-               printf("libev is version %d.%d\n", ev_version_major(), ev_version_minor());
-               if (ev_version_major() >= 4) {
-                       exit(0);
-               }
-               exit(1);
-       }
- ],
-               [
-                       AC_MSG_RESULT(This will do just fine, thank you)
-               ],
-               [ 
-                       AC_MSG_ERROR(Citadel requires a newer version of libev.  More info: http://www.citadel.org/doku.php/installation:start)
-               ]
-)
-
-
 # The big search for OpenSSL
 if test "$with_ssl" != "no"; then
        saved_LIBS="$LIBS"
@@ -752,18 +662,12 @@ if test "x$with_db" != xno; then
 
        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
                    ],
@@ -774,39 +678,21 @@ if test "x$with_db" != xno; then
 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 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.
@@ -826,11 +712,6 @@ AC_CHECK_HEADER(expat.h,
 )
 
 
-
-
-
-
-
 dnl Checks for libcurl.
 AC_CHECK_HEADER(curl/curl.h,
        [AC_CHECK_LIB(curl, curl_version,
@@ -848,14 +729,6 @@ AC_CHECK_HEADER(curl/curl.h,
 )
 
 
-
-
-
-
-
-
-
-
 dnl Checks for header files.
 AC_HEADER_DIRENT
 AC_HEADER_STDC
@@ -865,7 +738,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(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
@@ -1007,14 +880,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
@@ -1040,8 +908,6 @@ AC_CACHE_CHECK([the weather], ac_cv_weather, [
        ])
 
 
-
-
 AC_CACHE_CHECK([under the bed], ac_cv_under_the_bed, [
        number=`date | cut -c 19`
        case $number in
@@ -1095,7 +961,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 
@@ -1104,10 +969,7 @@ fi
 
 
 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.'