summaryrefslogtreecommitdiffstats
path: root/pigeonhole/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'pigeonhole/configure.ac')
-rw-r--r--pigeonhole/configure.ac245
1 files changed, 245 insertions, 0 deletions
diff --git a/pigeonhole/configure.ac b/pigeonhole/configure.ac
new file mode 100644
index 0000000..3ead339
--- /dev/null
+++ b/pigeonhole/configure.ac
@@ -0,0 +1,245 @@
+AC_PREREQ([2.59])
+
+# Be sure to update ABI version also if anything changes that might require
+# recompiling plugins. Most importantly that means if any structs are changed.
+AC_INIT([Pigeonhole], [0.5.19], [dovecot@dovecot.org], [dovecot-2.3-pigeonhole])
+AC_DEFINE_UNQUOTED([PIGEONHOLE_ABI_VERSION], "0.5.ABIv19($PACKAGE_VERSION)", [Pigeonhole ABI version])
+
+AC_CONFIG_AUX_DIR([.])
+AC_CONFIG_SRCDIR([src])
+AC_CONFIG_MACRO_DIR([m4])
+
+# Autoheader is not needed and does more harm than good for this package. However, it is
+# tightly integrated in autoconf/automake and therefore it is difficult not to use it. As
+# a workaround we give autoheader a dummy config header to chew on and we handle the
+# real config header ourselves.
+AC_CONFIG_HEADERS([dummy-config.h pigeonhole-config.h])
+
+AC_DEFINE_UNQUOTED(PIGEONHOLE_NAME, "$PACKAGE_NAME",
+ [Define to the full name of Pigeonhole for Dovecot.])
+AC_DEFINE_UNQUOTED(PIGEONHOLE_VERSION, "$PACKAGE_VERSION",
+ [Define to the version of Pigeonhole for Dovecot.])
+
+AM_INIT_AUTOMAKE([no-define foreign tar-ustar])
+
+AM_MAINTAINER_MODE
+
+AC_PROG_CC
+AC_PROG_CPP
+AC_PROG_LIBTOOL
+
+# Couple with Dovecot
+#
+
+DC_DOVECOT
+DC_DOVECOT_MODULEDIR
+LIBDOVECOT_INCLUDE="$LIBDOVECOT_INCLUDE $LIBDOVECOT_STORAGE_INCLUDE"
+CFLAGS="$CFLAGS -I\$(top_srcdir)"
+LIBS="$DOVECOT_LIBS"
+BINARY_LDFLAGS="$PIE_LDFLAGS $RELRO_LDFLAGS"
+BINARY_CFLAGS="$PIE_CFLAGS"
+AC_SUBST(BINARY_CFLAGS)
+AC_SUBST(BINARY_LDFLAGS)
+AC_SUBST(LIBDOVECOT_INCLUDE)
+
+# Define Sieve documentation install dir
+#
+
+sieve_docdir='${dovecot_docdir}/sieve'
+AC_SUBST(sieve_docdir)
+
+# Extensions under development
+#
+
+AC_ARG_WITH(unfinished-features,
+[AC_HELP_STRING([--with-unfinished-features],
+ [Build unfinished new features/extensions [default=no]])],
+ if test x$withval = xno || test x$withval = xauto; then
+ want_unfinished_features=$withval
+ else
+ want_unfinished_features=yes
+ fi,
+ want_unfinished_features=no)
+AM_CONDITIONAL(BUILD_UNFINISHED, test "$want_unfinished_features" = "yes")
+
+if test "$want_unfinished_features" = "yes"; then
+ AC_DEFINE(HAVE_SIEVE_UNFINISHED,,
+ [Define to build unfinished features/extensions.])
+fi
+
+#
+#
+
+dnl TEST_WITH(name, value, [plugin])
+AC_DEFUN([TEST_WITH], [
+ want=want_`echo $1|sed s/-/_/g`
+ if test $2 = yes || test $2 = no || test $2 = auto; then
+ eval $want=$2
+ elif test $2 = plugin; then
+ if test "$3" = plugin; then
+ eval $want=plugin
+ else
+ AC_ERROR([--with-$1=plugin not supported])
+ fi
+ elif `echo $2|grep '^/' >/dev/null`; then
+ AC_ERROR([--with-$1=path not supported. You may want to use instead:
+CPPFLAGS=-I$2/include LDFLAGS=-L$2/lib ./configure --with-$1])
+ else
+ AC_ERROR([--with-$1: Unknown value: $2])
+ fi
+])
+
+AC_ARG_WITH(docs,
+[ --with-docs Install documentation (default)],
+ if test x$withval = xno; then
+ want_docs=no
+ else
+ want_docs=yes
+ fi,
+ want_docs=yes)
+AM_CONDITIONAL(BUILD_DOCS, test "$want_docs" = "yes")
+
+AC_ARG_WITH(managesieve,
+[AC_HELP_STRING([--with-managesieve],
+ [Build ManageSieve service [default=yes]])],
+ if test x$withval = xno || test x$withval = xauto; then
+ want_managesieve=$withval
+ else
+ want_managesieve=yes
+ fi,
+ want_managesieve=yes)
+AM_CONDITIONAL(BUILD_MANAGESIEVE, test "$want_managesieve" = "yes")
+
+AC_ARG_WITH(ldap,
+AS_HELP_STRING([--with-ldap=yes|plugin], [Build with LDAP support]),
+ TEST_WITH(ldap, $withval, plugin),
+ want_ldap=no)
+
+# FIXME: Imported this from Dovecot auth for now. We're working on a proper
+# lib-ldap, but, until then, some code is duplicated.
+have_ldap=no
+if test $want_ldap != no; then
+ AC_CHECK_LIB(ldap, ldap_init, [
+ AC_CHECK_HEADER(ldap.h, [
+ AC_CHECK_LIB(ldap, ldap_initialize, [
+ AC_DEFINE(LDAP_HAVE_INITIALIZE,, [Define if you have ldap_initialize])
+ ])
+ AC_CHECK_LIB(ldap, ldap_start_tls_s, [
+ AC_DEFINE(LDAP_HAVE_START_TLS_S,, [Define if you have ldap_start_tls_s])
+ ])
+ LDAP_LIBS="-lldap"
+ AC_CHECK_LIB(ldap, ber_free, [
+ # do nothing, default is to add -lldap to LIBS
+ :
+ ], [
+ AC_CHECK_LIB(lber, ber_free, [
+ LDAP_LIBS="$LDAP_LIBS -llber"
+ ])
+ ])
+ AC_SUBST(LDAP_LIBS)
+ if test $want_ldap != plugin; then
+ AC_DEFINE(SIEVE_BUILTIN_LDAP,, [LDAP support is built in])
+ fi
+
+ AC_DEFINE(STORAGE_LDAP,, [Build with LDAP support])
+ AC_CHECK_HEADERS(sasl.h sasl/sasl.h)
+ have_ldap=yes
+ ], [
+ if test $want_ldap != auto; then
+ AC_ERROR([Can't build with LDAP support: ldap.h not found])
+ fi
+ ])
+ ], [
+ if test $want_ldap != auto; then
+ AC_ERROR([Can't build with LDAP support: libldap not found])
+ fi
+ ])
+fi
+
+if test $have_ldap = no; then
+ not_scriptloc="$not_scriptloc ldap"
+else
+ scriptloc="$scriptloc ldap"
+ if test $want_ldap = plugin; then
+ have_ldap_plugin=yes
+ scriptloc="$scriptloc (plugin)"
+ fi
+fi
+AM_CONDITIONAL(LDAP_PLUGIN, test "$have_ldap_plugin" = "yes")
+
+CFLAGS="$CFLAGS $EXTRA_CFLAGS"
+LDFLAGS="$LDFLAGS $EXTRA_LDFLAGS"
+
+AC_CONFIG_FILES([
+Makefile
+doc/Makefile
+doc/man/Makefile
+doc/example-config/Makefile
+doc/example-config/conf.d/Makefile
+doc/rfc/Makefile
+doc/extensions/Makefile
+doc/locations/Makefile
+doc/plugins/Makefile
+src/Makefile
+src/lib-sieve/Makefile
+src/lib-sieve/util/Makefile
+src/lib-sieve/storage/Makefile
+src/lib-sieve/storage/data/Makefile
+src/lib-sieve/storage/file/Makefile
+src/lib-sieve/storage/dict/Makefile
+src/lib-sieve/storage/ldap/Makefile
+src/lib-sieve/plugins/Makefile
+src/lib-sieve/plugins/vacation/Makefile
+src/lib-sieve/plugins/subaddress/Makefile
+src/lib-sieve/plugins/comparator-i-ascii-numeric/Makefile
+src/lib-sieve/plugins/relational/Makefile
+src/lib-sieve/plugins/regex/Makefile
+src/lib-sieve/plugins/imap4flags/Makefile
+src/lib-sieve/plugins/copy/Makefile
+src/lib-sieve/plugins/include/Makefile
+src/lib-sieve/plugins/body/Makefile
+src/lib-sieve/plugins/variables/Makefile
+src/lib-sieve/plugins/enotify/Makefile
+src/lib-sieve/plugins/enotify/mailto/Makefile
+src/lib-sieve/plugins/notify/Makefile
+src/lib-sieve/plugins/environment/Makefile
+src/lib-sieve/plugins/mailbox/Makefile
+src/lib-sieve/plugins/date/Makefile
+src/lib-sieve/plugins/spamvirustest/Makefile
+src/lib-sieve/plugins/ihave/Makefile
+src/lib-sieve/plugins/editheader/Makefile
+src/lib-sieve/plugins/metadata/Makefile
+src/lib-sieve/plugins/duplicate/Makefile
+src/lib-sieve/plugins/index/Makefile
+src/lib-sieve/plugins/mime/Makefile
+src/lib-sieve/plugins/special-use/Makefile
+src/lib-sieve/plugins/vnd.dovecot/Makefile
+src/lib-sieve/plugins/vnd.dovecot/debug/Makefile
+src/lib-sieve/plugins/vnd.dovecot/environment/Makefile
+src/lib-sieve/plugins/vnd.dovecot/report/Makefile
+src/lib-sieve-tool/Makefile
+src/lib-managesieve/Makefile
+src/plugins/Makefile
+src/plugins/doveadm-sieve/Makefile
+src/plugins/lda-sieve/Makefile
+src/plugins/sieve-extprograms/Makefile
+src/plugins/imapsieve/Makefile
+src/plugins/imap-filter-sieve/Makefile
+src/plugins/settings/Makefile
+src/sieve-tools/Makefile
+src/managesieve/Makefile
+src/managesieve-login/Makefile
+src/testsuite/Makefile
+stamp.h])
+
+AC_OUTPUT
+
+not_scriptloc=`echo "$not_scriptloc"|sed 's/ / -/g'`
+
+echo
+echo "Install prefix . : $prefix"
+echo "script drivers . : file dict$scriptloc"
+if test "$not_scriptloc" != ""; then
+ echo " :$not_scriptloc"
+fi
+