]> code.citadel.org Git - citadel.git/blobdiff - citadel/configure.in
Fixes for Cygwin (see ChangeLog)
[citadel.git] / citadel / configure.in
index 25a0b1663add5ba0879bcc6636fd974fdc147ea6..7033a63774c6e9cf737a33c6049f1d9649ecce06 100644 (file)
@@ -1,5 +1,6 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ(2.12)
+dnl $Id$
+AC_PREREQ(2.13)
 AC_INIT(citserver.c)
 AC_PREFIX_DEFAULT(/usr/local/citadel)
 if test "$prefix" = NONE; then
@@ -25,6 +26,9 @@ case "$host" in
                SERVER_LDFLAGS=-pthread
                TARGETS="client server utils serv_modules"
        ;;
+       i?86-pc-cygwin32)
+               SUFFIX=.exe
+       ;;
 esac
 
 dnl Checks for programs.
@@ -33,7 +37,13 @@ if test "$GCC" = yes; then
        CFLAGS="$CFLAGS -Wall -Wstrict-prototypes"
        dnl pass -rdynamic to the linker to enable dlopen() modules to
        dnl refer to symbols in the main executable (applies to citserver)
-       SERVER_LDFLAGS=-rdynamic
+       case "$host" in
+               mips*-sgi-irix*)
+               ;;
+               *)
+                       SERVER_LDFLAGS=-rdynamic
+               ;;
+       esac
        PICFLAGS=-fPIC
 fi
 AC_PROG_RANLIB
@@ -48,13 +58,26 @@ dnl Makefile only passes $(LIBS) to that target. If other programs start
 dnl requiring additional libraries, we'll have to use other variables, as is
 dnl done with curses.
 
+dnl We want to test for crypt() and dlopen() in libc before checking for
+dnl -lcrypt and -ldl, because some systems (like Irix) have both.
+AC_CHECK_FUNCS(crypt dlopen)
+
 dnl We only need crypt() if we're using autologin. FIXME: implement shadow
 dnl passwords and/or PAM...
-if test "$enable_autologin" != no; then
+if test "$enable_autologin" != no -a "$ac_cv_func_crypt" = no; then
        AC_CHECK_LIB(crypt, crypt)
 fi
 
-AC_CHECK_LIB(dl, dlopen)
+dnl Enable autologin if the feature is requested (which is the default) and
+dnl a crypt() functin is available.
+if test "$enable_autologin" != no -a \( "$ac_cv_func_crypt" = yes -o "$ac_cv_lib_crypt_crypt" = yes \); then
+       AC_DEFINE(ENABLE_AUTOLOGIN)
+fi
+
+if test "$ac_cv_func_dlopen" = no; then
+       AC_CHECK_LIB(dl, dlopen)
+fi
+
 AC_CHECK_LIB(gdbm, gdbm_open)
 AC_CHECK_LIB(curses, initscr, CURSES=-lcurses)
 
@@ -72,7 +95,7 @@ dnl Checks for header files.
 AC_HEADER_DIRENT
 AC_HEADER_STDC
 AC_HEADER_SYS_WAIT
-AC_CHECK_HEADERS(curses.h fcntl.h limits.h termios.h strings.h sys/ioctl.h sys/select.h sys/time.h syslog.h unistd.h)
+AC_CHECK_HEADERS(curses.h fcntl.h limits.h termios.h strings.h sys/ioctl.h sys/select.h sys/time.h syslog.h unistd.h pthread.h gdbm.h)
 
 dnl Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
@@ -86,13 +109,7 @@ AC_FUNC_GETPGRP
 AC_PROG_GCC_TRADITIONAL
 AC_TYPE_SIGNAL
 AC_FUNC_VPRINTF
-AC_CHECK_FUNCS(snprintf mkdir mktime rmdir select socket strerror)
-
-dnl Enable autologin if the feature is requested (which is the default) and
-dnl a crypt() function is available.
-if test "$enable_autologin" != no; then
-       AC_CHECK_FUNC(crypt, AC_DEFINE(ENABLE_AUTOLOGIN))
-fi
+AC_CHECK_FUNCS(snprintf mkdir mkfifo mktime rmdir select socket strerror)
 
 dnl Tell the Makefile whether we need to use our snprintf() replacement.
 if test "$ac_cv_func_snprintf" = no; then
@@ -105,5 +122,6 @@ AC_SUBST(TARGETS)
 AC_SUBST(SERVER_LDFLAGS)
 AC_SUBST(SNPRINTF)
 AC_SUBST(PICFLAGS)
+AC_SUBST(SUFFIX)
 AC_CONFIG_HEADER(sysdep.h)
-AC_OUTPUT(Makefile)
+AC_OUTPUT(Makefile weekly)