From bfbb24b9faba009c2cb79b3a38995acf2621f49b Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Thu, 21 Apr 2016 18:51:57 +0300 Subject: [PATCH] Split parts of lib-dict into lib-dict-extra. Otherwise there's a circular dependency because lib-dict/dict-fs.c depends on lib-fs, while lib-fs/fs-dict.c depends on lib-dict. This becomes a problem when compiling --without-shared-libs, although for some reason it works for me while linking the Dovecot core, but not when linking external plugins. --- configure.ac | 3 ++- src/Makefile.am | 1 + src/lib-dict-extra/Makefile.am | 14 ++++++++++++++ src/{lib-dict => lib-dict-extra}/dict-fs.c | 0 src/{lib-dict => lib-dict-extra}/dict-register.c | 0 src/lib-dict/Makefile.am | 5 ----- src/lib-dovecot/Makefile.am | 1 + 7 files changed, 18 insertions(+), 6 deletions(-) create mode 100644 src/lib-dict-extra/Makefile.am rename src/{lib-dict => lib-dict-extra}/dict-fs.c (100%) rename src/{lib-dict => lib-dict-extra}/dict-register.c (100%) diff --git a/configure.ac b/configure.ac index 84297442e5..821451603b 100644 --- a/configure.ac +++ b/configure.ac @@ -2523,7 +2523,7 @@ if test "$want_shared_libs" = "yes"; then LIBDOVECOT_LOGIN='$(top_builddir)/src/login-common/libdovecot-login.la' LIBDOVECOT_LDA='$(top_builddir)/src/lib-lda/libdovecot-lda.la' else - 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_DEPS='$(top_builddir)/src/lib-dict-extra/libdict_extra.la $(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-fs/libfs.la $(top_builddir)/src/lib-dict/libdict.la $(top_builddir)/src/lib-dns/libdns.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="$LIBDOVECOT_DEPS \$(LIBICONV) \$(MODULE_LIBS)" LIBDOVECOT_STORAGE_DEPS='$(top_builddir)/src/lib-storage/libstorage.la' LIBDOVECOT_LOGIN='$(top_builddir)/src/login-common/liblogin.la' @@ -2859,6 +2859,7 @@ src/lib-auth/Makefile src/lib-charset/Makefile src/lib-compression/Makefile src/lib-dict/Makefile +src/lib-dict-extra/Makefile src/lib-dns/Makefile src/lib-fs/Makefile src/lib-fts/Makefile diff --git a/src/Makefile.am b/src/Makefile.am index cafcef86df..87501de279 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -23,6 +23,7 @@ LIBDOVECOT_SUBDIRS = \ SUBDIRS = \ $(LIBDOVECOT_SUBDIRS) \ + lib-dict-extra \ lib-dovecot \ lib-fts \ lib-imap-client \ diff --git a/src/lib-dict-extra/Makefile.am b/src/lib-dict-extra/Makefile.am new file mode 100644 index 0000000000..c292ba2336 --- /dev/null +++ b/src/lib-dict-extra/Makefile.am @@ -0,0 +1,14 @@ +noinst_LTLIBRARIES = libdict_extra.la + +dict_drivers = @dict_drivers@ + +AM_CPPFLAGS = \ + -I$(top_srcdir)/src/lib \ + -I$(top_srcdir)/src/lib-dict \ + -I$(top_srcdir)/src/lib-fs \ + -I$(top_srcdir)/src/lib-settings \ + $(SQL_CFLAGS) + +libdict_extra_la_SOURCES = \ + dict-fs.c \ + dict-register.c diff --git a/src/lib-dict/dict-fs.c b/src/lib-dict-extra/dict-fs.c similarity index 100% rename from src/lib-dict/dict-fs.c rename to src/lib-dict-extra/dict-fs.c diff --git a/src/lib-dict/dict-register.c b/src/lib-dict-extra/dict-register.c similarity index 100% rename from src/lib-dict/dict-register.c rename to src/lib-dict-extra/dict-register.c diff --git a/src/lib-dict/Makefile.am b/src/lib-dict/Makefile.am index bf893b0f88..07fbda079e 100644 --- a/src/lib-dict/Makefile.am +++ b/src/lib-dict/Makefile.am @@ -1,12 +1,9 @@ noinst_LTLIBRARIES = libdict.la noinst_LIBRARIES = libdict_backend.a -dict_drivers = @dict_drivers@ - AM_CPPFLAGS = \ -I$(top_srcdir)/src/lib \ -I$(top_srcdir)/src/lib-test \ - -I$(top_srcdir)/src/lib-fs \ -I$(top_srcdir)/src/lib-ldap \ -I$(top_srcdir)/src/lib-sql \ -I$(top_srcdir)/src/lib-settings \ @@ -16,11 +13,9 @@ base_sources = \ dict.c \ dict-client.c \ dict-file.c \ - dict-fs.c \ dict-memcached.c \ dict-memcached-ascii.c \ dict-redis.c \ - dict-register.c \ dict-transaction-memory.c libdict_la_SOURCES = \ diff --git a/src/lib-dovecot/Makefile.am b/src/lib-dovecot/Makefile.am index fd08776086..3279f89dd9 100644 --- a/src/lib-dovecot/Makefile.am +++ b/src/lib-dovecot/Makefile.am @@ -1,6 +1,7 @@ # when adding libraries, update LIBDOVECOT also in configure.in libs = \ ../lib-master/libmaster.la \ + ../lib-dict-extra/libdict_extra.la \ ../lib-fs/libfs.la \ ../lib-settings/libsettings.la \ ../lib-stats/libstats.la \