]> code.citadel.org Git - citadel.git/blobdiff - citadel/configure.ac
fix build for Solaris
[citadel.git] / citadel / configure.ac
index be9985a6b30a86440bfb26ec9776a707d4509c65..b18a71902c4a59a33354f47dda6f639df0dcfdc3 100644 (file)
@@ -19,7 +19,6 @@ AC_ARG_ENABLE(threaded-client, [  --disable-threaded-client
 
 AC_ARG_WITH(pam, [  --with-pam              use PAM if present (see PAM.txt before you try this)])
 AC_ARG_WITH(kthread, [  --with-kthread          use kernel threads (on FreeBSD) (not recommended yet)])
-AC_ARG_WITH(gdbm, [  --with-gdbm@<:@=DIR@:>@       use GDBM @<:@DIR=/usr/local@:>@])
 AC_ARG_WITH(db, [  --with-db@<:@=DIR@:>@         use Sleepycat DB 3.x @<:@DIR=/usr/local/BerkeleyDB.3.@<:@123@:>@@:>@])
 AC_ARG_WITH(ssl,
        [  --with-ssl=PATH     Specify path to OpenSSL installation ],
@@ -33,11 +32,7 @@ AC_ARG_WITH(ncurses, [  --without-ncurses       don't use ncurses])
 
 AC_ARG_WITH(with_zlib, [  --with-zlib             use zlib compression if present])
 AC_ARG_WITH(with_libical, [  --with-libical          use libical calendaring library])
-
-if test "x$with_gdbm" != xno -a "x$with_gdbm" != xyes -a "$with_gdbm"; then
-       db_dir="$with_gdbm"
-       with_gdbm=yes
-fi
+AC_ARG_WITH(with_newt, [  --with-newt          use newt window library])
 
 if test "x$with_db" != xno -a "x$with_db" != xyes -a "$with_db"; then
        db_dir="$with_db"
@@ -45,16 +40,9 @@ if test "x$with_db" != xno -a "x$with_db" != xyes -a "$with_db"; then
 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 \
-         -o -f /usr/local/lib/libdb3.a -o -f /usr/local/lib/libdb3.so && db_dir=/usr/local
-
-       test -d /usr/local/BerkeleyDB.3.1 && db_dir=/usr/local/BerkeleyDB.3.1
-       test -d /usr/local/BerkeleyDB.3.2 && db_dir=/usr/local/BerkeleyDB.3.2
-       test -d /usr/local/BerkeleyDB.3.3 && db_dir=/usr/local/BerkeleyDB.3.3
-       test -d /usr/local/BerkeleyDB.4.0 && db_dir=/usr/local/BerkeleyDB.4.0
-fi
+         && db_dir=/usr/local
 
-if test "x$with_gdbm" = xyes -a "x$with_db" = xyes; then
-       AC_MSG_ERROR(can't enable both gdbm and db)
+       test -d /usr/local/BerkeleyDB.4.1 && db_dir=/usr/local/BerkeleyDB.4.1
 fi
 
 dnl By default, we only build the client (citadel and whobbs) unless we can
@@ -103,6 +91,9 @@ case "$host" in
        *-*-solaris*)
                PTHREAD_DEFS="-D_REENTRANT -D_PTHREADS"
        ;;
+       *-*-cygwin*)
+               SERVER_LDFLAGS="-Wl,-subsystem,windows"
+       ;;
 esac
 DEFS="$DEFS $PTHREAD_DEFS"
 
@@ -120,7 +111,6 @@ if test "$GCC" = yes; then
                ;;
        esac
 fi
-AC_DISABLE_STATIC
 AC_PROG_INSTALL
 AC_PROG_YACC
 missing_dir=`cd $ac_aux_dir && pwd`
@@ -210,6 +200,8 @@ if test "$check_pthread" != no; then
        AC_CHECK_LIB(pthreads, pthread_create)
 fi
 
+test -d /usr/kerberos/include && CPPFLAGS="$CPPFLAGS -I/usr/kerberos/include"
+
 # The big search for OpenSSL
 if test "$with_ssl" != "no"; then
        saved_LIBS="$LIBS"
@@ -320,7 +312,7 @@ if test "$with_ssl" != "no"; then
        fi
 fi
 
-if test "x$with_db" != xno -a "x$with_gdbm" != xyes; then
+if test "x$with_db" != xno; then
        test "$db_dir" && LDFLAGS="$LDFLAGS -L$db_dir/lib"
 
        dblib=""
@@ -328,40 +320,25 @@ if test "x$with_db" != xno -a "x$with_gdbm" != xyes; then
        if test -d "$db_dir/include/db4"; then
                CPPFLAGS="$CPPFLAGS -I$db_dir/include/db4"
                dblib="db4"
-       elif test -d "$db_dir/include/db3"; then
-               CPPFLAGS="$CPPFLAGS -I$db_dir/include/db3"
-               dblib="db3"
        elif 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"
-       elif test -d /usr/include/db3; then
-               CPPFLAGS="$CPPFLAGS -I/usr/include/db3"
-               dblib="db3"
        fi
 
-       AC_SEARCH_LIBS(db_env_create, [$dblib db db4 db3], [
-               DATABASE=database_sleepycat.c
-               with_gdbm=no
-       ])
-
-fi
 
-if test "x$with_gdbm" != xno -a "x$with_db" != xyes; then
-       test -f /usr/local/lib/libgdbm.a -o -f /usr/local/lib/libgdbm.so && db_dir=/usr/local
-       test "$db_dir" && LDFLAGS="$LDFLAGS -L$db_dir/lib"
-
-       test "$db_dir" && CPPFLAGS="$CPPFLAGS -I$db_dir/include"
+       AC_CHECK_DB([db db-4.1 db-4 db4],
+                   [
+                    DATABASE=database_sleepycat.c
+                   ],
+                   AC_MSG_ERROR([[Can not locate a suitable Berkeley DB
+                                 library.  Use --with-db=PATH to specify
+                                 the path]]))
 
-        AC_CHECK_LIB(gdbm, gdbm_open,
-                [LIBS="-lgdbm $LIBS"
-                DATABASE=database.c
-                with_db=no])
 fi
 
 
-
 dnl Checks for the zlib compression library.
 if test "x$with_zlib" != xno ; then
        AC_CHECK_HEADERS(zlib.h,
@@ -371,12 +348,31 @@ if test "x$with_zlib" != xno ; then
 fi
 
 if test "x$ok_zlib" = xyes ; then
-       LIBS="-lz $LIBS"
+       SERVER_LIBS="-lz $SERVER_LIBS"
        AC_DEFINE(HAVE_ZLIB)
 fi
 
 
 
+
+dnl Checks for the newt window library.
+if test "x$with_newt" != xno ; then
+       AC_CHECK_HEADERS(newt.h,
+               [AC_CHECK_LIB(newt, newtInit,
+                       [ok_newt=yes],,
+       )])
+fi
+
+if test "x$ok_newt" = xyes ; then
+       SETUP_LIBS="-lnewt $SETUP_LIBS"
+       AC_DEFINE(HAVE_NEWT)
+fi
+
+
+
+
+
+
 dnl Checks for the libical calendaring library.
 if test "x$with_libical" != xno ; then
        AC_CHECK_HEADERS(ical.h,
@@ -407,7 +403,7 @@ main() {
 }
                ], 
                [
-                       LIBS="-lical $LIBS"
+                       SERVER_LIBS="-lical $SERVER_LIBS"
                        AC_DEFINE(HAVE_LIBICAL)
                ]
        )
@@ -415,6 +411,7 @@ fi
 
 
 
+
 dnl Checks for header files.
 AC_HEADER_DIRENT
 AC_HEADER_STDC
@@ -424,7 +421,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/time.h syslog.h unistd.h utmp.h utmpx.h paths.h db.h db3/db.h db4/db.h pthread.h netinet/in.h arpa/nameser.h)
+AC_CHECK_HEADERS(curses.h dl.h fcntl.h limits.h malloc.h termios.h sys/ioctl.h sys/select.h sys/time.h syslog.h unistd.h utmp.h utmpx.h paths.h db.h db4/db.h pthread.h netinet/in.h arpa/nameser.h)
 
 dnl
 dnl need to check if this is actually compilable, sometimes there are
@@ -563,6 +560,9 @@ AC_SUBST(RESOLV)
 AC_SUBST(chkpwd_LIBS)
 AC_SUBST(TARGETS)
 AC_SUBST(DATABASE)
+AC_SUBST(SERVER_LDFLAGS)
+AC_SUBST(SERVER_LIBS)
+AC_SUBST(SETUP_LIBS)
 AC_CONFIG_HEADER(sysdep.h)
 AC_CONFIG_FILES([Makefile weekly])
 AC_OUTPUT