configure.in revision 3dd7db82e09ce5f115dc84d3ca1222595e0ff1c2
c25356d5978632df6203437e1953bcb29e0c736fTimo SirainenAC_PREREQ([2.59])
c25356d5978632df6203437e1953bcb29e0c736fTimo SirainenAC_INIT([dovecot],[1.0.beta1],[dovecot@dovecot.org])
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo SirainenAC_CONFIG_SRCDIR([src])
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo SirainenAM_INIT_AUTOMAKE
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo SirainenAM_MAINTAINER_MODE
37847ec8eaec9ad55c9df10ae109efe7b37ac573Timo SirainenAC_HEADER_STDC
37847ec8eaec9ad55c9df10ae109efe7b37ac573Timo SirainenAC_PROG_LIBTOOL
ef50336eefcb9ba99f73c6af37420eaf8857a39bTimo SirainenAC_CHECK_HEADERS(strings.h stdint.h unistd.h dirent.h \
ef50336eefcb9ba99f73c6af37420eaf8857a39bTimo Sirainen sys/uio.h sys/sysmacros.h sys/resource.h sys/select.h libgen.h \
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainen sys/quota.h sys/fs/ufs_quota.h ufs/ufs/quota.h mntent.h sys/mnttab.h \
dca6d617a23e3f93af3b8df59acb46478179fe55Timo SirainenAC_ARG_ENABLE(ipv6,
dca6d617a23e3f93af3b8df59acb46478179fe55Timo Sirainen[ --enable-ipv6 Enable IPv6 support (default)],
dca6d617a23e3f93af3b8df59acb46478179fe55Timo Sirainen if test x$enableval = xno; then
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainen want_ipv6=yes
2615df45a8027948a474abe5e817b34b0499c171Timo Sirainen want_ipv6=yes)
533bfba437e4120aa29dd45bca2aa87e30ee28a2Timo SirainenAC_ARG_ENABLE(debug,
533bfba437e4120aa29dd45bca2aa87e30ee28a2Timo Sirainen[ --enable-debug Enable some extra checks for debugging],
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainen if test x$enableval = xyes; then
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainen AC_DEFINE(DEBUG,, Build with extra debugging checks)
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo SirainenAC_ARG_ENABLE(asserts,
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainen[ --enable-asserts Enable asserts (default)],
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainen if test x$enableval = xno; then
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainen AC_DEFINE(DISABLE_ASSERTS,, Disable asserts)
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo SirainenAC_ARG_WITH(file-offset-size,
c040ee67d0ac0fb7375bb543965bf67dcae6affaTimo Sirainen[ --with-file-offset-size=BITS Set size of file offsets. Usually 32 or 64.
533bfba437e4120aa29dd45bca2aa87e30ee28a2Timo Sirainen (default: 64 if available)],
533bfba437e4120aa29dd45bca2aa87e30ee28a2Timo Sirainen preferred_off_t_bits=$withval,
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainen preferred_off_t_bits=64)
d92f33f13830ba23d814342bf3ea8db721a15bb1Timo SirainenAC_ARG_WITH(mem-align,
d92f33f13830ba23d814342bf3ea8db721a15bb1Timo Sirainen[ --with-mem-align=BYTES Set the memory alignment (default: 8)],
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainen mem_align=$withval,
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo SirainenAC_ARG_WITH(ioloop,
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainen[ --with-ioloop=IOLOOP Specify the I/O loop method to use
dca6d617a23e3f93af3b8df59acb46478179fe55Timo Sirainen (epoll, kqueue, poll; default is poll)],
dca6d617a23e3f93af3b8df59acb46478179fe55Timo Sirainen ioloop=$withval,
dca6d617a23e3f93af3b8df59acb46478179fe55Timo SirainenAC_ARG_WITH(notify,
dca6d617a23e3f93af3b8df59acb46478179fe55Timo Sirainen[ --with-notify=IOLOOP Specify the file system notification method to use
61b0637759146621cbb7edcbd0b03a71cfd66dfeTimo Sirainen (dnotify, inotify, kqueue, none;
dca6d617a23e3f93af3b8df59acb46478179fe55Timo Sirainen default dnotify if compilable, otherwise none)],
b039dabf4c53f72454e795930e7643b6e0e625f9Timo Sirainen notify=$withval,
3c493c276f599d9b9cd10764876d648003046954Timo SirainenAC_ARG_WITH(passwd,
3c493c276f599d9b9cd10764876d648003046954Timo Sirainen[ --with-passwd Build with /etc/passwd support (default)],
b039dabf4c53f72454e795930e7643b6e0e625f9Timo Sirainen if test x$withval = xno; then
2f30b72d49fbff0c4096125c139e4bdfef45669cTimo Sirainen want_passwd=no
91b203fd2132510a47a4b34252c0ae0efd688a19Timo Sirainen want_passwd=yes
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainen want_passwd=yes)
8e371a3ce32bd64288786855b8ce0cb63f19f7d1Timo SirainenAC_ARG_WITH(passwd-file,
8e371a3ce32bd64288786855b8ce0cb63f19f7d1Timo Sirainen[ --with-passwd-file Build with passwd-like file support (default)],
8e371a3ce32bd64288786855b8ce0cb63f19f7d1Timo Sirainen if test x$withval = xno; then
8e371a3ce32bd64288786855b8ce0cb63f19f7d1Timo Sirainen want_passwd_file=no
8e371a3ce32bd64288786855b8ce0cb63f19f7d1Timo Sirainen want_passwd_file=yes
8e371a3ce32bd64288786855b8ce0cb63f19f7d1Timo Sirainen want_passwd_file=yes)
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo SirainenAC_ARG_WITH(shadow,
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainen[ --with-shadow Build with shadow password support (default)],
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainen if test x$withval = xno; then
bbd0a870f8639767e4e4011d2aedadac08d5c66fTimo Sirainen want_shadow=no
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainen want_shadow=yes
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainen want_shadow=yes)
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo SirainenAC_ARG_WITH(pam,
c58906589cafc32df4c04ffbef933baadd3f2276Timo Sirainen[ --with-pam Build with PAM support (default)],
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainen if test x$withval = xno; then
106b804c819443791f1324f8bbe34429eeea6a13Timo Sirainen want_pam=yes)
e156adefc1260d31a145df2f5e9b3c82050d4163Timo SirainenAC_ARG_WITH(checkpassword,
e156adefc1260d31a145df2f5e9b3c82050d4163Timo Sirainen[ --with-checkpassword Build with checkpassword support (default)],
5694eeb99b69dea8033ca77ad69743c6b4871370Timo Sirainen if test x$withval = xno; then
37847ec8eaec9ad55c9df10ae109efe7b37ac573Timo Sirainen want_checkpassword=no
37847ec8eaec9ad55c9df10ae109efe7b37ac573Timo Sirainen want_checkpassword=yes
ff7056842f14fd3b30a2d327dfab165b9d15dd30Timo Sirainen want_checkpassword=yes)
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo SirainenAC_ARG_WITH(bsdauth,
8e371a3ce32bd64288786855b8ce0cb63f19f7d1Timo Sirainen[ --with-bsdauth Build with BSD authentication support (default)],
4d84348ffcbb60de566108562c95ad64629e7a53Timo Sirainen if test x$withval = xno; then
4d84348ffcbb60de566108562c95ad64629e7a53Timo Sirainen want_bsdauth=no
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainen want_bsdauth=yes
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainen want_bsdauth=yes)
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo SirainenAC_ARG_WITH(gssapi,
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainen[ --with-gssapi Build with GSSAPI authentication support (default)],
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainen if test x$withval = xno; then
4366a21968093172d9b757fe6894b1ee8916434eTimo Sirainen want_gssapi=no
4366a21968093172d9b757fe6894b1ee8916434eTimo Sirainen want_gssapi=yes
4366a21968093172d9b757fe6894b1ee8916434eTimo Sirainen want_gssapi=yes)
4366a21968093172d9b757fe6894b1ee8916434eTimo SirainenAC_ARG_WITH(ldap,
4366a21968093172d9b757fe6894b1ee8916434eTimo Sirainen[ --with-ldap Build with LDAP support],
4366a21968093172d9b757fe6894b1ee8916434eTimo Sirainen if test x$withval = xno; then
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainen want_ldap=yes
8e371a3ce32bd64288786855b8ce0cb63f19f7d1Timo Sirainen want_ldap=no)
8a0ad174adb1eb5108511b90e97f4e5f9089b0eeTimo SirainenAC_ARG_WITH(vpopmail,
8a0ad174adb1eb5108511b90e97f4e5f9089b0eeTimo Sirainen[ --with-vpopmail Build with vpopmail support (default)],
8a0ad174adb1eb5108511b90e97f4e5f9089b0eeTimo Sirainen if test x$withval = xno; then
b365bd121cdc87f63e1dd47c5085a27091118e00Timo Sirainen want_vpopmail=no
4645cc6c911a95991d7af43b40f88e99506ea5e9Timo Sirainen want_vpopmail=yes
0b4e1043e596bfb36d999dacbf1d4d63ee96d75fTimo Sirainen want_vpopmail=yes)
e0ca8f2484847b57e20798a9f9c7040708696a90Timo SirainenAC_ARG_WITH(static-userdb,
e0ca8f2484847b57e20798a9f9c7040708696a90Timo Sirainen[ --with-static-userdb Build with static userdb support (default)],
0b4e1043e596bfb36d999dacbf1d4d63ee96d75fTimo Sirainen if test x$withval = xno; then
0b4e1043e596bfb36d999dacbf1d4d63ee96d75fTimo Sirainen want_static_userdb=no
b039dabf4c53f72454e795930e7643b6e0e625f9Timo Sirainen want_static_userdb=yes
b039dabf4c53f72454e795930e7643b6e0e625f9Timo Sirainen want_static_userdb=yes)
4366a21968093172d9b757fe6894b1ee8916434eTimo SirainenAC_ARG_WITH(prefetch-userdb,
ef50336eefcb9ba99f73c6af37420eaf8857a39bTimo Sirainen[ --with-prefetch-userdb Build with prefetch userdb support (default)],
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainen if test x$withval = xno; then
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainen want_prefetch_userdb=no
96f2533c48ce5def0004931606a2fdf275578880Timo Sirainen want_prefetch_userdb=yes
4d84348ffcbb60de566108562c95ad64629e7a53Timo Sirainen want_prefetch_userdb=yes)
37847ec8eaec9ad55c9df10ae109efe7b37ac573Timo SirainenAC_ARG_WITH(pgsql,
37847ec8eaec9ad55c9df10ae109efe7b37ac573Timo Sirainen[ --with-pgsql Build with PostgreSQL support],
37847ec8eaec9ad55c9df10ae109efe7b37ac573Timo Sirainen if test x$withval = xno; then
0185427dd52fddec6fc76d6e99c7659620d4366eTimo Sirainen want_pgsql=no
9c66dd5c3e2ba484a5c7cdb98a139bda31fdfaa4Timo Sirainen want_pgsql=yes
37847ec8eaec9ad55c9df10ae109efe7b37ac573Timo Sirainen want_pgsql=no)
ff7056842f14fd3b30a2d327dfab165b9d15dd30Timo SirainenAC_ARG_WITH(mysql,
ff7056842f14fd3b30a2d327dfab165b9d15dd30Timo Sirainen[ --with-mysql Build with MySQL support],
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainen if test x$withval = xno; then
43d32cbe60fdaef2699d99f1ca259053e9350411Timo Sirainen want_mysql=no
ff7056842f14fd3b30a2d327dfab165b9d15dd30Timo Sirainen want_mysql=yes
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainen want_mysql=no)
[ --with-ssldir=DIR SSL base directory for certificates (/etc/ssl)],
ssldir=/etc/ssl
[ --with-rundir=DIR Runtime data directory (LOCALSTATEDIR/run/dovecot)],
rundir=$localstatedir/run/$PACKAGE_NAME
moduledir=$libdir/dovecot
CFLAGS="$CFLAGS -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast"
#include <fcntl.h>
#include <signal.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <fcntl.h>
#include <sys/inotify.h>
#include <stdio.h>
AC_MSG_ERROR([inotify requested but not available, check for existence of <sys/inotify.h>])
#include <stdlib.h>
AC_DEFINE(PREAD_WRAPPERS,, Define if pread/pwrite needs _XOPEN_SOURCE 500)
#include <sys/types.h>
#include <stdio.h>
#include <sys/types.h>
dnl * older autoconfs don't include sys/types.h, so do it manually
#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>
d.d_type = DT_DIR;
#include <limits.h>
#include <sys/types.h>
#include <sys/types.h>
echo "..ignoring as requested.."
#include <sys/types.h>
dnl some systems don't have stdint.h, but still have some of the types
AC_CHECK_HEADER(stdint.h, [
stdint_include="#include <stdint.h>"
AC_CHECKTYPE2(socklen_t, [#include <sys/socket.h>])
AC_MSG_CHECKING([for /dev/urandom])
AC_DEFINE(HAVE_DEV_URANDOM,, Define if you have /dev/urandom)
AC_CHECK_HEADER(openssl/rand.h, [
AC_DEFINE(HAVE_OPENSSL_RAND_H,, Define if you have openssl/rand.h)
#include <time.h>]],
#include <stdio.h>
#include <time.h>
f = fopen("conftest.temp", "w");
max_bits=`cat conftest.temp`
rm -f conftest.temp
#include <sys/types.h>
#include <sys/uio.h>
#include <unistd.h>]],
#include <sys/types.h>
#include <sys/types.h>
#include <sys/time.h>
#include <sys/resource.h>
#include <sys/types.h>
#include <sys/time.h>
#include <sys/resource.h>
#include <unistd.h>
#include <sys/mman.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/mman.h>
int f = open("conftest.mmap", O_RDWR|O_CREAT|O_TRUNC);
unlink("conftest.mmap");
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/wait.h>
#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h>
#include "fdpass.h"
send_fd = open("conftest.fdpass", O_CREAT|O_WRONLY);
unlink("conftest.fdpass");
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/sendfile.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/uio.h>
dnl * Check for crypt() if unistd.h compiles with _XOPEN_SOURCE + _XPG6
#include <unistd.h>
AC_MSG_CHECKING([if statfs.f_mntfromname exists])
#include <sys/param.h>
#include <sys/mount.h>
char *p = buf.f_mntfromname;
AC_DEFINE(HAVE_STATFS_MNTFROMNAME,, Define if you have statfs.f_mntfromname)
dnl * Check if we have struct dqblk.dqb_curblocks
AC_MSG_CHECKING([if struct dqblk.dqb_curblocks exists])
#include <sys/types.h>
#include <sys/quota.h>
unsigned int x = dqblk.dqb_curblocks;
AC_DEFINE(HAVE_STRUCT_DQBLK_CURBLOCKS,, Define if struct sqblk.dqb_curblocks exists)
dnl * Check if we have struct dqblk.dqb_curspace
AC_MSG_CHECKING([if struct dqblk.dqb_curspace exists])
#include <sys/types.h>
#include <sys/quota.h>
unsigned int x = dqblk.dqb_curspace;
AC_DEFINE(HAVE_STRUCT_DQBLK_CURSPACE,, Define if struct sqblk.dqb_curspace exists)
#include <stdarg.h>
#include <stdarg.h>
#include <stdarg.h>
AC_CHECK_HEADERS(gnutls/gnutls.h, [
AC_DEFINE(HAVE_SSL,, Build with SSL/TLS support)
AC_CHECK_HEADER(shadow.h, [
AC_CHECK_HEADER(security/pam_appl.h, [
Define if you have security/pam_appl.h)
AC_CHECK_HEADER(pam/pam_appl.h, [
Define if you have pam/pam_appl.h)
# have gssapi.h
AC_CHECK_HEADER([gssapi/gssapi.h], [
AC_CHECK_HEADER(ldap.h, [
if test -r "$i/$j/libpq-fe.h"; then
AC_CHECK_HEADER(libpq-fe.h, [
for j in include include/mysql ""; do
if test -r "$i/$j/mysql.h"; then
for j in lib lib/mysql ""; do
AC_CHECK_HEADER(mysql.h, [
#include <mysql.h>
if test -r "$i/$j/sqlite3.h"; then
for j in lib lib/sqlite3 ""; do
AC_CHECK_HEADER(sqlite3.h, [
vpop_libdeps="$vpopmail_home/etc/lib_deps"
AUTH_CFLAGS="$AUTH_CFLAGS `cat $vpopmail_home/etc/inc_deps` $CFLAGS"
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <arpa/inet.h>]],
maildir_libs="../lib-storage/index/maildir/libstorage_maildir.a"
mbox_libs="../lib-storage/index/mbox/libstorage_mbox.a"
dbox_libs="../lib-storage/index/dbox/libstorage_dbox.a"
capability="IMAP4rev1 SORT THREAD=REFERENCES MULTIAPPEND UNSELECT LITERAL+ IDLE CHILDREN NAMESPACE LOGIN-REFERRALS"
AC_CONFIG_HEADERS([config.h])