AC_DEFINE(DISABLE_ASSERTS,, Disable asserts)
fi)
+AC_ARG_WITH(shared-libs,
+[ --with-shared-libs Link binaries using shared Dovecot libraries (default)],
+ want_shared_libs=$withval,
+ want_shared_libs=yes)
+AM_CONDITIONAL(BUILD_SHARED_LIBS, test "$want_shared_libs" = "yes")
+
AC_ARG_WITH(mem-align,
[ --with-mem-align=BYTES Set the memory alignment (default: 8)],
mem_align=$withval,
AC_SUBST(LINKED_STORAGE_LIBS)
AC_DEFINE_UNQUOTED(MAIL_STORAGES, "$mail_storages", List of compiled in mail storages)
+dnl **
+dnl ** Shared libraries usage
+dnl **
+
+if test "$want_shared_libs" = "yes"; then
+ LIBDOVECOT='$(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'
+else
+ LIBDOVECOT='$(top_builddir)/src/lib-settings/libsettings.la $(top_builddir)/src/lib-dict/libdict.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-master/libmaster.la $(top_builddir)/src/lib/liblib.la $(LIBICONV)'
+ LIBDOVECOT_STORAGE_BASE='$(top_builddir)/src/lib-storage/libstorage.la $(top_builddir)/src/lib-storage/register/libstorage_register.la $(top_builddir)/src/lib-storage/list/libstorage_list.la $(top_builddir)/src/lib-storage/index/libstorage_index.la $(top_builddir)/src/lib-index/libindex.la'
+ LIBDOVECOT_STORAGE="$LINKED_STORAGE_LIBS $LIBDOVECOT_STORAGE_BASE"
+ LIBDOVECOT_LOGIN='$(top_builddir)/src/login-common/liblogin.la'
+fi
+LIBDOVECOT_SQL='$(top_builddir)/src/lib-sql/libsql.la'
+AC_SUBST(LIBDOVECOT)
+AC_SUBST(LIBDOVECOT_STORAGE)
+AC_SUBST(LIBDOVECOT_LOGIN)
+AC_SUBST(LIBDOVECOT_SQL)
+
dnl **
dnl ** SQL drivers
dnl **
libpassword.a \
../lib-ntlm/libntlm.a \
../lib-otp/libotp.a \
- ../lib-sql/libsql.la \
- ../lib-dovecot/libdovecot.la \
+ $(LIBDOVECOT_SQL) \
+ $(LIBDOVECOT) \
+ $(MODULE_LIBS) \
$(AUTH_LIBS)
ldap_sources = db-ldap.c passdb-ldap.c userdb-ldap.c
noinst_HEADERS = $(headers)
endif
-checkpassword_reply_LDADD = \
- ../lib-dovecot/libdovecot.la
+checkpassword_reply_LDADD = $(LIBDOVECOT)
checkpassword_reply_sources = \
checkpassword-reply.c
-DSSLDIR=\""$(ssldir)\""
doveconf_LDADD = \
- ../lib-dovecot/libdovecot.la \
+ $(LIBDOVECOT) \
+ $(MODULE_LIBS) \
$(RAND_LIBS)
doveconf_SOURCES = \
libs = \
../lib-dict/libdict_backend.a \
- ../lib-sql/libsql.la \
- ../lib-dovecot/libdovecot.la
+ $(LIBDOVECOT_SQL) \
+ $(LIBDOVECOT)
dict_LDADD = \
$(libs) \
+ $(MODULE_LIBS) \
$(DICT_LIBS) \
$(SQL_LIBS)
-I$(top_srcdir)/src/login-common
imap_login_LDADD = \
- ../login-common/libdovecot-login.la \
- ../lib-dovecot/libdovecot.la
+ $(LIBDOVECOT_LOGIN) \
+ $(LIBDOVECOT)
imap_login_SOURCES = \
client.c \
imap_LDFLAGS = -export-dynamic
libs = \
- ../lib-storage/libdovecot-storage.la \
- ../lib-dovecot/libdovecot.la
-
-imap_LDADD = \
- $(libs)
+ $(LIBDOVECOT_STORAGE) \
+ $(LIBDOVECOT)
+imap_LDADD = $(libs) $(MODULE_LIBS)
imap_DEPENDENCIES = $(libs)
cmds = \
libs = \
../lib-lda/liblda.a \
- ../lib-storage/libdovecot-storage.la \
- ../lib-dovecot/libdovecot.la
+ $(LIBDOVECOT_STORAGE) \
+ $(LIBDOVECOT)
-dovecot_lda_LDADD = $(libs)
+dovecot_lda_LDADD = $(libs) $(MODULE_LIBS)
dovecot_lda_DEPENDENCIES = $(libs)
-pkglib_LTLIBRARIES = libdovecot.la
-
-libdovecot_la_SOURCES =
-
libs = \
../lib-settings/libsettings.la \
../lib-dict/libdict.la \
../lib-master/libmaster.la \
../lib/liblib.la
+pkglib_LTLIBRARIES = libdovecot.la
+
+libdovecot_la_SOURCES =
+
libdovecot_la_LIBADD = \
$(libs) \
$(MODULE_LIBS) \
SUBDIRS = list index register
-pkglib_LTLIBRARIES = libdovecot-storage.la
+noinst_LTLIBRARIES = libstorage.la
AM_CPPFLAGS = \
-I$(top_srcdir)/src/lib \
-DPKG_RUNDIR=\""$(rundir)"\" \
-DMODULEDIR=\""$(moduledir)"\"
-libdovecot_storage_la_SOURCES = \
+libstorage_la_SOURCES = \
mail.c \
mail-copy.c \
mail-error.c \
index/libstorage_index.la \
register/libstorage_register.la
-libdovecot_storage_la_LIBADD = $(libs)
-libdovecot_storage_la_DEPENDENCIES = $(libs)
-
-libdovecot_storage_la_LDFLAGS = -export-dynamic
+libstorage_la_LIBADD = $(libs)
+libstorage_la_DEPENDENCIES = $(libs)
headers = \
mail-copy.h \
mailbox-tree.h \
mailbox-uidvalidity.h
+pkglib_LTLIBRARIES = libdovecot-storage.la
+libdovecot_storage_la_SOURCES =
+libdovecot_storage_la_LIBADD = libstorage.la
+libdovecot_storage_la_DEPENDENCIES = libstorage.la
+libdovecot_storage_la_LDFLAGS = -export-dynamic
+
if INSTALL_HEADERS
pkginc_libdir=$(pkgincludedir)/src/lib-storage
pkginc_lib_HEADERS = $(headers)
-pkglib_LTLIBRARIES = libdovecot-login.la
+noinst_LTLIBRARIES = liblogin.la
AM_CPPFLAGS = \
-I$(top_srcdir)/src/lib \
-DSBINDIR=\""$(sbindir)"\" \
-DSSLDIR=\""$(ssldir)\""
-libdovecot_login_la_SOURCES = \
+liblogin_la_SOURCES = \
client-common.c \
login-proxy.c \
login-settings.c \
ssl-proxy-gnutls.c \
ssl-proxy-openssl.c
-libdovecot_login_la_LIBADD = \
+liblogin_la_LIBADD = \
$(SSL_LIBS)
noinst_HEADERS = \
master.h \
sasl-server.h \
ssl-proxy.h
+
+pkglib_LTLIBRARIES = libdovecot-login.la
+libdovecot_login_la_SOURCES =
+libdovecot_login_la_LIBADD = liblogin.la
+libdovecot_login_la_DEPENDENCIES = liblogin.la
+libdovecot_login_la_LDFLAGS = -export-dynamic
dovecot_LDADD = \
$(LIBCAP) \
- ../lib-dovecot/libdovecot.la
+ $(LIBDOVECOT)
dovecot_SOURCES = \
auth-process.c \
ssl-init-gnutls.c
ssl_build_param_LDADD = \
- ../lib-dovecot/libdovecot.la \
+ $(LIBDOVECOT) \
$(SSL_LIBS)
convert-storage.lo
libs = \
- $(top_builddir)/src/lib-storage/libdovecot-storage.la \
- $(top_builddir)/src/lib-dovecot/libdovecot.la
+ $(LIBDOVECOT_STORAGE) \
+ $(LIBDOVECOT)
convert_tool_LDADD = \
+ $(MODULE_LIBS) \
$(common_objects) \
$(libs)
expire-tool.c
libs = \
- $(top_builddir)/src/lib-storage/libdovecot-storage.la \
- $(top_builddir)/src/lib-dovecot/libdovecot.la
-
-expire_tool_LDADD = $(libs) expire-env.o
+ expire-env.o \
+ $(LIBDOVECOT_STORAGE) \
+ $(LIBDOVECOT)
+expire_tool_LDADD = $(libs) $(MODULE_LIBS)
expire_tool_DEPENDENCIES = $(libs)
squat-uidlist.lo
libs = \
- $(top_builddir)/src/lib-storage/libdovecot-storage.la \
- $(top_builddir)/src/lib-dovecot/libdovecot.la
+ $(LIBDOVECOT_STORAGE) \
+ $(LIBDOVECOT)
squat_test_LDADD = \
$(common_objects) \
-I$(top_srcdir)/src/login-common
pop3_login_LDADD = \
- ../login-common/libdovecot-login.la \
- ../lib-dovecot/libdovecot.la
+ $(LIBDOVECOT_LOGIN) \
+ $(LIBDOVECOT)
pop3_login_SOURCES = \
client.c \
pop3_LDFLAGS = -export-dynamic
libs = \
- ../lib-storage/libdovecot-storage.la \
- ../lib-dovecot/libdovecot.la
-
-pop3_LDADD = $(libs)
+ $(LIBDOVECOT_STORAGE) \
+ $(LIBDOVECOT)
+pop3_LDADD = $(libs) $(MODULE_LIBS)
pop3_DEPENDENCIES = $(libs)
pop3_SOURCES = \
test_lib_LDADD = \
libtest.a \
- ../lib-dovecot/libdovecot.la
+ $(LIBDOVECOT)
test_mail_SOURCES = \
test-mail.c
test_mail_LDADD = \
libtest.a \
- ../lib-dovecot/libdovecot.la
+ $(LIBDOVECOT)
test_imap_LDADD = \
libtest.a \
- ../lib-dovecot/libdovecot.la
+ $(LIBDOVECOT)
-I$(top_srcdir)/src/lib-storage \
-I$(top_srcdir)/src/auth
-rawlog_LDADD = \
- ../lib-dovecot/libdovecot.la
+rawlog_LDADD = $(LIBDOVECOT)
rawlog_SOURCES = \
rawlog.c
-gdbhelper_LDADD = \
- ../lib-dovecot/libdovecot.la
+gdbhelper_LDADD = $(LIBDOVECOT)
gdbhelper_SOURCES = \
gdbhelper.c
idxview_LDADD = \
- ../lib-dovecot/libdovecot.la \
- ../lib-storage/libdovecot-storage.la
+ $(LIBDOVECOT_STORAGE) \
+ $(LIBDOVECOT)
idxview_SOURCES = \
idxview.c
-imap_utf7_LDADD = \
- ../lib-dovecot/libdovecot.la
+imap_utf7_LDADD = $(LIBDOVECOT)
imap_utf7_SOURCES = \
imap-utf7.c
-listview_LDADD = \
- ../lib-dovecot/libdovecot.la
+listview_LDADD = $(LIBDOVECOT)
listview_SOURCES = \
listview.c
-logview_LDADD = \
- ../lib-dovecot/libdovecot.la
+logview_LDADD = $(LIBDOVECOT)
logview_SOURCES = \
logview.c
-maildirlock_LDADD = \
- ../lib-dovecot/libdovecot.la
+maildirlock_LDADD = $(LIBDOVECOT)
maildirlock_SOURCES = \
maildirlock.c
-threadview_LDADD = \
- ../lib-dovecot/libdovecot.la
+threadview_LDADD = $(LIBDOVECOT)
threadview_SOURCES = \
threadview.c
../auth/libpassword.a \
../lib-ntlm/libntlm.a \
../lib-otp/libotp.a \
- ../lib-dovecot/libdovecot.la \
+ $(LIBDOVECOT) \
$(AUTH_LIBS)
dovecotpw_SOURCES = \
dovecotpw.c
doveadm_LDADD = \
- ../lib-dovecot/libdovecot.la \
- ../lib-storage/libdovecot-storage.la
+ $(LIBDOVECOT_STORAGE) \
+ $(LIBDOVECOT) \
+ $(MODULE_LIBS)
doveadm_SOURCES = \
doveadm.c