]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
configure: Remove --with-storages parameter
authorJosef 'Jeff' Sipek <jeff.sipek@dovecot.fi>
Tue, 9 May 2017 07:07:55 +0000 (10:07 +0300)
committerGitLab <gitlab@git.dovecot.net>
Tue, 9 May 2017 09:22:05 +0000 (12:22 +0300)
Just compile all the storages, since the only benefit in limiting them
is to save a tiny bit of disk space. The recently added imapc quota code
fails to link if imapc storage isn't compiled in. This is the simplest
way to fix that.

.gitignore
configure.ac
src/lib-storage/Makefile.am
src/lib-storage/mail-storage-register.c [new file with mode: 0644]
src/lib-storage/mailbox-list-register.c [new file with mode: 0644]
src/lib-storage/register/Makefile.am [deleted file]
src/master/main.c

index 0028a5d139e65b07440f9d783394917e4f02cf5b..ded92fc2c1d87a817b4a0e70e37747919e0f8f39 100644 (file)
@@ -126,8 +126,6 @@ src/lib-fts/word-boundary-data.c
 src/lib-fts/word-break-data.c
 src/lib-dict/dict-drivers-register.c
 src/lib-sql/sql-drivers-register.c
-src/lib-storage/register/mail-storage-register.c
-src/lib-storage/register/mailbox-list-register.c
 src/log/log
 src/lmtp/lmtp
 src/master/dovecot
index 4fd6dce0b10311ef865eb9584ad2e3961a51903b..2a46d74f07c142148c4103795da6b25445bc8cd5 100644 (file)
@@ -272,21 +272,6 @@ AS_HELP_STRING([--with-gc], [Use Boehm garbage collector]),
   TEST_WITH(gc, $withval),
   want_gc=no)
 
-AC_ARG_WITH(storages,
-AS_HELP_STRING([--with-storages], [Build with specified mail storage formats (mdbox sdbox maildir mbox cydir imapc pop3c)]), [
-       if test "$withval" = "yes" || test "$withval" = "no"; then
-               AC_MSG_ERROR([--with-storages needs storage list as parameter])
-       fi
-       mail_storages="shared `echo "$withval"|sed 's/,/ /g'`" ],
-       mail_storages="shared mdbox sdbox maildir mbox cydir imapc pop3c")
-AC_SUBST(mail_storages)
-mail_storages="$mail_storages raw fail"
-# drop duplicates
-duplicates=`(for i in $mail_storages; do echo $i; done)|sort|uniq -d|xargs echo`
-if test "$duplicates" != ""; then
-  AC_ERROR([Duplicate --with-storages: $duplicates])
-fi
-
 DC_DOVECOT_MODULEDIR
 
 AC_ARG_WITH(docs,
@@ -612,54 +597,11 @@ dnl **
 dnl ** storage classes
 dnl **
 
-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'
 
-LINKED_STORAGE_LIBS=
-
-mailbox_list_drivers="maildir imapdir fs index none shared"
-have_sdbox=no
-have_mdbox=no
-for storage in $mail_storages; do
-  LINKED_STORAGE_LIBS="$LINKED_STORAGE_LIBS `eval echo \\$${storage}_libs`"
-  if test $storage = sdbox; then
-    have_sdbox=yes
-  fi
-  if test $storage = mdbox; then
-    have_mdbox=yes
-  fi
-  if test $storage = sdbox || test $storage = mdbox; then
-    LINKED_STORAGE_LIBS="$LINKED_STORAGE_LIBS $dbox_common_libs"
-    dbox_common_libs=""
-  fi
-  if test $storage = imapc; then
-    mailbox_list_drivers="$mailbox_list_drivers imapc"
-  fi
-done
 LINKED_STORAGE_LDADD=
-AC_SUBST(LINKED_STORAGE_LIBS)
 AC_SUBST(LINKED_STORAGE_LDADD)
-AC_SUBST(mailbox_list_drivers)
-AC_DEFINE_UNQUOTED(MAIL_STORAGES, "$mail_storages", [List of compiled in mail storages])
-
-if test $have_sdbox = yes; then
-  # create alias for sdbox
-  mail_storages="$mail_storages dbox"
-fi
-if test $have_mdbox = yes; then
-  mail_storages="$mail_storages mdbox_deleted"
-fi
 
 dnl **
 dnl ** Shared libraries usage
@@ -886,7 +828,6 @@ src/lib-storage/index/dbox-single/Makefile
 src/lib-storage/index/cydir/Makefile
 src/lib-storage/index/raw/Makefile
 src/lib-storage/index/shared/Makefile
-src/lib-storage/register/Makefile
 src/anvil/Makefile
 src/auth/Makefile
 src/config/Makefile
index 03702ed47bb823b5abda9c71a0ff71e9d1af0e04..89fcf0895c7c7f790231640267a8fe1b11ba230a 100644 (file)
@@ -1,4 +1,4 @@
-SUBDIRS = list index register
+SUBDIRS = list index
 
 noinst_LTLIBRARIES = libstorage.la
 
@@ -44,6 +44,7 @@ libstorage_la_SOURCES = \
        mail-search-register-imap.c \
        mail-storage.c \
        mail-storage-hooks.c \
+       mail-storage-register.c \
        mail-storage-service.c \
        mail-storage-settings.c \
        mail-thread.c \
@@ -56,6 +57,7 @@ libstorage_la_SOURCES = \
        mailbox-keywords.c \
        mailbox-list.c \
        mailbox-list-notify.c \
+       mailbox-list-register.c \
        mailbox-recent-flags.c \
        mailbox-search-result.c \
        mailbox-tree.c \
@@ -98,10 +100,19 @@ headers = \
        mailbox-watch.h
 
 shlibs = \
-       @LINKED_STORAGE_LIBS@ \
+       index/shared/libstorage_shared.la \
+       index/dbox-multi/libstorage_dbox_multi.la \
+       index/dbox-single/libstorage_dbox_single.la \
+       index/dbox-common/libstorage_dbox_common.la \
+       index/maildir/libstorage_maildir.la \
+       index/mbox/libstorage_mbox.la \
+       index/cydir/libstorage_cydir.la \
+       index/imapc/libstorage_imapc.la \
+       ../lib-imap-client/libimap_client.la \
+       index/pop3c/libstorage_pop3c.la \
+       index/raw/libstorage_raw.la \
        list/libstorage_list.la \
        index/libstorage_index.la \
-       register/libstorage_register.la \
        ../lib-index/libindex.la \
        ../lib-imap-storage/libimap-storage.la
 
diff --git a/src/lib-storage/mail-storage-register.c b/src/lib-storage/mail-storage-register.c
new file mode 100644 (file)
index 0000000..edd279c
--- /dev/null
@@ -0,0 +1,33 @@
+/* Copyright (c) 2017 Dovecot authors, see the included COPYING file */
+
+#include "lib.h"
+#include "mail-storage.h"
+
+extern struct mail_storage shared_storage;
+extern struct mail_storage dbox_storage;
+extern struct mail_storage mdbox_storage;
+extern struct mail_storage mdbox_deleted_storage;
+extern struct mail_storage sdbox_storage;
+extern struct mail_storage maildir_storage;
+extern struct mail_storage mbox_storage;
+extern struct mail_storage cydir_storage;
+extern struct mail_storage imapc_storage;
+extern struct mail_storage pop3c_storage;
+extern struct mail_storage raw_storage;
+extern struct mail_storage fail_storage;
+
+void mail_storage_register_all(void)
+{
+       mail_storage_class_register(&shared_storage);
+       mail_storage_class_register(&dbox_storage);
+       mail_storage_class_register(&mdbox_storage);
+       mail_storage_class_register(&mdbox_deleted_storage);
+       mail_storage_class_register(&sdbox_storage);
+       mail_storage_class_register(&maildir_storage);
+       mail_storage_class_register(&mbox_storage);
+       mail_storage_class_register(&cydir_storage);
+       mail_storage_class_register(&imapc_storage);
+       mail_storage_class_register(&pop3c_storage);
+       mail_storage_class_register(&raw_storage);
+       mail_storage_class_register(&fail_storage);
+}
diff --git a/src/lib-storage/mailbox-list-register.c b/src/lib-storage/mailbox-list-register.c
new file mode 100644 (file)
index 0000000..22bb34d
--- /dev/null
@@ -0,0 +1,26 @@
+/* Copyright (c) 2017 Dovecot authors, see the included COPYING file */
+
+#include "lib.h"
+#include "mailbox-list.h"
+
+extern struct mailbox_list maildir_mailbox_list;
+extern struct mailbox_list imapdir_mailbox_list;
+extern struct mailbox_list fs_mailbox_list;
+extern struct mailbox_list index_mailbox_list;
+extern struct mailbox_list imapc_mailbox_list;
+extern struct mailbox_list none_mailbox_list;
+extern struct mailbox_list shared_mailbox_list;
+
+void mailbox_list_index_init(void);
+
+void mailbox_list_register_all(void)
+{
+       mailbox_list_register(&maildir_mailbox_list);
+       mailbox_list_register(&imapdir_mailbox_list);
+       mailbox_list_register(&fs_mailbox_list);
+       mailbox_list_register(&index_mailbox_list);
+       mailbox_list_register(&imapc_mailbox_list);
+       mailbox_list_register(&none_mailbox_list);
+       mailbox_list_register(&shared_mailbox_list);
+       mailbox_list_index_init();
+}
diff --git a/src/lib-storage/register/Makefile.am b/src/lib-storage/register/Makefile.am
deleted file mode 100644 (file)
index 81bf754..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-noinst_LTLIBRARIES = libstorage_register.la
-
-mail_storages = @mail_storages@
-
-mailbox_list_drivers = @mailbox_list_drivers@
-
-mail-storage-register.c: Makefile
-       rm -f $@
-       echo '/* this file automatically generated by Makefile */' >$@
-       echo '#include "lib.h"' >>$@
-       echo '#include "mail-storage.h"' >>$@
-       for i in $(mail_storages) ; do \
-               echo "extern struct mail_storage $${i}_storage;" >>$@ ; \
-       done
-       echo 'void mail_storage_register_all(void) {' >>$@
-       for i in $(mail_storages) ; do \
-               echo "mail_storage_class_register(&$${i}_storage);" >>$@ ; \
-       done
-       echo '}' >>$@
-
-mailbox-list-register.c: Makefile
-       rm -f $@
-       echo '/* this file automatically generated by Makefile */' >$@
-       echo '#include "lib.h"' >>$@
-       echo '#include "mailbox-list.h"' >>$@
-       for i in $(mailbox_list_drivers) ; do \
-               echo "extern struct mailbox_list $${i}_mailbox_list;" >>$@ ; \
-       done
-       echo "void mailbox_list_index_init(void);" >>$@
-       echo 'void mailbox_list_register_all(void) {' >>$@
-       for i in $(mailbox_list_drivers) ; do \
-               echo "mailbox_list_register(&$${i}_mailbox_list);" >>$@ ; \
-       done
-       echo "mailbox_list_index_init();" >>$@
-       echo '}' >>$@
-
-AM_CPPFLAGS = \
-       -I$(top_srcdir)/src/lib \
-       -I$(top_srcdir)/src/lib-mail \
-       -I$(top_srcdir)/src/lib-storage
-
-nodist_libstorage_register_la_SOURCES = \
-       mail-storage-register.c \
-       mailbox-list-register.c
-
-distclean-generic:
-       rm -f Makefile mail-storage-register.c mailbox-list-register.c
index b55930b15c0df6248606f42678bfb2aeff03b7fd..5757609fbbb2cda568dfc68203253a82b3af0945 100644 (file)
@@ -634,7 +634,6 @@ static void print_build_options(void)
                " openssl"
 #endif
                " io_block_size=%u"
-       "\nMail storages: "MAIL_STORAGES"\n"
 #ifdef SQL_DRIVER_PLUGINS
        "SQL driver plugins:"
 #else