dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.52)
-AC_INIT([Citadel], [7.89], [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
)
-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
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,
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])
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(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])
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
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)
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 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)
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
- ]
-)
-
-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
- ]
+ [ --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
AC_CHECK_LIB(nsl, gethostbyname)
fi
)
-dnl Checks for the libsieve mailbox sorting library.
-AC_CHECK_HEADER(sieve2.h,
- [AC_CHECK_LIB(sieve, sieve2_license,
- [
- SERVER_LIBS="-lsieve $SERVER_LIBS"
- ],
- [
- AC_MSG_ERROR(libsieve was not found and is required. More info: http://www.citadel.org/doku.php/installation:start)
- ]
- ,
- )],
- [
- AC_MSG_ERROR(sieve2.h was not found and is required. More info: http://www.citadel.org/doku.php/installation:start)
- ]
-)
-
saved_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $SERVER_LIBS"
dnl Check for libcitadel
AC_MSG_ERROR(libcitadel.h was not found or is not usable. Please install libcitadel.)
]
)
-
-CFLAGS="$saved_CFLAGS"
-
-
-dnl experimental libev smtp client remove this to...
-AC_DEFINE(EXPERIMENTAL_SMTP_EVENT_CLIENT, [], [should we use the experimental libevent smtp client?])
-dnl here...
-
-
-
-
- AC_CHECK_LIB(cares, ares_init,
- [
- 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 libevent
-AC_CHECK_HEADER(ares.h,
- [AC_CHECK_LIB(cares, ares_init,
- [
- 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 libevent
-AC_CHECK_HEADER(ev.h,
- [AC_CHECK_LIB(ev, libcitadel_version_string,
- [
- LIBS="-lev $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
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
],
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 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 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.
)
-
-
-
-
-
dnl Checks for libcurl.
AC_CHECK_HEADER(curl/curl.h,
[AC_CHECK_LIB(curl, curl_version,
)
-
-
-
-
-
-
-
-
dnl Checks for header files.
AC_HEADER_DIRENT
AC_HEADER_STDC
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
#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
])
-
-
AC_CACHE_CHECK([under the bed], ac_cv_under_the_bed, [
number=`date | cut -c 19`
case $number in
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 po/citadel-setup/Makefile)
+AC_OUTPUT(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
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.'