]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
ITS#10163 More configure munging
authorHoward Chu <hyc@openldap.org>
Thu, 15 Feb 2024 01:32:22 +0000 (01:32 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Fri, 5 Apr 2024 15:42:04 +0000 (15:42 +0000)
Streamline configuration of slapd modules. Just use the
appropriate OL_ARG_ENABLE_xx, then almost no other edits
will be needed in configure.ac when adding new modules.

Backends will still have to add their Makefile to the
AC_CONFIG_FILES() list.

20 files changed:
build/openldap.m4
configure.ac
include/portable.hin
servers/slapd/back-asyncmeta/Makefile.in
servers/slapd/back-dnssrv/Makefile.in
servers/slapd/back-ldap/Makefile.in
servers/slapd/back-mdb/Makefile.in
servers/slapd/back-meta/Makefile.in
servers/slapd/back-monitor/init.c
servers/slapd/back-null/Makefile.in
servers/slapd/back-passwd/Makefile.in
servers/slapd/back-perl/Makefile.in
servers/slapd/back-relay/Makefile.in
servers/slapd/back-sock/Makefile.in
servers/slapd/back-sql/Makefile.in
servers/slapd/back-wt/Makefile.in
servers/slapd/overlays/Makefile.in
servers/slapd/overlays/pcache.c
servers/slapd/overlays/rwmmain.c [moved from servers/slapd/overlays/rwm.c with 100% similarity]
tests/Makefile.in

index d668c6a8b06271f8547c09270f345c16ae3d5087..2a5a91d77c11e2ad00bc98aab30e437251c9de12 100644 (file)
@@ -40,6 +40,21 @@ dnl AC_MSG_RESULT([OpenLDAP -enable-$1 $ol_enable_$1])
        popdef([ol_DefVal])
 # end --enable-$1
 ])dnl
+AC_DEFUN([OL_ARG_ENABLE_BK], [
+       Backends="$Backends $1"
+       Bk_help_$1="$2"
+       OL_ARG_ENABLE($1, [AS_HELP_STRING([--enable-$1], [enable $2])], $3, $4, $5)
+])dnl
+AC_DEFUN([OL_ARG_ENABLE_OV], [
+       Overlays="$Overlays $1"
+       Ov_help_$1="$2"
+       OL_ARG_ENABLE($1, [AS_HELP_STRING([--enable-$1], [$2])], $3, $4, $5)
+])dnl
+AC_DEFUN([OL_ARG_ENABLE_PW], [
+       Pwmods="$Pwmods $1"
+       Pw_help_$1="$2"
+       OL_ARG_ENABLE($1, [AS_HELP_STRING([--enable-$1], [$2])], $3, $4, $5)
+])dnl
 dnl
 dnl --------------------------------------------------------------------
 dnl Restricted form of AC_ARG_WITH that limits user options
index c413f1770f9e99c9c67b9ccede2b08609ab6c809..4541cbcccb8cedfc6c95fe39dbdc83642ce006fb 100644 (file)
@@ -190,7 +190,7 @@ AH_BOTTOM([
 /* end of portable.h.post */
 ])
 
-AC_CONFIG_HEADERS([include/portable.h:include/portable.hin])
+AC_CONFIG_HEADERS([include/portable.h:include/portable.hin:include/slapd-modules.hin])
 AC_CONFIG_HEADERS([include/ldap_features.h:include/ldap_features.hin])
 AC_CONFIG_HEADERS([include/lber_types.h:include/lber_types.hin])
 
@@ -293,140 +293,103 @@ OL_ARG_ENABLE(wrappers, [AS_HELP_STRING([--enable-wrappers], [enable tcp wrapper
 
 dnl ----------------------------------------------------------------
 dnl SLAPD Backend Options
-Backends="dnssrv \
-       ldap \
-       mdb \
-       meta \
-       asyncmeta \
-       null \
-       passwd \
-       perl \
-       relay \
-       sock \
-       sql \
-       wt"
+Backends=""
 
 AC_ARG_ENABLE(xxslapbackends,[
 SLAPD Backend Options:])
 
 OL_ARG_ENABLE(backends, [AS_HELP_STRING([--enable-backends], [enable all available backends])],
        --, [no yes mod])dnl
-OL_ARG_ENABLE(dnssrv, [AS_HELP_STRING([--enable-dnssrv], [enable dnssrv backend])],
+OL_ARG_ENABLE_BK(dnssrv, [dnssrv backend],
        no, [no yes mod], ol_enable_backends)dnl
-OL_ARG_ENABLE(ldap, [AS_HELP_STRING([--enable-ldap], [enable ldap backend])],
+OL_ARG_ENABLE_BK(ldap, [ldap backend],
        no, [no yes mod], ol_enable_backends)dnl
-OL_ARG_ENABLE(mdb, [AS_HELP_STRING([--enable-mdb], [enable mdb database backend])],
+OL_ARG_ENABLE_BK(mdb, [mdb database backend],
        yes, [no yes mod], ol_enable_backends)dnl
-OL_ARG_ENABLE(meta, [AS_HELP_STRING([--enable-meta], [enable metadirectory backend])],
+OL_ARG_ENABLE_BK(meta, [metadirectory backend],
        no, [no yes mod], ol_enable_backends)dnl
-OL_ARG_ENABLE(asyncmeta, [AS_HELP_STRING([--enable-asyncmeta], [enable asynchronous metadirectory backend])],
+OL_ARG_ENABLE_BK(asyncmeta, [asynchronous metadirectory backend],
        no, [no yes mod], ol_enable_backends)dnl
-OL_ARG_ENABLE(null, [AS_HELP_STRING([--enable-null], [enable null backend])],
+OL_ARG_ENABLE_BK(null, [null backend],
        no, [no yes mod], ol_enable_backends)dnl
-OL_ARG_ENABLE(passwd, [AS_HELP_STRING([--enable-passwd], [enable passwd backend])],
+OL_ARG_ENABLE_BK(passwd, [passwd backend],
        no, [no yes mod], ol_enable_backends)dnl
-OL_ARG_ENABLE(perl, [AS_HELP_STRING([--enable-perl], [enable perl backend])],
+OL_ARG_ENABLE_BK(perl, [perl backend],
        no, [no yes mod], ol_enable_backends)dnl
-OL_ARG_ENABLE(relay, [AS_HELP_STRING([--enable-relay], [enable relay backend])],
+OL_ARG_ENABLE_BK(relay, [relay backend],
        yes, [no yes mod], ol_enable_backends)dnl
-OL_ARG_ENABLE(sock, [AS_HELP_STRING([--enable-sock], [enable sock backend])],
+OL_ARG_ENABLE_BK(sock, [sock backend],
        no, [no yes mod], ol_enable_backends)dnl
-OL_ARG_ENABLE(sql, [AS_HELP_STRING([--enable-sql], [enable sql backend])],
+OL_ARG_ENABLE_BK(sql, [sql backend],
        no, [no yes mod], ol_enable_backends)dnl
-OL_ARG_ENABLE(wt, [AS_HELP_STRING([--enable-wt], [enable WiredTiger backend])],
+OL_ARG_ENABLE_BK(wt, [WiredTiger backend],
        no, [no yes mod], ol_enable_backends)dnl
 
 dnl ----------------------------------------------------------------
 dnl SLAPD Overlay Options
-Overlays="accesslog \
-       auditlog \
-       autoca \
-       collect \
-       constraint \
-       dds \
-       deref \
-       dyngroup \
-       dynlist \
-       homedir \
-       memberof \
-       nestgroup \
-       otp \
-       ppolicy \
-       proxycache \
-       refint \
-       remoteauth \
-       retcode \
-       rwm \
-       seqmod \
-       sssvlv \
-       syncprov \
-       translucent \
-       unique \
-       valsort"
-
-Pwmods="argon2"
+Overlays=""
 
 AC_ARG_ENABLE(xxslapoverlays,[
 SLAPD Overlay Options:])
 
 OL_ARG_ENABLE(overlays, [AS_HELP_STRING([--enable-overlays], [enable all available overlays])],
        --, [no yes mod])dnl
-OL_ARG_ENABLE(accesslog, [AS_HELP_STRING([--enable-accesslog], [In-Directory Access Logging overlay])],
+OL_ARG_ENABLE_OV(accesslog, [In-Directory Access Logging overlay],
        no, [no yes mod], ol_enable_overlays)
-OL_ARG_ENABLE(auditlog, [AS_HELP_STRING([--enable-auditlog], [Audit Logging overlay])],
+OL_ARG_ENABLE_OV(auditlog, [Audit Logging overlay],
        no, [no yes mod], ol_enable_overlays)
-OL_ARG_ENABLE(autoca, [AS_HELP_STRING([--enable-autoca], [Automatic Certificate Authority overlay])],
+OL_ARG_ENABLE_OV(autoca, [Automatic Certificate Authority overlay],
        no, [no yes mod], ol_enable_overlays)
-OL_ARG_ENABLE(collect, [AS_HELP_STRING([--enable-collect], [Collect overlay])],
+OL_ARG_ENABLE_OV(collect, [Collectve attributes overlay],
        no, [no yes mod], ol_enable_overlays)
-OL_ARG_ENABLE(constraint, [AS_HELP_STRING([--enable-constraint], [Attribute Constraint overlay])],
+OL_ARG_ENABLE_OV(constraint, [Attribute Constraint overlay],
        no, [no yes mod], ol_enable_overlays)
-OL_ARG_ENABLE(dds, [AS_HELP_STRING([--enable-dds], [Dynamic Directory Services overlay])],
+OL_ARG_ENABLE_OV(dds, [Dynamic Directory Services overlay],
        no, [no yes mod], ol_enable_overlays)
-OL_ARG_ENABLE(deref, [AS_HELP_STRING([--enable-deref], [Dereference overlay])],
+OL_ARG_ENABLE_OV(deref, [Dereference overlay],
        no, [no yes mod], ol_enable_overlays)
-OL_ARG_ENABLE(dyngroup, [AS_HELP_STRING([--enable-dyngroup], [Dynamic Group overlay])],
+OL_ARG_ENABLE_OV(dyngroup, [Dynamic Group overlay],
        no, [no yes mod], ol_enable_overlays)
-OL_ARG_ENABLE(dynlist, [AS_HELP_STRING([--enable-dynlist], [Dynamic List overlay])],
+OL_ARG_ENABLE_OV(dynlist, [Dynamic List overlay],
        no, [no yes mod], ol_enable_overlays)
-OL_ARG_ENABLE(homedir, [AS_HELP_STRING([--enable-homedir], [Home Directory Management overlay])],
+OL_ARG_ENABLE_OV(homedir, [Home Directory Management overlay],
        no, [no yes mod], ol_enable_overlays)
-OL_ARG_ENABLE(memberof, [AS_HELP_STRING([--enable-memberof], [Reverse Group Membership overlay])],
+OL_ARG_ENABLE_OV(memberof, [Reverse Group Membership overlay],
        no, [no yes mod], ol_enable_overlays)
-OL_ARG_ENABLE(nestgroup, [AS_HELP_STRING([--enable-nestgroup], [Nested Group overlay])],
+OL_ARG_ENABLE_OV(nestgroup, [Nested Group overlay],
        no, [no yes mod], ol_enable_overlays)
-OL_ARG_ENABLE(otp, [AS_HELP_STRING([--enable-otp], [OTP 2-factor authentication overlay])],
+OL_ARG_ENABLE_OV(ppolicy, [Password Policy overlay],
        no, [no yes mod], ol_enable_overlays)
-OL_ARG_ENABLE(ppolicy, [AS_HELP_STRING([--enable-ppolicy], [Password Policy overlay])],
+OL_ARG_ENABLE_OV(proxycache, [Proxy Cache overlay],
        no, [no yes mod], ol_enable_overlays)
-OL_ARG_ENABLE(proxycache, [AS_HELP_STRING([--enable-proxycache], [Proxy Cache overlay])],
+OL_ARG_ENABLE_OV(refint, [Referential Integrity overlay],
        no, [no yes mod], ol_enable_overlays)
-OL_ARG_ENABLE(refint, [AS_HELP_STRING([--enable-refint], [Referential Integrity overlay])],
+OL_ARG_ENABLE_OV(remoteauth, [Deferred Authentication overlay],
        no, [no yes mod], ol_enable_overlays)
-OL_ARG_ENABLE(remoteauth, [AS_HELP_STRING([--enable-remoteauth], [Deferred Authentication overlay])],
+OL_ARG_ENABLE_OV(retcode, [Return Code testing overlay],
        no, [no yes mod], ol_enable_overlays)
-OL_ARG_ENABLE(retcode, [AS_HELP_STRING([--enable-retcode], [Return Code testing overlay])],
+OL_ARG_ENABLE_OV(rwm, [Rewrite/Remap overlay],
        no, [no yes mod], ol_enable_overlays)
-OL_ARG_ENABLE(rwm, [AS_HELP_STRING([--enable-rwm], [Rewrite/Remap overlay])],
+OL_ARG_ENABLE_OV(seqmod, [Sequential Modify overlay],
        no, [no yes mod], ol_enable_overlays)
-OL_ARG_ENABLE(seqmod, [AS_HELP_STRING([--enable-seqmod], [Sequential Modify overlay])],
+OL_ARG_ENABLE_OV(sssvlv, [ServerSideSort/VLV overlay],
        no, [no yes mod], ol_enable_overlays)
-OL_ARG_ENABLE(sssvlv, [AS_HELP_STRING([--enable-sssvlv], [ServerSideSort/VLV overlay])],
-       no, [no yes mod], ol_enable_overlays)
-OL_ARG_ENABLE(syncprov, [AS_HELP_STRING([--enable-syncprov], [Syncrepl Provider overlay])],
+OL_ARG_ENABLE_OV(syncprov, [Syncrepl Provider overlay],
        yes, [no yes mod], ol_enable_overlays)
-OL_ARG_ENABLE(translucent, [AS_HELP_STRING([--enable-translucent], [Translucent Proxy overlay])],
+OL_ARG_ENABLE_OV(translucent, [Translucent Proxy overlay],
        no, [no yes mod], ol_enable_overlays)
-OL_ARG_ENABLE(unique, [AS_HELP_STRING([--enable-unique], [Attribute Uniqueness overlay])],
+OL_ARG_ENABLE_OV(unique, [Attribute Uniqueness overlay],
        no, [no yes mod], ol_enable_overlays)
-OL_ARG_ENABLE(valsort, [AS_HELP_STRING([--enable-valsort], [Value Sorting overlay])],
+OL_ARG_ENABLE_OV(valsort, [Value Sorting overlay],
        no, [no yes mod], ol_enable_overlays)
 
 dnl ----------------------------------------------------------------
 dnl PASSWORD MODULE OPTIONS
+Pwmods=""
+
 AC_ARG_ENABLE(pwmodoptions,[
 SLAPD Password Module Options:])
-OL_ARG_ENABLE(argon2, [AS_HELP_STRING([--enable-argon2], [Argon2 password hashing module])],
+OL_ARG_ENABLE_PW(argon2, [Argon2 password hashing module],
        no, [no yes], ol_enable_pwmodules)
 OL_ARG_WITH(argon2,
        [AS_HELP_STRING([--with-argon2], [with argon2 support library auto|libsodium|libargon2])],
@@ -581,19 +544,6 @@ BUILD_THREAD=no
 BUILD_SLAPI=no
 SLAPD_SLAPI_DEPEND=
 
-BUILD_DNSSRV=no
-BUILD_LDAP=no
-BUILD_MDB=no
-BUILD_META=no
-BUILD_ASYNCMETA=no
-BUILD_NULL=no
-BUILD_PASSWD=no
-BUILD_PERL=no
-BUILD_RELAY=no
-BUILD_SOCK=no
-BUILD_SQL=no
-BUILD_WT=no
-
 BUILD_HARNESS=no
 
 SLAPD_STATIC_OVERLAYS=
@@ -2586,288 +2536,27 @@ if test "$ol_link_modules" != no ; then
        SLAPD_MODULES_LDFLAGS="-dlopen self"
 fi
 
-AC_DEFINE(SLAPD_MOD_STATIC,1,[statically linked module])
-AC_DEFINE(SLAPD_MOD_DYNAMIC,2,[dynamically linked module])
-
-if test "$ol_enable_dnssrv" != no ; then
-       BUILD_SLAPD=yes
-       BUILD_DNSSRV=$ol_enable_dnssrv
-       if test "$ol_enable_dnssrv" = mod ; then
-               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-dnssrv"
-               MFLAG=SLAPD_MOD_DYNAMIC
-       else
-               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-dnssrv"
-               MFLAG=SLAPD_MOD_STATIC
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_DNSSRV,$MFLAG,[define to support DNS SRV backend])
-fi
-
-if test "$ol_enable_ldap" != no ; then
-       BUILD_SLAPD=yes
-       BUILD_LDAP=$ol_enable_ldap
-       if test "$ol_enable_ldap" = mod ; then
-               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldap"
-               MFLAG=SLAPD_MOD_DYNAMIC
-       else
-               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldap"
-               MFLAG=SLAPD_MOD_STATIC
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_LDAP,$MFLAG,[define to support LDAP backend])
-fi
-
-if test "$ol_enable_mdb" != no ; then
-       BUILD_SLAPD=yes
-       BUILD_MDB=$ol_enable_mdb
-       if test "$ol_enable_mdb" = mod ; then
-               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-mdb"
-               MFLAG=SLAPD_MOD_DYNAMIC
-       else
-               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-mdb"
-               MFLAG=SLAPD_MOD_STATIC
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_MDB,$MFLAG,[define to support MDB backend])
-fi
-
-if test "$ol_enable_meta" != no ; then
-       BUILD_SLAPD=yes
-       BUILD_META=$ol_enable_meta
-       if test "$ol_enable_meta" = mod ; then
-               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-meta"
-               MFLAG=SLAPD_MOD_DYNAMIC
-       else
-               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-meta"
-               MFLAG=SLAPD_MOD_STATIC
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_META,$MFLAG,[define to support LDAP Metadirectory backend])
-fi
-
-if test "$ol_enable_asyncmeta" != no ; then
-       BUILD_SLAPD=yes
-       BUILD_ASYNCMETA=$ol_enable_asyncmeta
-       if test "$ol_enable_asyncmeta" = mod ; then
-               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-asyncmeta"
-               MFLAG=SLAPD_MOD_DYNAMIC
-       else
-               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-asyncmeta"
-               MFLAG=SLAPD_MOD_STATIC
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_ASYNCMETA,$MFLAG,[define to support LDAP Async Metadirectory backend])
-fi
-
-if test "$ol_enable_null" != no ; then
-       BUILD_SLAPD=yes
-       BUILD_NULL=$ol_enable_null
-       if test "$ol_enable_null" = mod ; then
-               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-null"
-               MFLAG=SLAPD_MOD_DYNAMIC
-       else
-               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-null"
-               MFLAG=SLAPD_MOD_STATIC
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_NULL,$MFLAG,[define to support NULL backend])
-fi
-
-if test "$ol_enable_passwd" != no ; then
-       BUILD_SLAPD=yes
-       BUILD_PASSWD=$ol_enable_passwd
-       if test "$ol_enable_passwd" = mod ; then
-               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-passwd"
-               MFLAG=SLAPD_MOD_DYNAMIC
-       else
-               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-passwd"
-               MFLAG=SLAPD_MOD_STATIC
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_PASSWD,$MFLAG,[define to support PASSWD backend])
-fi
-
-if test "$ol_link_perl" != no ; then
-       BUILD_SLAPD=yes
-       BUILD_PERL=$ol_enable_perl
-       if test "$ol_enable_perl" = mod ; then
-               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-perl"
-               MFLAG=SLAPD_MOD_DYNAMIC
-       else
-               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-perl"
-               MFLAG=SLAPD_MOD_STATIC
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_PERL,$MFLAG,[define to support PERL backend])
-fi
-
-if test "$ol_enable_relay" != no ; then
-       BUILD_SLAPD=yes
-       BUILD_RELAY=$ol_enable_relay
-       if test "$ol_enable_relay" = mod ; then
-               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-relay"
-               MFLAG=SLAPD_MOD_DYNAMIC
-       else
-               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-relay"
-               MFLAG=SLAPD_MOD_STATIC
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_RELAY,$MFLAG,[define to support relay backend])
-fi
-
-if test "$ol_enable_sock" != no ; then
-       BUILD_SLAPD=yes
-       BUILD_SOCK=$ol_enable_sock
-       if test "$ol_enable_sock" = mod ; then
-               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-sock"
-               MFLAG=SLAPD_MOD_DYNAMIC
-       else
-               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-sock"
-               MFLAG=SLAPD_MOD_STATIC
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_SOCK,$MFLAG,[define to support SOCK backend])
-fi
-
-if test "$ol_link_sql" != no ; then
-       BUILD_SLAPD=yes
-       BUILD_SQL=$ol_enable_sql
-       if test "$ol_enable_sql" = mod; then
-               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-sql"
-               MFLAG=SLAPD_MOD_DYNAMIC
-       else
-               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-sql"
-               MFLAG=SLAPD_MOD_STATIC
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_SQL,$MFLAG,[define to support SQL backend])
+if test "$ol_link_perl" = no ; then
+       ol_enable_perl=no
 fi
-
-if test "$ol_link_wt" != no ; then
-       BUILD_SLAPD=yes
-       BUILD_WT=$ol_enable_wt
-       if test "$ol_enable_wt" = mod; then
-               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-wt"
-               MFLAG=SLAPD_MOD_DYNAMIC
-       else
-               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-wt"
-               MFLAG=SLAPD_MOD_STATIC
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_WT,$MFLAG,[define to support WiredTiger backend])
+if test "$ol_link_sql" = no ; then
+       ol_enable_sql=no
 fi
-
-if test "$ol_enable_accesslog" != no ; then
-       if test "$ol_enable_accesslog" = mod ; then
-               MFLAG=SLAPD_MOD_DYNAMIC
-               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS accesslog.la"
-       else
-               MFLAG=SLAPD_MOD_STATIC
-               SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS accesslog.o"
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_OVER_ACCESSLOG,$MFLAG,[define for In-Directory Access Logging overlay])
+if test "$ol_link_wt" = no ; then
+       ol_enable_wt=no
 fi
 
-if test "$ol_enable_auditlog" != no ; then
-       if test "$ol_enable_auditlog" = mod ; then
-               MFLAG=SLAPD_MOD_DYNAMIC
-               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS auditlog.la"
-       else
-               MFLAG=SLAPD_MOD_STATIC
-               SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS auditlog.o"
+for i in $Backends; do
+       eval "ol_tmp=\$ol_enable_$i"
+       if test "$ol_tmp" != no ; then
+               BUILD_SLAPD=yes
        fi
-       AC_DEFINE_UNQUOTED(SLAPD_OVER_AUDITLOG,$MFLAG,[define for Audit Logging overlay])
-fi
+done
 
 if test "$ol_enable_autoca" != no ; then
        if test $ol_with_tls != openssl ; then
                AC_MSG_ERROR([--enable-autoca=$ol_enable_autoca requires --with-tls=openssl])
        fi
-
-       if test "$ol_enable_autoca" = mod ; then
-               MFLAG=SLAPD_MOD_DYNAMIC
-               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS autoca.la"
-       else
-               MFLAG=SLAPD_MOD_STATIC
-               SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS autoca.o"
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_OVER_AUTOCA,$MFLAG,[define for Automatic Certificate Authority overlay])
-fi
-
-if test "$ol_enable_collect" != no ; then
-       if test "$ol_enable_collect" = mod ; then
-               MFLAG=SLAPD_MOD_DYNAMIC
-               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS collect.la"
-       else
-               MFLAG=SLAPD_MOD_STATIC
-               SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS collect.o"
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_OVER_COLLECT,$MFLAG,[define for Collect overlay])
-fi
-
-if test "$ol_enable_constraint" != no ; then
-       if test "$ol_enable_constraint" = mod ; then
-               MFLAG=SLAPD_MOD_DYNAMIC
-               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS constraint.la"
-       else
-               MFLAG=SLAPD_MOD_STATIC
-               SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS constraint.o"
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_OVER_CONSTRAINT,$MFLAG,[define for Attribute Constraint overlay])
-fi
-
-if test "$ol_enable_dds" != no ; then
-       if test "$ol_enable_dds" = mod ; then
-               MFLAG=SLAPD_MOD_DYNAMIC
-               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dds.la"
-       else
-               MFLAG=SLAPD_MOD_STATIC
-               SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS dds.o"
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_OVER_DDS,$MFLAG,[define for Dynamic Directory Services overlay])
-fi
-
-if test "$ol_enable_deref" != no ; then
-       if test "$ol_enable_deref" = mod ; then
-               MFLAG=SLAPD_MOD_DYNAMIC
-               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS deref.la"
-       else
-               MFLAG=SLAPD_MOD_STATIC
-               SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS deref.o"
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_OVER_DEREF,$MFLAG,[define for Dynamic Directory Services overlay])
-fi
-
-if test "$ol_enable_dyngroup" != no ; then
-       if test "$ol_enable_dyngroup" = mod ; then
-               MFLAG=SLAPD_MOD_DYNAMIC
-               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dyngroup.la"
-       else
-               MFLAG=SLAPD_MOD_STATIC
-               SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS dyngroup.o"
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNGROUP,$MFLAG,[define for Dynamic Group overlay])
-fi
-
-if test "$ol_enable_dynlist" != no ; then
-       if test "$ol_enable_dynlist" = mod ; then
-               MFLAG=SLAPD_MOD_DYNAMIC
-               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dynlist.la"
-       else
-               MFLAG=SLAPD_MOD_STATIC
-               SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS dynlist.o"
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNLIST,$MFLAG,[define for Dynamic List overlay])
-fi
-
-if test "$ol_enable_homedir" != no ; then
-       if test "$ol_enable_homedir" = mod ; then
-               MFLAG=SLAPD_MOD_DYNAMIC
-               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS homedir.la"
-       else
-               MFLAG=SLAPD_MOD_STATIC
-               SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS homedir.o"
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_OVER_HOMEDIR,$MFLAG,[define for Home Directory Management overlay])
-fi
-
-if test "$ol_enable_memberof" != no ; then
-       if test "$ol_enable_memberof" = mod ; then
-               MFLAG=SLAPD_MOD_DYNAMIC
-               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS memberof.la"
-       else
-               MFLAG=SLAPD_MOD_STATIC
-               SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS memberof.o"
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_OVER_MEMBEROF,$MFLAG,[define for Reverse Group Membership overlay])
 fi
 
 if test "$ol_enable_nestgroup" != no ; then
@@ -2885,152 +2574,13 @@ if test "$ol_enable_otp" != no ; then
        if test $ol_with_tls = no ; then
                AC_MSG_ERROR([--enable-otp=$ol_enable_otp requires --with-tls])
        fi
-
-       if test "$ol_enable_otp" = mod ; then
-               MFLAG=SLAPD_MOD_DYNAMIC
-               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS otp.la"
-       else
-               MFLAG=SLAPD_MOD_STATIC
-               SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS otp.o"
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_OVER_OTP,$MFLAG,[define for OTP 2-factor Authentication overlay])
 fi
 
-if test "$ol_enable_ppolicy" != no ; then
-       if test "$ol_enable_ppolicy" = mod ; then
-               MFLAG=SLAPD_MOD_DYNAMIC
-               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS ppolicy.la"
-       else
-               MFLAG=SLAPD_MOD_STATIC
-               SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS ppolicy.o"
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_OVER_PPOLICY,$MFLAG,[define for Password Policy overlay])
-fi
-
-if test "$ol_enable_proxycache" != no ; then
-       if test "$ol_enable_proxycache" = mod ; then
-               MFLAG=SLAPD_MOD_DYNAMIC
-               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS pcache.la"
-       else
-               MFLAG=SLAPD_MOD_STATIC
-               SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS pcache.o"
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_OVER_PROXYCACHE,$MFLAG,[define for Proxy Cache overlay])
-fi
 dnl Testsuite expects this to be named 'pcache'
 ol_enable_pcache=$ol_enable_proxycache
+Ov_help_pcache=$Ov_help_proxycache
 Overlays="`echo $Overlays | sed -e s,proxycache,pcache,`"
 
-if test "$ol_enable_refint" != no ; then
-       if test "$ol_enable_refint" = mod ; then
-               MFLAG=SLAPD_MOD_DYNAMIC
-               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS refint.la"
-       else
-               MFLAG=SLAPD_MOD_STATIC
-               SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS refint.o"
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_OVER_REFINT,$MFLAG,[define for Referential Integrity overlay])
-fi
-
-if test "$ol_enable_remoteauth" != no ; then
-       if test "$ol_enable_remoteauth" = mod ; then
-               MFLAG=SLAPD_MOD_DYNAMIC
-               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS remoteauth.la"
-       else
-               MFLAG=SLAPD_MOD_STATIC
-               SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS remoteauth.o"
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_OVER_REMOTEAUTH,$MFLAG,[define for Deferred Authentication overlay])
-fi
-
-if test "$ol_enable_retcode" != no ; then
-       if test "$ol_enable_retcode" = mod ; then
-               MFLAG=SLAPD_MOD_DYNAMIC
-               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS retcode.la"
-       else
-               MFLAG=SLAPD_MOD_STATIC
-               SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS retcode.o"
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_OVER_RETCODE,$MFLAG,[define for Return Code overlay])
-fi
-
-if test "$ol_enable_rwm" != no ; then
-       if test "$ol_enable_rwm" = mod ; then
-               MFLAG=SLAPD_MOD_DYNAMIC
-               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS rwm.la"
-       else
-               MFLAG=SLAPD_MOD_STATIC
-               SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS rwm_x.o"
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_OVER_RWM,$MFLAG,[define for Rewrite/Remap overlay])
-fi
-
-if test "$ol_enable_seqmod" != no ; then
-       if test "$ol_enable_seqmod" = mod ; then
-               MFLAG=SLAPD_MOD_DYNAMIC
-               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS seqmod.la"
-       else
-               MFLAG=SLAPD_MOD_STATIC
-               SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS seqmod.o"
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_OVER_SEQMOD,$MFLAG,[define for Sequential Modify overlay])
-fi
-
-if test "$ol_enable_sssvlv" != no ; then
-       if test "$ol_enable_sssvlv" = mod ; then
-               MFLAG=SLAPD_MOD_DYNAMIC
-               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS sssvlv.la"
-       else
-               MFLAG=SLAPD_MOD_STATIC
-               SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS sssvlv.o"
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_OVER_SSSVLV,$MFLAG,[define for ServerSideSort/VLV overlay])
-fi
-
-if test "$ol_enable_syncprov" != no ; then
-       if test "$ol_enable_syncprov" = mod ; then
-               MFLAG=SLAPD_MOD_DYNAMIC
-               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS syncprov.la"
-       else
-               MFLAG=SLAPD_MOD_STATIC
-               SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS syncprov.o"
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_OVER_SYNCPROV,$MFLAG,[define for Syncrepl Provider overlay])
-fi
-
-if test "$ol_enable_translucent" != no ; then
-       if test "$ol_enable_translucent" = mod ; then
-               MFLAG=SLAPD_MOD_DYNAMIC
-               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS translucent.la"
-       else
-               MFLAG=SLAPD_MOD_STATIC
-               SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS translucent.o"
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_OVER_TRANSLUCENT,$MFLAG,[define for Translucent Proxy overlay])
-fi
-
-if test "$ol_enable_unique" != no ; then
-       if test "$ol_enable_unique" = mod ; then
-               MFLAG=SLAPD_MOD_DYNAMIC
-               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS unique.la"
-       else
-               MFLAG=SLAPD_MOD_STATIC
-               SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS unique.o"
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_OVER_UNIQUE,$MFLAG,[define for Attribute Uniqueness overlay])
-fi
-
-if test "$ol_enable_valsort" != no ; then
-       if test "$ol_enable_valsort" = mod ; then
-               MFLAG=SLAPD_MOD_DYNAMIC
-               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS valsort.la"
-       else
-               MFLAG=SLAPD_MOD_STATIC
-               SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS valsort.o"
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_OVER_VALSORT,$MFLAG,[define for Value Sorting overlay])
-fi
-
 ol_link_argon2=no
 if test "$ol_enable_argon2" = "yes" ; then
        if test $ol_with_argon2 = libargon2 || test $ol_with_argon2 = auto; then
@@ -3067,11 +2617,6 @@ if test "$ol_enable_argon2" = "yes" ; then
        if test "$ol_link_argon2" = no ; then
                AC_MSG_ERROR([--enable_argon2=$ol_enable_argon2 requires --with-argon2])
        fi
-
-       if test "$ol_enable_argon2" = "yes" ; then
-               SLAPD_DYNAMIC_PWMODS="$SLAPD_DYNAMIC_PWMODS argon2.la"
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_PWMOD_PW_ARGON2,$SLAPD_MOD_DYNAMIC,[define for Argon2 Password hashing module])
 fi
 
 if test "$ol_enable_balancer" != no \
@@ -3137,20 +2682,84 @@ fi
 
 dnl ----------------------------------------------------------------
 dnl collect all backend / overlay / pwmod enable flags
+echo "Making module configs..."
+SL_MOD_H=include/slapd-modules.hin
+SL_MOD_MK=servers/slapd/modules.mk
+mkdir include
+mkdir -p servers/slapd
+echo "# Backends" > $SL_MOD_MK
+echo "/* slapd module configuration */" > $SL_MOD_H
+echo "" >> $SL_MOD_H
+echo "#define SLAPD_MOD_STATIC 1       /* statically linked module */" >> $SL_MOD_H
+echo "#define SLAPD_MOD_DYNAMIC        2       /* dynamically linked module */" >> $SL_MOD_H
+echo "" >> $SL_MOD_H
+echo "/* Backends */" >> $SL_MOD_H
 BACKEND_ENABLES=
 for i in $Backends; do
        eval "ol_tmp=\$ol_enable_$i"
        BACKEND_ENABLES="$BACKEND_ENABLES AC""_${i}=${i}${ol_tmp}"
+       eval "ol_BK=`echo $i | tr a-z A-Z`"
+       eval "ol_help=\$Bk_help_$i"
+       echo "BUILD_$ol_BK = $ol_tmp" >> $SL_MOD_MK
+       echo "" >> $SL_MOD_H
+       echo "/* define to support $ol_help */" >> $SL_MOD_H
+       if test $ol_tmp != no ; then
+               if test $ol_tmp = mod ; then
+                       SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-$i"
+                       MFLAG=SLAPD_MOD_DYNAMIC
+               else
+                       SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-$i"
+                       MFLAG=SLAPD_MOD_STATIC
+               fi
+               echo "#define SLAPD_$ol_BK $MFLAG" >> $SL_MOD_H
+       else
+               echo "/* #undef SLAPD_$ol_BK */" >> $SL_MOD_H
+       fi
 done
+echo "# Overlays" >> $SL_MOD_MK
+echo "" >> $SL_MOD_H
+echo "/* Overlays */" >> $SL_MOD_H
 OVERLAY_ENABLES=
 for i in $Overlays; do
        eval "ol_tmp=\$ol_enable_$i"
        OVERLAY_ENABLES="$OVERLAY_ENABLES AC""_${i}=${i}${ol_tmp}"
+       eval "ol_OV=`echo $i | tr a-z A-Z`"
+       eval "ol_help=\$Ov_help_$i"
+       echo "BUILD_$ol_OV = $ol_tmp" >> $SL_MOD_MK
+       echo "" >> $SL_MOD_H
+       echo "/* define to support $ol_help */" >> $SL_MOD_H
+       if test $ol_tmp != no ; then
+               if test $ol_tmp = mod ; then
+                       SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS ${i}.la"
+                       MFLAG=SLAPD_MOD_DYNAMIC
+               else
+                       SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS ${i}.o"
+                       MFLAG=SLAPD_MOD_STATIC
+               fi
+               echo "#define SLAPD_OVER_$ol_OV $MFLAG" >> $SL_MOD_H
+       else
+               echo "/* #undef SLAPD_OVER_$ol_OV */" >> $SL_MOD_H
+       fi
 done
+echo "# Password modules" >> $SL_MOD_MK
+echo "" >> $SL_MOD_H
+echo "/* Password modules */" >> $SL_MOD_H
 PWMOD_ENABLES=
 for i in $Pwmods; do
        eval "ol_tmp=\$ol_enable_$i"
        PWMOD_ENABLES="$PWMOD_ENABLES AC""_${i}=${i}${ol_tmp}"
+       eval "ol_PW=`echo $i | tr a-z A-Z`"
+       eval "ol_help=\$Pw_help_$i"
+       echo "BUILD_$ol_PW = $ol_tmp" >> $SL_MOD_MK
+       echo "" >> $SL_MOD_H
+       echo "/* define to support $ol_help */" >> $SL_MOD_H
+       if test $ol_tmp != no ; then
+               SLAPD_DYNAMIC_PWMODS="$SLAPD_DYNAMIC_PWMODS ${i}.la"
+               MFLAG=SLAPD_MOD_DYNAMIC
+               echo "#define SLAPD_PWMOD_PW_$ol_PW $MFLAG" >> $SL_MOD_H
+       else
+               echo "/* #undef SLAPD_PWMOD_PW_$ol_PW */" >> $SL_MOD_H
+       fi
 done
 
 AC_SUBST(LIBSRCS)
@@ -3169,19 +2778,6 @@ AC_SUBST(BUILD_SLAPD)
 dnl slapi
   AC_SUBST(BUILD_SLAPI)
   AC_SUBST(SLAPD_SLAPI_DEPEND)
-dnl backends
-  AC_SUBST(BUILD_DNSSRV)
-  AC_SUBST(BUILD_LDAP)
-  AC_SUBST(BUILD_MDB)
-  AC_SUBST(BUILD_META)
-  AC_SUBST(BUILD_ASYNCMETA)
-  AC_SUBST(BUILD_NULL)
-  AC_SUBST(BUILD_PASSWD)
-  AC_SUBST(BUILD_PERL)
-  AC_SUBST(BUILD_RELAY)
-  AC_SUBST(BUILD_SOCK)
-  AC_SUBST(BUILD_SQL)
-  AC_SUBST(BUILD_WT)
 dnl hybrid overlay
   AC_SUBST(BUILD_BALANCER)
 dnl test suite
@@ -3261,25 +2857,25 @@ AC_CONFIG_FILES([Makefile:build/top.mk:Makefile.in:build/dir.mk]
 [libraries/librewrite/Makefile:build/top.mk:libraries/librewrite/Makefile.in:build/lib.mk:build/lib-static.mk]
 [servers/Makefile:build/top.mk:servers/Makefile.in:build/dir.mk]
 [servers/slapd/Makefile:build/top.mk:servers/slapd/Makefile.in:build/srv.mk]
-[servers/slapd/back-dnssrv/Makefile:build/top.mk:servers/slapd/back-dnssrv/Makefile.in:build/mod.mk]
-[servers/slapd/back-ldap/Makefile:build/top.mk:servers/slapd/back-ldap/Makefile.in:build/mod.mk]
-[servers/slapd/back-ldif/Makefile:build/top.mk:servers/slapd/back-ldif/Makefile.in:build/mod.mk]
-[servers/slapd/back-mdb/Makefile:build/top.mk:servers/slapd/back-mdb/Makefile.in:build/mod.mk]
-[servers/slapd/back-meta/Makefile:build/top.mk:servers/slapd/back-meta/Makefile.in:build/mod.mk]
-[servers/slapd/back-asyncmeta/Makefile:build/top.mk:servers/slapd/back-asyncmeta/Makefile.in:build/mod.mk]
-[servers/slapd/back-monitor/Makefile:build/top.mk:servers/slapd/back-monitor/Makefile.in:build/mod.mk]
-[servers/slapd/back-null/Makefile:build/top.mk:servers/slapd/back-null/Makefile.in:build/mod.mk]
-[servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/back-passwd/Makefile.in:build/mod.mk]
-[servers/slapd/back-perl/Makefile:build/top.mk:servers/slapd/back-perl/Makefile.in:build/mod.mk]
-[servers/slapd/back-relay/Makefile:build/top.mk:servers/slapd/back-relay/Makefile.in:build/mod.mk]
-[servers/slapd/back-sock/Makefile:build/top.mk:servers/slapd/back-sock/Makefile.in:build/mod.mk]
-[servers/slapd/back-sql/Makefile:build/top.mk:servers/slapd/back-sql/Makefile.in:build/mod.mk]
-[servers/slapd/back-wt/Makefile:build/top.mk:servers/slapd/back-wt/Makefile.in:build/mod.mk]
+[servers/slapd/back-dnssrv/Makefile:build/top.mk:servers/slapd/modules.mk:servers/slapd/back-dnssrv/Makefile.in:build/mod.mk]
+[servers/slapd/back-ldap/Makefile:build/top.mk:servers/slapd/modules.mk:servers/slapd/back-ldap/Makefile.in:build/mod.mk]
+[servers/slapd/back-ldif/Makefile:build/top.mk:servers/slapd/modules.mk:servers/slapd/back-ldif/Makefile.in:build/mod.mk]
+[servers/slapd/back-mdb/Makefile:build/top.mk:servers/slapd/modules.mk:servers/slapd/back-mdb/Makefile.in:build/mod.mk]
+[servers/slapd/back-meta/Makefile:build/top.mk:servers/slapd/modules.mk:servers/slapd/back-meta/Makefile.in:build/mod.mk]
+[servers/slapd/back-asyncmeta/Makefile:build/top.mk:servers/slapd/modules.mk:servers/slapd/back-asyncmeta/Makefile.in:build/mod.mk]
+[servers/slapd/back-monitor/Makefile:build/top.mk:servers/slapd/modules.mk:servers/slapd/back-monitor/Makefile.in:build/mod.mk]
+[servers/slapd/back-null/Makefile:build/top.mk:servers/slapd/modules.mk:servers/slapd/back-null/Makefile.in:build/mod.mk]
+[servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/modules.mk:servers/slapd/back-passwd/Makefile.in:build/mod.mk]
+[servers/slapd/back-perl/Makefile:build/top.mk:servers/slapd/modules.mk:servers/slapd/back-perl/Makefile.in:build/mod.mk]
+[servers/slapd/back-relay/Makefile:build/top.mk:servers/slapd/modules.mk:servers/slapd/back-relay/Makefile.in:build/mod.mk]
+[servers/slapd/back-sock/Makefile:build/top.mk:servers/slapd/modules.mk:servers/slapd/back-sock/Makefile.in:build/mod.mk]
+[servers/slapd/back-sql/Makefile:build/top.mk:servers/slapd/modules.mk:servers/slapd/back-sql/Makefile.in:build/mod.mk]
+[servers/slapd/back-wt/Makefile:build/top.mk:servers/slapd/modules.mk:servers/slapd/back-wt/Makefile.in:build/mod.mk]
 [servers/slapd/slapi/Makefile:build/top.mk:servers/slapd/slapi/Makefile.in:build/lib.mk:build/lib-shared.mk]
 [servers/slapd/overlays/Makefile:build/top.mk:servers/slapd/overlays/Makefile.in:build/lib.mk]
 [servers/slapd/pwmods/Makefile:build/top.mk:servers/slapd/pwmods/Makefile.in:build/lib.mk]
 [servers/lloadd/Makefile:build/top.mk:servers/lloadd/Makefile.in:$BALANCER_MAKE]
-[tests/Makefile:build/top.mk:tests/Makefile.in:build/dir.mk]
+[tests/Makefile:build/top.mk:servers/slapd/modules.mk:tests/Makefile.in:build/dir.mk]
 [tests/run]
 [tests/modules/Makefile:build/top.mk:tests/modules/Makefile.in:build/dir.mk]
 [tests/modules/mod-harness/Makefile:build/top.mk:tests/modules/mod-harness/Makefile.in:build/mod.mk]
index a1131d111716250bbd28df46d3a115897c7a37ac..1ba4ebfb20260f2d650cfadc258ea8f917634279 100644 (file)
 /* define to support per-object ACIs */
 #undef SLAPD_ACI_ENABLED
 
-/* define to support LDAP Async Metadirectory backend */
-#undef SLAPD_ASYNCMETA
-
 /* define to support cleartext passwords */
 #undef SLAPD_CLEARTEXT
 
 /* define to support crypt(3) passwords */
 #undef SLAPD_CRYPT
 
-/* define to support DNS SRV backend */
-#undef SLAPD_DNSSRV
-
-/* define to support LDAP backend */
-#undef SLAPD_LDAP
-
-/* define to support MDB backend */
-#undef SLAPD_MDB
-
-/* define to support LDAP Metadirectory backend */
-#undef SLAPD_META
-
 /* define to support modules */
 #undef SLAPD_MODULES
 
-/* dynamically linked module */
-#undef SLAPD_MOD_DYNAMIC
-
-/* statically linked module */
-#undef SLAPD_MOD_STATIC
-
-/* define to support NULL backend */
-#undef SLAPD_NULL
-
-/* define for In-Directory Access Logging overlay */
-#undef SLAPD_OVER_ACCESSLOG
-
-/* define for Audit Logging overlay */
-#undef SLAPD_OVER_AUDITLOG
-
-/* define for Automatic Certificate Authority overlay */
-#undef SLAPD_OVER_AUTOCA
-
-/* define for Collect overlay */
-#undef SLAPD_OVER_COLLECT
-
-/* define for Attribute Constraint overlay */
-#undef SLAPD_OVER_CONSTRAINT
-
-/* define for Dynamic Directory Services overlay */
-#undef SLAPD_OVER_DDS
-
-/* define for Dynamic Directory Services overlay */
-#undef SLAPD_OVER_DEREF
-
-/* define for Dynamic Group overlay */
-#undef SLAPD_OVER_DYNGROUP
-
-/* define for Dynamic List overlay */
-#undef SLAPD_OVER_DYNLIST
-
-/* define for Home Directory Management overlay */
-#undef SLAPD_OVER_HOMEDIR
-
-/* define for Reverse Group Membership overlay */
-#undef SLAPD_OVER_MEMBEROF
-
-/* define for OTP 2-factor Authentication overlay */
-#undef SLAPD_OVER_OTP
-
-/* define for Password Policy overlay */
-#undef SLAPD_OVER_PPOLICY
-
-/* define for Proxy Cache overlay */
-#undef SLAPD_OVER_PROXYCACHE
-
-/* define for Referential Integrity overlay */
-#undef SLAPD_OVER_REFINT
-
-/* define for Deferred Authentication overlay */
-#undef SLAPD_OVER_REMOTEAUTH
-
-/* define for Return Code overlay */
-#undef SLAPD_OVER_RETCODE
-
-/* define for Rewrite/Remap overlay */
-#undef SLAPD_OVER_RWM
-
-/* define for Sequential Modify overlay */
-#undef SLAPD_OVER_SEQMOD
-
-/* define for ServerSideSort/VLV overlay */
-#undef SLAPD_OVER_SSSVLV
-
-/* define for Syncrepl Provider overlay */
-#undef SLAPD_OVER_SYNCPROV
-
-/* define for Translucent Proxy overlay */
-#undef SLAPD_OVER_TRANSLUCENT
-
-/* define for Attribute Uniqueness overlay */
-#undef SLAPD_OVER_UNIQUE
-
-/* define for Value Sorting overlay */
-#undef SLAPD_OVER_VALSORT
-
-/* define to support PASSWD backend */
-#undef SLAPD_PASSWD
-
-/* define to support PERL backend */
-#undef SLAPD_PERL
-
-/* define for Argon2 Password hashing module */
-#undef SLAPD_PWMOD_PW_ARGON2
-
-/* define to support relay backend */
-#undef SLAPD_RELAY
-
 /* define to support reverse lookups */
 #undef SLAPD_RLOOKUPS
 
-/* define to support SOCK backend */
-#undef SLAPD_SOCK
-
 /* define to support SASL passwords */
 #undef SLAPD_SPASSWD
 
-/* define to support SQL backend */
-#undef SLAPD_SQL
-
-/* define to support WiredTiger backend */
-#undef SLAPD_WT
-
 /* define to support run-time loadable ACL */
 #undef SLAP_DYNACL
 
index 6a375e78d0fead6b2037840d4a0d6ef8aa5b524c..b0cd90e94a0b946ac82666a2aa81a17d90b51ca7 100644 (file)
@@ -30,10 +30,10 @@ LDAP_INCDIR= ../../../include
 LDAP_LIBDIR= ../../../libraries
 
 BUILD_OPT = "--enable-asyncmeta"
-BUILD_MOD = @BUILD_ASYNCMETA@
+BUILD_MOD = $(BUILD_ASYNCMETA)
 
 mod_DEFS = -DSLAPD_IMPORT
-MOD_DEFS = $(@BUILD_ASYNCMETA@_DEFS)
+MOD_DEFS = $($(BUILD_MOD)_DEFS)
 
 shared_LDAP_LIBS = $(LDAP_LIBLDAP_LA) $(LDAP_LIBLBER_LA)
 NT_LINK_LIBS = -L.. -lslapd $(LIBS) $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
index a88a556c510450c2359b69a2306d38a686eb60a8..67bd103941b255be46a382dc48e060827e6f5464 100644 (file)
@@ -25,10 +25,10 @@ LDAP_INCDIR= ../../../include
 LDAP_LIBDIR= ../../../libraries
 
 BUILD_OPT = "--enable-dnssrv"
-BUILD_MOD = @BUILD_DNSSRV@
+BUILD_MOD = $(BUILD_DNSSRV)
 
 mod_DEFS = -DSLAPD_IMPORT
-MOD_DEFS = $(@BUILD_DNSSRV@_DEFS)
+MOD_DEFS = $($(BUILD_MOD)_DEFS)
 
 shared_LDAP_LIBS = $(LDAP_LIBLDAP_LA) $(LDAP_LIBLBER_LA)
 NT_LINK_LIBS = -L.. -lslapd $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
index 0e37e836cba3f906e96099ee5f33e24069135c54..3d00348f0e7c85211b761f5e9032917d66f8350b 100644 (file)
@@ -24,10 +24,10 @@ LDAP_INCDIR= ../../../include
 LDAP_LIBDIR= ../../../libraries
 
 BUILD_OPT = "--enable-ldap"
-BUILD_MOD = @BUILD_LDAP@
+BUILD_MOD = $(BUILD_LDAP)
 
 mod_DEFS = -DSLAPD_IMPORT
-MOD_DEFS = $(@BUILD_LDAP@_DEFS)
+MOD_DEFS = $($(BUILD_MOD)_DEFS)
 
 shared_LDAP_LIBS = $(LDAP_LIBLDAP_LA) $(LDAP_LIBLBER_LA)
 NT_LINK_LIBS = -L.. -lslapd $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
index 1d3a649a49d36cd2a13fb79da08db0e2ebe1c3f3..3a157c767e12d4b52890318303b80a1e7dab0c11 100644 (file)
@@ -32,10 +32,10 @@ LDAP_LIBDIR= ../../../libraries
 MDB_SUBDIR = $(srcdir)/$(LDAP_LIBDIR)/liblmdb
 
 BUILD_OPT = "--enable-mdb"
-BUILD_MOD = @BUILD_MDB@
+BUILD_MOD = $(BUILD_MDB)
 
 mod_DEFS = -DSLAPD_IMPORT
-MOD_DEFS = $(@BUILD_MDB@_DEFS)
+MOD_DEFS = $($(BUILD_MOD)_DEFS)
 MOD_LIBS = $(MDB_LIBS)
 
 shared_LDAP_LIBS = $(LDAP_LIBLDAP_LA) $(LDAP_LIBLBER_LA)
index 0279abe2511d60de19d2939c1d894084c54021ee..4cd434f23e65edd4099bdf1977fa672024914d0a 100644 (file)
@@ -24,10 +24,10 @@ LDAP_INCDIR= ../../../include
 LDAP_LIBDIR= ../../../libraries
 
 BUILD_OPT = "--enable-meta"
-BUILD_MOD = @BUILD_META@
+BUILD_MOD = $(BUILD_META)
 
 mod_DEFS = -DSLAPD_IMPORT
-MOD_DEFS = $(@BUILD_META@_DEFS)
+MOD_DEFS = $($(BUILD_MOD)_DEFS)
 
 shared_LDAP_LIBS = $(LDAP_LIBLDAP_LA) $(LDAP_LIBLBER_LA)
 NT_LINK_LIBS = -L.. -lslapd $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
index 84e59a9fa25f322c9af7d9d8a294b869fd1325fa..4749946a1d5a1f6d3d11b6c974ed560cd9c8c967 100644 (file)
@@ -30,8 +30,6 @@
 #include "lber_pvt.h"
 #include "back-monitor.h"
 
-#include "slap-config.h"
-
 #undef INTEGRATE_CORE_SCHEMA
 
 /*
index 1ef6116d5052f1dd084aec21a0161f83a225bcd8..ef54cae3c4be74508fc442bc40f80d9f911c50b5 100644 (file)
@@ -20,10 +20,10 @@ LDAP_INCDIR= ../../../include
 LDAP_LIBDIR= ../../../libraries
 
 BUILD_OPT = "--enable-null"
-BUILD_MOD = @BUILD_NULL@
+BUILD_MOD = $(BUILD_NULL)
 
 mod_DEFS = -DSLAPD_IMPORT
-MOD_DEFS = $(@BUILD_NULL@_DEFS)
+MOD_DEFS = $($(BUILD_MOD)_DEFS)
 
 shared_LDAP_LIBS = $(LDAP_LIBLDAP_LA) $(LDAP_LIBLBER_LA)
 NT_LINK_LIBS = -L.. -lslapd $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
index 91ea524cd1a0f43d30d5fc6d1412f8a382b189bf..409fbc3c2a3679a9fd6ddd65d446c61a42f2916d 100644 (file)
@@ -20,10 +20,10 @@ LDAP_INCDIR= ../../../include
 LDAP_LIBDIR= ../../../libraries
 
 BUILD_OPT = "--enable-passwd"
-BUILD_MOD = @BUILD_PASSWD@
+BUILD_MOD = $(BUILD_PASSWD)
 
 mod_DEFS = -DSLAPD_IMPORT
-MOD_DEFS = $(@BUILD_PASSWD@_DEFS)
+MOD_DEFS = $($(BUILD_MOD)_DEFS)
 
 shared_LDAP_LIBS = $(LDAP_LIBLDAP_LA) $(LDAP_LIBLBER_LA)
 NT_LINK_LIBS = -L.. -lslapd $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
index 1f27e55c633ab2363d673b16a1731fcea5569a24..f5f1d1a1d52cf50de8cfa55e79926240fea94e42 100644 (file)
@@ -23,11 +23,11 @@ LDAP_INCDIR= ../../../include
 LDAP_LIBDIR= ../../../libraries
 
 BUILD_OPT = "--enable-perl"
-BUILD_MOD = @BUILD_PERL@
+BUILD_MOD = $(BUILD_PERL)
 PERL_CPPFLAGS = @PERL_CPPFLAGS@
 
 mod_DEFS = -DSLAPD_IMPORT
-MOD_DEFS = $(@BUILD_PERL@_DEFS)
+MOD_DEFS = $($(BUILD_MOD)_DEFS)
 MOD_LIBS = @MOD_PERL_LDFLAGS@
 
 shared_LDAP_LIBS = $(LDAP_LIBLDAP_LA) $(LDAP_LIBLBER_LA)
index 1bca50b0ff030c51eaf9ef153161074684373855..09c39e265110efb4e9f651367377248f785364ef 100644 (file)
@@ -20,10 +20,10 @@ LDAP_INCDIR= ../../../include
 LDAP_LIBDIR= ../../../libraries
 
 BUILD_OPT = "--enable-relay"
-BUILD_MOD = @BUILD_RELAY@
+BUILD_MOD = $(BUILD_RELAY)
 
 mod_DEFS = -DSLAPD_IMPORT
-MOD_DEFS = $(@BUILD_RELAY@_DEFS)
+MOD_DEFS = $($(BUILD_MOD)_DEFS)
 
 shared_LDAP_LIBS = $(LDAP_LIBLDAP_LA) $(LDAP_LIBLBER_LA)
 NT_LINK_LIBS = -L.. -lslapd $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS) $(REWRITE)
index 7930cbe73ac286e05fc3033b307303a71b836fdc..bc7efd4efa787a3e02d8f4a32c70ef04a3d54820 100644 (file)
@@ -26,10 +26,10 @@ LDAP_INCDIR= ../../../include
 LDAP_LIBDIR= ../../../libraries
 
 BUILD_OPT = "--enable-sock"
-BUILD_MOD = @BUILD_SOCK@
+BUILD_MOD = $(BUILD_SOCK)
 
 mod_DEFS = -DSLAPD_IMPORT
-MOD_DEFS = $(@BUILD_SOCK@_DEFS)
+MOD_DEFS = $($(BUILD_MOD)_DEFS)
 
 shared_LDAP_LIBS = $(LDAP_LIBLDAP_LA) $(LDAP_LIBLBER_LA)
 NT_LINK_LIBS = -L.. -lslapd $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
index b0fc537effc703c2f32f74d4614fe6c249214e4c..27d2343a8f38d7e5c6fef5e7bf5669b5446d5cbd 100644 (file)
@@ -24,10 +24,10 @@ LDAP_INCDIR= ../../../include
 LDAP_LIBDIR= ../../../libraries
 
 BUILD_OPT = "--enable-sql"
-BUILD_MOD = @BUILD_SQL@
+BUILD_MOD = $(BUILD_SQL)
 
 mod_DEFS = -DSLAPD_IMPORT
-MOD_DEFS = $(@BUILD_SQL@_DEFS)
+MOD_DEFS = $($(BUILD_MOD)_DEFS)
 
 shared_LDAP_LIBS = $(LDAP_LIBLDAP_LA) $(LDAP_LIBLBER_LA)
 NT_LINK_LIBS = -L.. -lslapd $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
index a88f1a0d538aefe6990b4b4655e4c1fcd1dd5c85..00f0befe3bf52fa028ab95d5bce46a17406fced1 100644 (file)
@@ -31,7 +31,7 @@ LDAP_INCDIR= ../../../include
 LDAP_LIBDIR= ../../../libraries
 
 BUILD_OPT = "--enable-wt"
-BUILD_MOD = @BUILD_WT@
+BUILD_MOD = $(BUILD_WT)
 
 mod_DEFS = -DSLAPD_IMPORT
 MOD_DEFS = @WT_CFLAGS@
index 6d886f8503bb98e41203c528903858382306bfae..36fd3600a1299e0aa7236b9589d53ae84bce4f6b 100644 (file)
@@ -32,7 +32,7 @@ SRCS = overlays.c \
        refint.c \
        remoteauth.c \
        retcode.c \
-       rwm.c rwmconf.c rwmdn.c rwmmap.c \
+       rwmmain.c rwmconf.c rwmdn.c rwmmap.c \
        seqmod.c \
        sssvlv.c \
        syncprov.c \
@@ -45,7 +45,7 @@ OBJS = statover.o \
 
 # Add here the objs that are needed by overlays, but do not make it
 # into SLAPD_STATIC_OVERLAYS...
-OBJDEP=rwm.o rwmconf.o rwmdn.o rwmmap.o
+OBJDEP=rwmmain.o rwmconf.o rwmdn.o rwmmap.o
 
 LTONLY_MOD = $(LTONLY_mod)
 LDAP_INCDIR= ../../../include       
@@ -121,11 +121,11 @@ remoteauth.la : remoteauth.lo
 retcode.la : retcode.lo
        $(LTLINK_MOD) -module -o $@ retcode.lo version.lo $(LINK_LIBS)
 
-rwm_x.o: rwm.o rwmconf.o rwmdn.o rwmmap.o
-       $(LD) -r -o $@ rwm.o rwmconf.o rwmdn.o rwmmap.o
+rwm.o: rwmmain.o rwmconf.o rwmdn.o rwmmap.o
+       $(LD) -r -o $@ rwmmain.o rwmconf.o rwmdn.o rwmmap.o
 
-rwm.la : rwm.lo rwmconf.lo rwmdn.lo rwmmap.lo
-       $(LTLINK_MOD) -module -o $@ rwm.lo rwmconf.lo rwmdn.lo rwmmap.lo version.lo $(LINK_LIBS)
+rwm.la : rwmmain.lo rwmconf.lo rwmdn.lo rwmmap.lo
+       $(LTLINK_MOD) -module -o $@ rwmmain.lo rwmconf.lo rwmdn.lo rwmmap.lo version.lo $(LINK_LIBS)
 
 seqmod.la : seqmod.lo
        $(LTLINK_MOD) -module -o $@ seqmod.lo version.lo $(LINK_LIBS)
index 3a1e18acdb212aecef2892230e05c35250236028..1d6e4ba4edcf2242f088b67db9001d39d5e8059d 100644 (file)
@@ -21,7 +21,7 @@
 
 #include "portable.h"
 
-#ifdef SLAPD_OVER_PROXYCACHE
+#ifdef SLAPD_OVER_PCACHE
 
 #include <stdio.h>
 
@@ -5691,9 +5691,9 @@ static char *obsolete_names[] = {
        NULL
 };
 
-#if SLAPD_OVER_PROXYCACHE == SLAPD_MOD_DYNAMIC
+#if SLAPD_OVER_PCACHE == SLAPD_MOD_DYNAMIC
 static
-#endif /* SLAPD_OVER_PROXYCACHE == SLAPD_MOD_DYNAMIC */
+#endif /* SLAPD_OVER_PCACHE == SLAPD_MOD_DYNAMIC */
 int
 pcache_initialize()
 {
@@ -5806,10 +5806,10 @@ pcache_initialize()
        return overlay_register( &pcache );
 }
 
-#if SLAPD_OVER_PROXYCACHE == SLAPD_MOD_DYNAMIC
+#if SLAPD_OVER_PCACHE == SLAPD_MOD_DYNAMIC
 int init_module(int argc, char *argv[]) {
        return pcache_initialize();
 }
 #endif
 
-#endif /* defined(SLAPD_OVER_PROXYCACHE) */
+#endif /* defined(SLAPD_OVER_PCACHE) */
index 8f098ca7297556a02c116d7d54cd7d99f0570a31..a79b01da33cdc7d86b438185f58830092827877e 100644 (file)
 RUN=./run
 SUBDIRS= modules progs
 
-BUILD_MDB=@BUILD_MDB@
-BUILD_SQL=@BUILD_SQL@
 BUILD_SLAPD=@BUILD_SLAPD@
 BUILD_BALANCER=@BUILD_BALANCER@
-BUILD_WT=@BUILD_WT@
 
 # test primary backends (default)
 test tests: