configure.in revision a6e79dffa06db28bcfad9c1e5fc819c48172d5de
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_PREREQ([2.59])
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_INIT([Dovecot],[2.0.7],[dovecot@dovecot.org])
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_CONFIG_SRCDIR([src])
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAM_INIT_AUTOMAKE([foreign])
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAM_MAINTAINER_MODE
2a90d8a14b0e7cc1508814bc87d3dfa598ef46a8Timo SirainenPKG_PROG_PKG_CONFIG
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenACLOCAL_AMFLAGS='-I $(top_srcdir)'
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_SUBST(ACLOCAL_AMFLAGS)
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainendnl TEST_WITH(name, value, [plugin])
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_DEFUN([TEST_WITH], [
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen want=want_`echo $1|sed s/-/_/g`
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen if test $2 = yes || test $2 = no || test $2 = auto; then
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen eval $want=$2
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen elif test $2 = plugin; then
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen if test "$3" = plugin; then
20caa6854f0ba83719248a94464a7a24bb7dbd20Timo Sirainen eval $want=plugin
1c38a95332f1945c9806d7d83175a0d948f51291Timo Sirainen AC_ERROR([--with-$1=plugin not supported])
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen elif `echo $2|grep '^/' >/dev/null`; then
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen AC_ERROR([--with-$1=path not supported. You may want to use instead:
2a90d8a14b0e7cc1508814bc87d3dfa598ef46a8Timo SirainenCPPFLAGS=-I$2/include LDFLAGS=-L$2/lib ./configure --with-$1])
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen AC_ERROR([--with-$1: Unknown value: $2])
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_ARG_ENABLE(devel-checks,
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAS_HELP_STRING([--enable-devel-checks], [Enable some extra expensive checks for developers]),
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen if test x$enableval = xyes; then
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen AC_DEFINE(DEBUG,, Build with extra debugging checks)
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_ARG_ENABLE(asserts,
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAS_HELP_STRING([--enable-asserts], [Enable asserts (default)]),
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen if test x$enableval = xno; then
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen AC_DEFINE(DISABLE_ASSERTS,, Disable asserts)
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_ARG_WITH(shared-libs,
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAS_HELP_STRING([--with-shared-libs], [Link binaries using shared Dovecot libraries (default)]),
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen want_shared_libs=$withval,
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen want_shared_libs=yes)
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAM_CONDITIONAL(BUILD_SHARED_LIBS, test "$want_shared_libs" = "yes")
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_ARG_WITH(mem-align,
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAS_HELP_STRING([--with-mem-align=BYTES], [Set the memory alignment (default: 8)]),
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen mem_align=$withval,
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_ARG_WITH(ioloop,
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAS_HELP_STRING([--with-ioloop=IOLOOP], [Specify the I/O loop method to use (epoll, kqueue, poll; best for the fastest available; default is best)]),
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen ioloop=$withval,
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_ARG_WITH(notify,
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAS_HELP_STRING([--with-notify=NOTIFY], [Specify the file system notification method to use (inotify, kqueue, dnotify, none; default is detected in the above order)]),
2a90d8a14b0e7cc1508814bc87d3dfa598ef46a8Timo Sirainen notify=$withval,
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_ARG_WITH(nss,
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAS_HELP_STRING([--with-nss], [Build with NSS module support (auto)]),
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen TEST_WITH(nss, $withval),
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen want_nss=auto)
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_ARG_WITH(shadow,
2a90d8a14b0e7cc1508814bc87d3dfa598ef46a8Timo SirainenAS_HELP_STRING([--with-shadow], [Build with shadow password support (auto)]),
2a90d8a14b0e7cc1508814bc87d3dfa598ef46a8Timo Sirainen TEST_WITH(shadow, $withval),
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen want_shadow=auto)
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_ARG_WITH(pam,
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAS_HELP_STRING([--with-pam], [Build with PAM support (auto)]),
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen TEST_WITH(pam, $withval),
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen want_pam=auto)
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_ARG_WITH(bsdauth,
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAS_HELP_STRING([--with-bsdauth], [Build with BSD authentication support (auto)]),
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen TEST_WITH(bsdauth, $withval),
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen want_bsdauth=auto)
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_ARG_WITH(gssapi,
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAS_HELP_STRING([--with-gssapi=yes|plugin Build with GSSAPI authentication support]),
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen TEST_WITH(gssapi, $withval, plugin),
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen want_gssapi=no)
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_ARG_WITH(sia,
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAS_HELP_STRING([--with-sia], [Build with Tru64 SIA support]),
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen TEST_WITH(sia, $withval),
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_ARG_WITH(ldap,
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAS_HELP_STRING([--with-ldap=yes|plugin], [Build with LDAP support]),
345648b341f228bd7f0b89f8aa3ecb9c470d817eTimo Sirainen TEST_WITH(ldap, $withval, plugin),
f53b8258e5f68ab3d431b1c97520efa0200d134bTimo Sirainen want_ldap=no)
7d6389e4053c2dac1fb37180b5756b00785983dcTimo SirainenAC_ARG_WITH(vpopmail,
f53b8258e5f68ab3d431b1c97520efa0200d134bTimo SirainenAS_HELP_STRING([--with-vpopmail], [Build with vpopmail support (auto)]),
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen if test x$withval = xno; then
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen want_vpopmail=no
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen if test x$withval = xyes || test x$withval = xauto; then
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen vpopmail_home="`echo ~vpopmail`"
2a90d8a14b0e7cc1508814bc87d3dfa598ef46a8Timo Sirainen want_vpopmail=$withval
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen vpopmail_home="$withval"
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen want_vpopmail=yes
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen want_vpopmail=no
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen# Berkeley DB support is more or less broken. Disabled for now.
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen#AC_ARG_WITH(db,
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen#AS_HELP_STRING([--with-db], [Build with Berkeley DB support]),
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen# TEST_WITH(db, $withval),
bbef8d37812f877525ca57e7ed206094e1efe288Timo Sirainendnl The --with-sql is useful only if Dovecot is being built with all the SQL
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainendnl drivers as modules. If any SQL driver is built-in, this option is ignored.
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_ARG_WITH(sql,
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAS_HELP_STRING([--with-sql=yes|plugin], [Build with generic SQL support]),
bbef8d37812f877525ca57e7ed206094e1efe288Timo Sirainen TEST_WITH(sql, $withval, plugin),
bbef8d37812f877525ca57e7ed206094e1efe288Timo SirainenAC_ARG_WITH(pgsql,
bbef8d37812f877525ca57e7ed206094e1efe288Timo SirainenAS_HELP_STRING([--with-pgsql], [Build with PostgreSQL driver support]),
bbef8d37812f877525ca57e7ed206094e1efe288Timo Sirainen TEST_WITH(pgsql, $withval),
68d76bc6de2d923d03955e49d563d6e4629b86bfTimo Sirainen want_pgsql=no)
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_ARG_WITH(mysql,
2a90d8a14b0e7cc1508814bc87d3dfa598ef46a8Timo SirainenAS_HELP_STRING([--with-mysql], [Build with MySQL driver support]),
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen TEST_WITH(mysql, $withval),
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen want_mysql=no)
2a90d8a14b0e7cc1508814bc87d3dfa598ef46a8Timo SirainenAC_ARG_WITH(sqlite,
2a90d8a14b0e7cc1508814bc87d3dfa598ef46a8Timo SirainenAS_HELP_STRING([--with-sqlite], [Build with SQLite3 driver support]),
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen TEST_WITH(sqlite, $withval),
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen want_sqlite=no)
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_ARG_WITH(lucene,
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAS_HELP_STRING([--with-lucene], [Build with CLucene full text search support]),
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen TEST_WITH(lucene, $withval),
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen want_lucene=no)
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainenif test "$want_lucene" = "yes"; then
cd466fe7b84b0223735a6469c7f7bc225f65996dTimo Sirainen AC_ERROR([CLucene support isn't working very well. Use Solr instead.])
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAM_CONDITIONAL(BUILD_LUCENE, test "$want_lucene" = "yes")
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_ARG_WITH(solr,
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAS_HELP_STRING([--with-solr], [Build with Solr full text search support]),
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen TEST_WITH(solr, $withval),
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen want_solr=no)
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_ARG_WITH(zlib,
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAS_HELP_STRING([--with-zlib], [Build with zlib compression support]),
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen TEST_WITH(zlib, $withval),
2a90d8a14b0e7cc1508814bc87d3dfa598ef46a8Timo Sirainen want_zlib=auto)
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_ARG_WITH(bzlib,
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAS_HELP_STRING([--with-bzlib], [Build with bzlib compression support]),
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen TEST_WITH(bzlib, $withval),
ffa179f76a2b6f4ef97bd560f65fa9e3e35361b4Timo Sirainen want_bzlib=auto)
22535a9e685e29214082878e37a267157044618eTimo SirainenAC_ARG_WITH(libcap,
2a90d8a14b0e7cc1508814bc87d3dfa598ef46a8Timo SirainenAS_HELP_STRING([--with-libcap], [Build with libcap support (Dropping capabilities).]),
22535a9e685e29214082878e37a267157044618eTimo Sirainen TEST_WITH(libcap, $withval),
22535a9e685e29214082878e37a267157044618eTimo Sirainen want_libcap=auto)
22535a9e685e29214082878e37a267157044618eTimo SirainenAC_ARG_WITH(libwrap,
22535a9e685e29214082878e37a267157044618eTimo SirainenAS_HELP_STRING([--with-libwrap], [Build with libwrap, ie. TCP-wrappers]),
22535a9e685e29214082878e37a267157044618eTimo Sirainen TEST_WITH(libwrap, $withval),
ffa179f76a2b6f4ef97bd560f65fa9e3e35361b4Timo Sirainen want_libwrap=no)
2a90d8a14b0e7cc1508814bc87d3dfa598ef46a8Timo SirainenAC_ARG_WITH(ssl,
22535a9e685e29214082878e37a267157044618eTimo SirainenAS_HELP_STRING([--with-ssl=gnutls|openssl], [Build with GNUTLS or OpenSSL (default)]),
22535a9e685e29214082878e37a267157044618eTimo Sirainen if test x$withval = xno; then
2a90d8a14b0e7cc1508814bc87d3dfa598ef46a8Timo Sirainen want_gnutls=no
22535a9e685e29214082878e37a267157044618eTimo Sirainen want_openssl=no
22535a9e685e29214082878e37a267157044618eTimo Sirainen elif test x$withval = xgnutls; then
22535a9e685e29214082878e37a267157044618eTimo Sirainen AC_ERROR([GNUTLS support is broken currently])
22535a9e685e29214082878e37a267157044618eTimo Sirainen want_gnutls=yes
bbef8d37812f877525ca57e7ed206094e1efe288Timo Sirainen want_openssl=no
bbef8d37812f877525ca57e7ed206094e1efe288Timo Sirainen elif test x$withval = xopenssl; then
22535a9e685e29214082878e37a267157044618eTimo Sirainen want_gnutls=no
22535a9e685e29214082878e37a267157044618eTimo Sirainen want_openssl=yes
1c38a95332f1945c9806d7d83175a0d948f51291Timo Sirainen elif test x$withval = xyes; then
1c38a95332f1945c9806d7d83175a0d948f51291Timo Sirainen want_gnutls=no
1c38a95332f1945c9806d7d83175a0d948f51291Timo Sirainen want_openssl=yes
1c38a95332f1945c9806d7d83175a0d948f51291Timo Sirainen AC_ERROR([--with-ssl: Invalid value: $withval])
1c38a95332f1945c9806d7d83175a0d948f51291Timo Sirainen want_gnutls=no
1c38a95332f1945c9806d7d83175a0d948f51291Timo Sirainen want_openssl=auto
1c38a95332f1945c9806d7d83175a0d948f51291Timo SirainenAC_ARG_WITH(ssldir,
1c38a95332f1945c9806d7d83175a0d948f51291Timo SirainenAS_HELP_STRING([--with-ssldir=DIR], [SSL base directory for certificates (/etc/ssl)]),
68d76bc6de2d923d03955e49d563d6e4629b86bfTimo Sirainen ssldir="$withval",
68d76bc6de2d923d03955e49d563d6e4629b86bfTimo SirainenAC_SUBST(ssldir)
68d76bc6de2d923d03955e49d563d6e4629b86bfTimo SirainenAC_ARG_WITH(rundir,
68d76bc6de2d923d03955e49d563d6e4629b86bfTimo SirainenAS_HELP_STRING([--with-rundir=DIR], [Runtime data directory (LOCALSTATEDIR/run/dovecot)]),
68d76bc6de2d923d03955e49d563d6e4629b86bfTimo Sirainen rundir="$withval",
68d76bc6de2d923d03955e49d563d6e4629b86bfTimo Sirainen rundir=$localstatedir/run/$PACKAGE
68d76bc6de2d923d03955e49d563d6e4629b86bfTimo SirainenAC_SUBST(rundir)
68d76bc6de2d923d03955e49d563d6e4629b86bfTimo SirainenAC_ARG_WITH(statedir,
68d76bc6de2d923d03955e49d563d6e4629b86bfTimo SirainenAS_HELP_STRING([--with-statedir=DIR], [Permanent data directory (LOCALSTATEDIR/lib/dovecot)]),
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen statedir="$withval",
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen statedir=$localstatedir/lib/$PACKAGE
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_SUBST(statedir)
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_ARG_WITH([systemdsystemunitdir],
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files (auto=detect)]), [
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen if test "$withval" = "auto"; then
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen systemdsystemunitdir=`$PKG_CONFIG --variable=systemdsystemunitdir systemd`
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen elif test "$withval" != "no"; then
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen systemdsystemunitdir=$withval
2a90d8a14b0e7cc1508814bc87d3dfa598ef46a8Timo Sirainenif test "$systemdsystemunitdir" != ""; then
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen AC_SUBST(systemdsystemunitdir)
b7c2065b3f10f9ae27787a9db5aaefbfc70d4502Timo Sirainen AC_DEFINE(HAVE_SYSTEMD,, Define if you want to use systemd socket activation)
b7c2065b3f10f9ae27787a9db5aaefbfc70d4502Timo SirainenAM_CONDITIONAL(HAVE_SYSTEMD, test "$systemdsystemunitdir" != "")
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_ARG_WITH(gc,
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAS_HELP_STRING([--with-gc], [Use Boehm garbage collector]),
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen TEST_WITH(gc, $withval),
50fd2adea4c945b85e5a81d5e55b885b93405c0cTimo SirainenAC_ARG_WITH(storages,
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAS_HELP_STRING([--with-storages], [Build with specified mail storage formats (maildir mbox sdbox mdbox cydir)]), [
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen if test "$withval" = "yes" || test "$withval" = "no"; then
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen AC_MSG_ERROR([--with-storages needs storage list as parameter])
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen mail_storages="shared `echo "$withval"|sed 's/,/ /g'`" ],
b7c2065b3f10f9ae27787a9db5aaefbfc70d4502Timo Sirainen mail_storages="shared maildir mbox sdbox mdbox cydir")
b7c2065b3f10f9ae27787a9db5aaefbfc70d4502Timo SirainenAC_SUBST(mail_storages)
b7c2065b3f10f9ae27787a9db5aaefbfc70d4502Timo SirainenDC_DOVECOT_MODULEDIR
b7c2065b3f10f9ae27787a9db5aaefbfc70d4502Timo SirainenAC_ARG_WITH(docs,
b7c2065b3f10f9ae27787a9db5aaefbfc70d4502Timo SirainenAS_HELP_STRING([--with-docs], [Install documentation (default)]),
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen if test x$withval = xno; then
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen want_docs=yes
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen want_docs=yes)
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAM_CONDITIONAL(BUILD_DOCS, test "$want_docs" = "yes")
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainendnl always enable all of the passbs and userdbs that don't require extra libs
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainenwant_passwd=yes
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainenwant_passwd_file=yes
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainenwant_checkpassword=yes
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainenwant_prefetch_userdb=yes
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_PROG_CXX # lucene plugin needs this
20caa6854f0ba83719248a94464a7a24bb7dbd20Timo SirainenAC_HEADER_STDC
20caa6854f0ba83719248a94464a7a24bb7dbd20Timo SirainenAC_PROG_LIBTOOL
1c38a95332f1945c9806d7d83175a0d948f51291Timo SirainenAC_DEFINE_UNQUOTED(DOVECOT_NAME, "$PACKAGE_NAME", Dovecot name)
1c38a95332f1945c9806d7d83175a0d948f51291Timo SirainenAC_DEFINE_UNQUOTED(DOVECOT_STRING, "$PACKAGE_STRING", Dovecot string)
1c38a95332f1945c9806d7d83175a0d948f51291Timo SirainenAC_DEFINE_UNQUOTED(DOVECOT_VERSION, "$PACKAGE_VERSION", Dovecot version)
1c38a95332f1945c9806d7d83175a0d948f51291Timo SirainenAC_CHECK_HEADERS(strings.h stdint.h unistd.h dirent.h malloc.h inttypes.h \
1c38a95332f1945c9806d7d83175a0d948f51291Timo Sirainen sys/uio.h sys/sysmacros.h sys/resource.h sys/select.h libgen.h \
1c38a95332f1945c9806d7d83175a0d948f51291Timo Sirainen sys/quota.h sys/fs/ufs_quota.h ufs/ufs/quota.h jfs/quota.h sys/fs/quota_common.h \
1c38a95332f1945c9806d7d83175a0d948f51291Timo Sirainen mntent.h sys/mnttab.h sys/event.h sys/time.h sys/mkdev.h linux/dqblk_xfs.h \
1c38a95332f1945c9806d7d83175a0d948f51291Timo Sirainen xfs/xqm.h execinfo.h ucontext.h malloc_np.h sys/utsname.h sys/vmount.h \
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainendnl * gcc specific options
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainenif test "x$ac_cv_c_compiler_gnu" = "xyes"; then
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen # -Wcast-qual -Wcast-align -Wconversion -Wunreachable-code # too many warnings
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen # -Wstrict-prototypes -Wredundant-decls # may give warnings in some systems
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen # -Wmissing-format-attribute -Wmissing-noreturn -Wwrite-strings # a couple of warnings
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen CFLAGS="$CFLAGS -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast"
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen AC_TRY_COMPILE([
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen #if __GNUC__ < 4
b7c2065b3f10f9ae27787a9db5aaefbfc70d4502Timo Sirainen # error old gcc
AC_CHECK_HEADER(tcpd.h, [
#include <tcpd.h>
AC_ERROR([Can't build with libwrap support: tcpd.h not found])
AC_DEFINE(PACKAGE_WEBPAGE, "http://www.dovecot.org/", Support URL)
dnl strtoimax and strtoumax are macros in HP-UX, so inttypes.h must be included
#include <inttypes.h>
#include <inttypes.h>
#include <sys/epoll.h>
#include <sys/ioctl.h>
#include <fcntl.h>
#include <sys/inotify.h>
#include <stdio.h>
#include <fcntl.h>
#include <signal.h>
#include <unistd.h>
#include <stdlib.h>
AC_DEFINE(PREAD_WRAPPERS,, Define if pread/pwrite needs _XOPEN_SOURCE 500)
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
int fd = creat("conftest.temp", 0600);
unlink("conftest.temp");
# for getting fd_send/fd_recv working:
AC_DEFINE(PREAD_BROKEN,, Defint if pread/pwrite implementation is broken)
#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 OpenBSD /dev/arandom])
if test -c /dev/arandom; then
AC_MSG_CHECKING([for /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");
i_cv_gmtime_max_time_t=`cat conftest.temp`
rm -f conftest.temp
#include <sys/types.h>
AC_DEFINE_UNQUOTED(FLEXIBLE_ARRAY_MEMBER, $flexible_value, How to define flexible array members in structs)
#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 <sys/types.h>
#include <sys/time.h>
#include <sys/resource.h>
#include <sys/prctl.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, 0600);
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 = creat("conftest.fdpass", 0600);
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>
#include <stdlib.h>
dnl * Check for crypt() if unistd.h compiles with _XOPEN_SOURCE + _XPG6
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
unsigned long x = st.st_mtim.tv_nsec;
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
unsigned long x = st.st_mtimespec.tv_nsec;
AC_CACHE_CHECK([if statvfs.f_mntfromname exists],i_cv_have_statvfs_f_mntfromname,[
#include <sys/types.h>
#include <sys/statvfs.h>
char *p = buf.f_mntfromname;
AC_DEFINE(HAVE_STATVFS_MNTFROMNAME,, Define if you have statvfs.f_mntfromname)
AC_CACHE_CHECK([if statfs.f_mntfromname exists],i_cv_have_statfs_f_mntfromname,[
#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_CACHE_CHECK([if struct dqblk.dqb_curblocks exists],i_cv_have_dqblk_dqb_curblocks,[
#include <sys/types.h>
#include "$srcdir/src/plugins/quota/quota-fs.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_CACHE_CHECK([if struct dqblk.dqb_curspace exists],i_cv_have_dqblk_dqb_curspace,[
#include <sys/types.h>
#include "$srcdir/src/plugins/quota/quota-fs.h"
unsigned int x = dqblk.dqb_curspace;
AC_DEFINE(HAVE_STRUCT_DQBLK_CURSPACE,, Define if struct sqblk.dqb_curspace exists)
#include <sys/types.h>
#include <sys/fs/ufs_quota.h>
#include <stdio.h>
#include <stdarg.h>
#include <stdarg.h>
#include <stdarg.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/vmount.h>
if test "$PKG_CONFIG" != "" && $PKG_CONFIG --exists openssl 2>/dev/null; then
AC_CHECK_HEADER(gnutls/gnutls.h, [
AC_ERROR([Can't build with GNUTLS: gnutls/gnutls.h not found])
AC_DEFINE(HAVE_SSL,, Build with SSL/TLS support)
AC_CHECK_HEADER(shadow.h, [
AC_ERROR([Can't build with shadow support: shadow.h not found])
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)
AC_ERROR([Can't build with PAM support: pam_appl.h not found])
# have gssapi.h
AC_CHECK_HEADER([gssapi/gssapi.h], [
AC_DEFINE(HAVE_GSSAPI_GSSAPI_H,, GSSAPI headers in gssapi/gssapi.h)
AC_CHECK_HEADER([gssapi.h], [
AC_DEFINE(HAVE_GSSAPI_H,, GSSAPI headers in gssapi.h)
# include <gssapi.h>
# include <gssapi/gssapi.h>
#include <krb5.h>
#include <string.h>
AC_ERROR([Can't build with GSSAPI support: gssapi.h not found])
AC_CHECK_HEADER(ldap.h, [
AC_ERROR([Can't build with LDAP support: ldap.h not found])
#include <db.h>
AC_CHECK_HEADER(db.h, [
AC_ERROR([Can't build with db support: db.h not found])
if test -r "$i/$j/libpq-fe.h"; then
AC_CHECK_HEADER(libpq-fe.h, [
AC_ERROR([Can't build with PostgreSQL support: libpq-fe.h not found])
for j in include include/mysql ""; do
if test -r "$i/$j/mysql.h"; then
AC_CHECK_HEADER(mysql.h, [
#include <mysql.h>
AC_ERROR([Can't build with MySQL support: mysql.h not found])
AC_CHECK_HEADER(sqlite3.h, [
AC_ERROR([Can't build with SQLite support: sqlite3.h not found])
vpop_etc="$vpopmail_home/etc"
AC_MSG_CHECKING([for vpopmail configuration at $vpop_etc/lib_deps])
if ! test -f $vpop_etc/lib_deps; then
AC_MSG_CHECKING([for vpopmail configuration at $vpop_etc/lib_deps])
if test -f $vpop_etc/lib_deps; then
AUTH_CFLAGS="$AUTH_CFLAGS `cat $vpop_etc/inc_deps` $CFLAGS"
AUTH_LIBS="$AUTH_LIBS `cat $vpop_etc/lib_deps`"
AC_ERROR([Can't build with vpopmail support: $vpop_etc/lib_deps not found])
# shrext_cmds comes from libtool.m4
#include <nss.h>
AC_ERROR([Can't build with NSS support: nss.h not found or not usable])
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <arpa/inet.h>]],
maildir_libs='$(top_builddir)/src/lib-storage/index/maildir/libstorage_maildir.la'
mbox_libs='$(top_builddir)/src/lib-storage/index/mbox/libstorage_mbox.la'
dbox_common_libs='$(top_builddir)/src/lib-storage/index/dbox-common/libstorage_dbox_common.la'
sdbox_libs='$(top_builddir)/src/lib-storage/index/dbox-single/libstorage_dbox_single.la'
mdbox_libs='$(top_builddir)/src/lib-storage/index/dbox-multi/libstorage_dbox_multi.la'
cydir_libs='$(top_builddir)/src/lib-storage/index/cydir/libstorage_cydir.la'
raw_libs='$(top_builddir)/src/lib-storage/index/raw/libstorage_raw.la'
shared_libs='$(top_builddir)/src/lib-storage/index/shared/libstorage_shared.la'
CORE_LIBS='$(top_builddir)/src/lib-dovecot/libdovecot.la'
STORAGE_LIB='$(top_builddir)/src/lib-storage/libdovecot-storage.la'
LIBDOVECOT_DEPS='$(top_builddir)/src/lib-dovecot/libdovecot.la'
LIBDOVECOT_STORAGE='$(top_builddir)/src/lib-storage/libdovecot-storage.la'
LIBDOVECOT_LOGIN='$(top_builddir)/src/login-common/libdovecot-login.la'
LIBDOVECOT_LDA='$(top_builddir)/src/lib-lda/libdovecot-lda.la'
LIBDOVECOT_DEPS='$(top_builddir)/src/lib-master/libmaster.la $(top_builddir)/src/lib-settings/libsettings.la $(top_builddir)/src/lib-dict/libdict.la $(top_builddir)/src/lib-dns/libdns.la $(top_builddir)/src/lib-fs/libfs.la $(top_builddir)/src/lib-imap/libimap.la $(top_builddir)/src/lib-mail/libmail.la $(top_builddir)/src/lib-auth/libauth.la $(top_builddir)/src/lib-charset/libcharset.la $(top_builddir)/src/lib/liblib.la'
LIBDOVECOT_STORAGE_LAST='$(top_builddir)/src/lib-storage/list/libstorage_list.la $(top_builddir)/src/lib-storage/index/libstorage_index.la $(top_builddir)/src/lib-storage/libstorage.la $(top_builddir)/src/lib-index/libindex.la'
LIBDOVECOT_STORAGE_FIRST='$(top_builddir)/src/lib-storage/libstorage_service.la $(top_builddir)/src/lib-storage/register/libstorage_register.la'
LIBDOVECOT_LOGIN='$(top_builddir)/src/login-common/liblogin.la'
LIBDOVECOT_LDA='$(top_builddir)/src/lib-lda/liblda.la'
LIBDOVECOT_SQL='$(top_builddir)/src/lib-sql/libsql.la'
AC_CHECK_HEADER(zlib.h, [
AC_ERROR([Can't build with zlib support: zlib.h not found])
AC_CHECK_HEADER(bzlib.h, [
AC_ERROR([Can't build with bzlib support: bzlib.h not found])
if test -f /usr/include/rpcsvc/rquota.x && test -n "$RPCGEN"; then
AC_CHECK_HEADER(expat.h, [
AC_ERROR([Can't build with Solr support: expat.h not found])
FILES1=`find $srcdir/src -name '*settings.[[ch]]'|grep "$srcdir/src/lib-" | sed 's/^\(.*\)\(.\)$/\2 \1\2/' | sort -r | sed s/^..//`
FILES2=`find $srcdir/src -name '*settings.[[ch]]'|grep -v "$srcdir/src/lib-" | sed 's/^\(.*\)\(.\)$/\2 \1\2/' | grep -v all-settings | sort -r | sed s/^..//`
SETTING_FILES=`echo $FILES1 $FILES2 | sed -e s,$srcdir/src,./src,g -e 's,./src,$(top_srcdir)/src,g'`
capability="$capability_banner SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT IDLE CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS"
AC_DEFINE_UNQUOTED(CAPABILITY_BANNER_STRING, "$capability_banner", IMAP capabilities advertised in banner)
RUN_TEST='$(SHELL) $(top_srcdir)/run-test.sh'
AC_CONFIG_HEADERS([config.h])