configure.ac revision 44a0465eddceebaa199444149c88b78006e34532
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_PREREQ([2.59])
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# Be sure to update ABI version also if anything changes that might require
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# recompiling plugins. Most importantly that means if any structs are changed.
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_INIT([Dovecot],[2.2.17.rc1],[dovecot@dovecot.org])
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_DEFINE_UNQUOTED([DOVECOT_ABI_VERSION], "2.2.ABIv17($PACKAGE_VERSION)", [Dovecot ABI version])
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_CONFIG_SRCDIR([src])
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAM_INIT_AUTOMAKE([foreign])
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAM_MAINTAINER_MODE
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkPKG_PROG_PKG_CONFIG
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkACLOCAL_AMFLAGS='-I $(top_srcdir)'
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_SUBST(ACLOCAL_AMFLAGS)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkdnl TEST_WITH(name, value, [plugin])
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_DEFUN([TEST_WITH], [
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want=want_`echo $1|sed s/-/_/g`
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk if test $2 = yes || test $2 = no || test $2 = auto; then
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk eval $want=$2
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk elif test $2 = plugin; then
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk if test "$3" = plugin; then
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk eval $want=plugin
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk AC_ERROR([--with-$1=plugin not supported])
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk elif `echo $2|grep '^/' >/dev/null`; then
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk AC_ERROR([--with-$1=path not supported. You may want to use instead:
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkCPPFLAGS=-I$2/include LDFLAGS=-L$2/lib ./configure --with-$1])
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk AC_ERROR([--with-$1: Unknown value: $2])
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_ENABLE(devel-checks,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--enable-devel-checks], [Enable some extra expensive checks for developers]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk if test x$enableval = xyes; then
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk AC_DEFINE(DEBUG,, Build with extra debugging checks)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_devel_checks=yes
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_ENABLE(asserts,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--enable-asserts], [Enable asserts (default)]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk if test x$enableval = xno; then
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk AC_DEFINE(DISABLE_ASSERTS,, Disable asserts)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_WITH(shared-libs,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--with-shared-libs], [Link binaries using shared Dovecot libraries (default)]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_shared_libs=$withval,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_shared_libs=yes)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAM_CONDITIONAL(BUILD_SHARED_LIBS, test "$want_shared_libs" = "yes")
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_WITH(mem-align,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--with-mem-align=BYTES], [Set the memory alignment (default: 8)]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk mem_align=$withval,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk mem_align=8)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_WITH(ioloop,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--with-ioloop=IOLOOP], [Specify the I/O loop method to use (epoll, kqueue, poll; best for the fastest available; default is best)]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk ioloop=$withval,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk ioloop=best)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_WITH(notify,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--with-notify=NOTIFY], [Specify the file system notification method to use (inotify, kqueue, dnotify, none; default is detected in the above order)]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk notify=$withval,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_WITH(nss,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--with-nss], [Build with NSS module support (auto)]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk TEST_WITH(nss, $withval),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_nss=auto)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_WITH(shadow,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--with-shadow], [Build with shadow password support (auto)]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk TEST_WITH(shadow, $withval),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_shadow=auto)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_WITH(pam,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--with-pam], [Build with PAM support (auto)]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk TEST_WITH(pam, $withval),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_pam=auto)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_WITH(bsdauth,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--with-bsdauth], [Build with BSD authentication support (auto)]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk TEST_WITH(bsdauth, $withval),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_bsdauth=auto)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_WITH(gssapi,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--with-gssapi=yes|plugin Build with GSSAPI authentication support]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk TEST_WITH(gssapi, $withval, plugin),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_gssapi=no)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_WITH(sia,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--with-sia], [Build with Tru64 SIA support]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk TEST_WITH(sia, $withval),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_sia=no)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_WITH(ldap,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--with-ldap=yes|plugin], [Build with LDAP support]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk TEST_WITH(ldap, $withval, plugin),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_ldap=no)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_WITH(vpopmail,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--with-vpopmail], [Build with vpopmail support (auto)]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk if test x$withval = xno; then
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_vpopmail=no
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk if test x$withval = xyes || test x$withval = xauto; then
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk vpopmail_home="`echo ~vpopmail`"
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_vpopmail=$withval
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk vpopmail_home="$withval"
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_vpopmail=yes
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_vpopmail=no
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# Berkeley DB support is more or less broken. Disabled for now.
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk#AC_ARG_WITH(db,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk#AS_HELP_STRING([--with-db], [Build with Berkeley DB support]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# TEST_WITH(db, $withval),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk# want_db=no)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_WITH(cdb,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--with-cdb], [Build with CDB support]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk TEST_WITH(cdb, $withval),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_cdb=no)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkdnl The --with-sql is useful only if Dovecot is being built with all the SQL
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkdnl drivers as modules. If any SQL driver is built-in, this option is ignored.
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_WITH(sql,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--with-sql=yes|plugin], [Build with generic SQL support]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk TEST_WITH(sql, $withval, plugin),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_sql=no)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_WITH(pgsql,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--with-pgsql], [Build with PostgreSQL driver support]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk TEST_WITH(pgsql, $withval),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_pgsql=no)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_WITH(mysql,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--with-mysql], [Build with MySQL driver support]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk TEST_WITH(mysql, $withval),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_mysql=no)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_WITH(sqlite,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--with-sqlite], [Build with SQLite3 driver support]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk TEST_WITH(sqlite, $withval),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_sqlite=no)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_WITH(lucene,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--with-lucene], [Build with CLucene full text search support]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk TEST_WITH(lucene, $withval),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_lucene=no)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAM_CONDITIONAL(BUILD_LUCENE, test "$want_lucene" = "yes")
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_WITH(stemmer,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--with-stemmer], [Build with libstemmer support (for FTS) (auto)]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk TEST_WITH(stemmer, $withval),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_stemmer=auto)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_WITH(textcat,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--with-textcat], [Build with libtextcat support (for FTS) (auto)]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk TEST_WITH(textcat, $withval),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_textcat=auto)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_WITH(icu,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--with-icu], [Build with libicu support (for FTS normalization) (auto)]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_icu=$withval,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_icu=auto)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_WITH(solr,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--with-solr], [Build with Solr full text search support]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk TEST_WITH(solr, $withval),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_solr=no)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_WITH(zlib,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--with-zlib], [Build with zlib compression support (auto)]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk TEST_WITH(zlib, $withval),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_zlib=auto)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_WITH(bzlib,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--with-bzlib], [Build with bzlib compression support (auto)]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk TEST_WITH(bzlib, $withval),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_bzlib=auto)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_WITH(lzma,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--with-lzma], [Build with LZMA compression support (auto)]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk TEST_WITH(lzma, $withval),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_lzma=auto)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_WITH(lz4,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--with-lz4], [Build with LZ4 compression support (auto)]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk TEST_WITH(lz4, $withval),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_lz4=auto)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_WITH(libcap,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--with-libcap], [Build with libcap support (Dropping capabilities) (auto)]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk TEST_WITH(libcap, $withval),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_libcap=auto)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_WITH(libwrap,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--with-libwrap], [Build with libwrap, ie. TCP-wrappers]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk TEST_WITH(libwrap, $withval),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_libwrap=no)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_WITH(ssl,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--with-ssl=gnutls|openssl], [Build with GNUTLS or OpenSSL (default)]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk if test x$withval = xno; then
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_gnutls=no
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_openssl=no
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk elif test x$withval = xgnutls; then
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk AC_ERROR([GNUTLS support is broken currently])
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_gnutls=yes
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_openssl=no
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk elif test x$withval = xopenssl; then
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_gnutls=no
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_openssl=yes
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk elif test x$withval = xyes; then
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_gnutls=no
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_openssl=yes
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk AC_ERROR([--with-ssl: Invalid value: $withval])
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_gnutls=no
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk want_openssl=auto
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_WITH(ssldir,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--with-ssldir=DIR], [SSL base directory for certificates (/etc/ssl)]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk ssldir="$withval",
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_SUBST(ssldir)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_WITH(rundir,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--with-rundir=DIR], [Runtime data directory (LOCALSTATEDIR/run/dovecot)]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk rundir="$withval",
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk rundir=$localstatedir/run/$PACKAGE
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_SUBST(rundir)
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAC_ARG_WITH(statedir,
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenkAS_HELP_STRING([--with-statedir=DIR], [Permanent data directory (LOCALSTATEDIR/lib/dovecot)]),
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk statedir="$withval",
c1350cf5bc50458ba79cc93ff9e0e5fe3f1aeeb0jeff.schenk statedir=$localstatedir/lib/$PACKAGE
AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files (auto=detect)]), [
AS_HELP_STRING([--with-storages], [Build with specified mail storage formats (mdbox sdbox maildir mbox cydir imapc pop3c)]), [
AC_DEFINE([DOVECOT_VERSION_MAJOR], regexp(AC_PACKAGE_VERSION, [^\([0-9]+\)\.\([0-9]+\)], [\1]), [Dovecot major version])
AC_DEFINE([DOVECOT_VERSION_MINOR], regexp(AC_PACKAGE_VERSION, [^\([0-9]+\)\.\([0-9]+\)], [\2]), [Dovecot minor version])
CFLAGS="$CFLAGS -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast"
# clang 3.3+ unfortunately this gives warnings with hash.h
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)
#include <sys/types.h>
#include <sys/socket.h>
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 <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 /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])
AC_CHECK_HEADER(cdb.h, [
AC_ERROR([Can't build with CDB support: cdb.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>
#include <mysql.h>
AC_DEFINE(HAVE_MYSQL_SSL_VERIFY_SERVER_CERT,, Define if your MySQL library supports verifying the name in the SSL certificate)
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'
imapc_libs='$(top_builddir)/src/lib-storage/index/imapc/libstorage_imapc.la $(top_builddir)/src/lib-imap-client/libimap_client.la'
pop3c_libs='$(top_builddir)/src/lib-storage/index/pop3c/libstorage_pop3c.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_DEPS='$(top_builddir)/src/lib-storage/libdovecot-storage.la $(top_builddir)/src/lib-imap-storage/libimap-storage.la'
LIBDOVECOT_LOGIN='$(top_builddir)/src/login-common/libdovecot-login.la'
LIBDOVECOT_COMPRESS='$(top_builddir)/src/lib-compression/libcompression.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-stats/libstats.la $(top_builddir)/src/lib-http/libhttp.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-sasl/libsasl.la $(top_builddir)/src/lib-auth/libauth.la $(top_builddir)/src/lib-charset/libcharset.la $(top_builddir)/src/lib-ssl-iostream/libssl_iostream.la $(top_builddir)/src/lib-test/libtest.la $(top_builddir)/src/lib/liblib.la'
LIBDOVECOT_STORAGE_DEPS='$(top_builddir)/src/lib-storage/libstorage.la'
LIBDOVECOT_LOGIN='$(top_builddir)/src/login-common/liblogin.la'
LIBDOVECOT_COMPRESS='$(top_builddir)/src/lib-compression/libcompression.la'
LIBDOVECOT_LDA='$(top_builddir)/src/lib-lda/liblda.la'
LIBDOVECOT_DSYNC='$(top_builddir)/src/doveadm/dsync/libdovecot-dsync.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])
AC_CHECK_HEADER(lzma.h, [
AC_ERROR([Can't build with lzma support: lzma.h not found])
AC_CHECK_HEADER(lz4.h, [
AC_ERROR([Can't build with lz4 support: lz4.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])
if test "$PKG_CONFIG" != "" && $PKG_CONFIG --exists libexttextcat 2>/dev/null; then
AC_CHECK_HEADERS(libexttextcat/textcat.h)
AC_CHECK_HEADERS(libexttextcat/textcat.h)
TEXTCAT_DATADIR="/usr/share/libexttextcat"
TEXTCAT_DATADIR="/usr/share/libtextcat"
AC_CHECK_HEADERS(libtextcat/textcat.h)
if test $want_textcat = yes && test "$have_fts_exttextcat" != yes && test "$have_fts_textcat" != yes; then
AC_DEFINE_UNQUOTED(TEXTCAT_DATADIR, "$TEXTCAT_DATADIR", Points to textcat pkgdatadir containing the language files)
if test "$PKG_CONFIG" != "" && $PKG_CONFIG --exists icu-i18n 2>/dev/null; then
FILES1=`find $srcdir/src -name '*settings.[[ch]]'|grep "$srcdir/src/lib-" | sed 's/^\(.*\)\(.\)$/\2 \1\2/' | grep -v 'lib-master.*c$' | 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 THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE"
AC_DEFINE_UNQUOTED(CAPABILITY_BANNER_STRING, "$capability_banner", IMAP capabilities advertised in banner)
chmod +x cc-wrapper.sh
CC=`pwd`/cc-wrapper.sh
AC_CONFIG_HEADERS([config.h])