AC_SUBST(LDAP_LIBS)
if test $want_ldap != plugin; then
AUTH_LIBS="$AUTH_LIBS $LDAP_LIBS"
+ DICT_LIBS="$DICT_LIBS $LDAP_LIBS"
AC_DEFINE(BUILTIN_LDAP,, [LDAP support is built in])
fi
NOPLUGIN_LDFLAGS =
+ldap_sources = \
+ dict-ldap.c \
+ dict-ldap-settings.c
+
libdict_backend_la_SOURCES = \
dict-db.c \
dict-cdb.c \
dict-sql.c \
- dict-sql-settings.c
+ dict-sql-settings.c \
+ $(ldap_sources)
+libdict_backend_la_LIBADD =
nodist_libdict_backend_la_SOURCES = \
dict-drivers-register.c
dict-sql-private.h \
dict-sql-settings.h
-if HAVE_LDAP
+if LDAP_PLUGIN
LIBDICT_LDAP = libdict_ldap.la
libdict_ldap_la_DEPENDENCIES = $(LIBDOVECOT_LDAP) $(LIBDOVECOT_DEPS)
libdict_ldap_la_LDFLAGS = -module -avoid-version
libdict_ldap_la_LIBADD = $(LIBDOVECOT_LDAP) $(LIBDOVECOT)
+libdict_ldap_la_CPPFLAGS = $(AM_CPPFLAGS) -DPLUGIN_BUILD
+libdict_ldap_la_SOURCES = $(ldap_sources)
+else
+if HAVE_LDAP
+libdict_backend_la_LIBADD += $(LIBDOVECOT_LDAP)
+dict_drivers += ldap
+endif
+endif
module_dict_LTLIBRARIES = \
$(LIBDICT_LDAP)
-libdict_ldap_la_SOURCES = \
- dict-ldap.c \
- dict-ldap-settings.c
-endif
-
EXTRA_DIST = dict.conf
dict-drivers-register.c: Makefile $(top_builddir)/config.h
echo '/* this file automatically generated by Makefile */' >$@
echo '#include "lib.h"' >>$@
echo '#include "dict.h"' >>$@
+ echo '#include "ldap-client.h"' >>$@
echo '#include "dict-sql.h"' >>$@
for i in $(dict_drivers) null; do \
if [ "$${i}" != "null" ]; then \
done
echo '}' >>$@
echo 'void dict_drivers_unregister_all(void) {' >>$@
+ echo '#ifdef BUILTIN_LDAP' >>$@
+ echo 'ldap_clients_cleanup();' >>$@
+ echo '#endif' >>$@
echo 'dict_drivers_unregister_builtin();' >>$@
echo 'dict_sql_unregister();' >>$@
for i in $(dict_drivers) null; do \
/* Copyright (c) 2016-2017 Dovecot authors, see the included COPYING memcached */
#include "lib.h"
+
+#if defined(BUILTIN_LDAP) || defined(PLUGIN_BUILD)
+
#include "array.h"
#include "module-dir.h"
#include "str.h"
}
};
+#ifndef BUILTIN_LDAP
+/* Building a plugin */
void dict_ldap_init(struct module *module ATTR_UNUSED);
void dict_ldap_deinit(void);
}
const char *dict_ldap_plugin_dependencies[] = { NULL };
+#endif
+
+#endif