]> git.sur5r.net Git - openldap/blobdiff - configure.in
use fist backend only if there is no global ACL (ITS#3100)
[openldap] / configure.in
index a1d944f3789b4f24d2b4a98023b584758f05ee8e..06877d6968ab93941000b44395851c078dffaa44 100644 (file)
@@ -1,36 +1,74 @@
 dnl $OpenLDAP$
 dnl $OpenLDAP$
+dnl This work is part of OpenLDAP Software <http://www.openldap.org/>.
+dnl
+dnl Copyright 1998-2004 The OpenLDAP Foundation.
+dnl All rights reserved.
 dnl
 dnl
-dnl Copyright 1998-2003 The OpenLDAP Foundation.  All Rights Reserved.
-dnl 
 dnl Redistribution and use in source and binary forms, with or without
 dnl modification, are permitted only as authorized by the OpenLDAP
 dnl Redistribution and use in source and binary forms, with or without
 dnl modification, are permitted only as authorized by the OpenLDAP
-dnl Public License.  A copy of this license is available at
-dnl http://www.OpenLDAP.org/license.html or in file LICENSE in the
-dnl top-level directory of the distribution.
+dnl Public License.
+dnl
+dnl A copy of this license is available in the file LICENSE in the
+dnl top-level directory of the distribution or, alternatively, at
+dnl <http://www.OpenLDAP.org/license.html>.
 dnl
 dnl ----------------------------------------------------------------
 dnl
 dnl ----------------------------------------------------------------
-AC_COPYRIGHT(
-[Copyright 1998-2003 The OpenLDAP Foundation. All Rights Reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted only as authorized by the OpenLDAP
-Public License.  A copy of this license is available at
-http://www.OpenLDAP.org/license.html or in file LICENSE in the
-top-level directory of the distribution.
+dnl
+dnl Redefine AC_INIT_BINSH to provide RCS IDs and copyright notice
+dnl at top of generated configure script.  Prints simple copyright.
+define([AC_INIT_BINSH],
+[[#! /bin/sh
+# $]OpenLDAP[$
+# from] translit([$OpenLDAP$], $")] [
+
+# This work is part of OpenLDAP Software <http://www.openldap.org/>.
+#
+# Copyright 1998-2004 The OpenLDAP Foundation.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted only as authorized by the OpenLDAP
+# Public License.
+#
+# A copy of this license is available in the file LICENSE in the
+# top-level directory of the distribution or, alternatively, at
+# <http://www.OpenLDAP.org/license.html>.
+
+echo "Copyright 1998-2004 The OpenLDAP Foundation. All rights reserved."
+echo " Restrictions apply, see COPYRIGHT and LICENSE files."
 ])dnl
 ])dnl
+dnl ----------------------------------------------------------------
+dnl Disable config.cache!
+define([AC_CACHE_LOAD], )dnl
+define([AC_CACHE_SAVE], )dnl
 dnl ================================================================
 dnl Configure.in for OpenLDAP
 dnl ================================================================
 dnl Configure.in for OpenLDAP
+AC_INIT(build/version.sh)dnl
+
+# set unset (borrowed from autoconf 2.49c)
+if (OL_FOO=OL_FOO; unset OL_FOO) >/dev/null 2>&1; then
+  ol_unset=unset
+else
+  ol_unset=false
+fi
+# unset CDPATH
+$ol_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; }
 
 
-AC_INIT([OpenLDAP],,[<http://www.openldap.org/its/>])
-AC_CONFIG_SRCDIR([include/ldap.h])dnl
-AC_CONFIG_AUX_DIR([build])dnl
+AC_CONFIG_AUX_DIR(build)dnl
 
 eval `$ac_aux_dir/version.sh`
 if test -z "$OL_STRING"; then
        AC_MSG_ERROR([could not determine version])
 fi
 
 
 eval `$ac_aux_dir/version.sh`
 if test -z "$OL_STRING"; then
        AC_MSG_ERROR([could not determine version])
 fi
 
-AC_PROG_SHTOOL
+if test -f "$ac_aux_dir/shtool" -a ! -d $ac_aux_dir/shtool; then
+       ac_cv_shtool="$ac_aux_dir/shtool"
+else
+       AC_MSG_ERROR([no shtool found in $ac_aux_dir])
+fi
+
+SHTOOL="$ac_cv_shtool"
+dnl AC_SUBST(SHTOOL)dnl
 
 TB="`$SHTOOL echo -e '%B' 2>/dev/null`"
 TN="`$SHTOOL echo -e '%b' 2>/dev/null`"
 
 TB="`$SHTOOL echo -e '%B' 2>/dev/null`"
 TN="`$SHTOOL echo -e '%b' 2>/dev/null`"
@@ -46,30 +84,30 @@ dnl Determine host platform
 dnl            we try not to use this for much
 AC_CANONICAL_SYSTEM
 
 dnl            we try not to use this for much
 AC_CANONICAL_SYSTEM
 
-OPENLDAP_PACKAGE=$OL_PACKAGE
-OPENLDAP_VERSION=$OL_VERSION
-
-AC_SUBST(OPENLDAP_PACKAGE)
-AC_SUBST(OPENLDAP_VERSION)
+AM_INIT_AUTOMAKE([$OL_PACKAGE],[$OL_VERSION], [no defines])dnl
+AC_SUBST(PACKAGE)dnl
+AC_SUBST(VERSION)dnl
+AC_DEFINE_UNQUOTED(OPENLDAP_PACKAGE,"$PACKAGE",Package)
+AC_DEFINE_UNQUOTED(OPENLDAP_VERSION,"$VERSION",Version)
 
 
-AC_DEFINE_UNQUOTED(OPENLDAP_PACKAGE,"$OL_PACKAGE",OpenLDAP Package)
-AC_DEFINE_UNQUOTED(OPENLDAP_VERSION,"$OL_VERSION",OpenLDAP Version)
+AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION,$OL_API_INC,Version)
+AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION_MAJOR,$OL_MAJOR,Major)
+AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION_MINOR,$OL_MINOR,Minor)
+AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION_PATCH,$OL_PATCH,Patch)
 
 
-AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION,$OL_API_INC,Vendor Version)
-AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION_MAJOR,$OL_MAJOR,Vendor Major)
-AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION_MINOR,$OL_MINOR,Vendor Minor)
-AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION_PATCH,$OL_PATCH,Vendor Patch)
+OPENLDAP_LIBRELEASE=$OL_API_LIB_RELEASE
+AC_SUBST(OPENLDAP_LIBRELEASE)dnl
 
 
-OPENLDAP_LIBVERSION=$OL_API_LIB
+OPENLDAP_LIBVERSION=$OL_API_LIB_VERSION
 AC_SUBST(OPENLDAP_LIBVERSION)dnl
 
 OPENLDAP_RELEASE_DATE="$OL_RELEASE_DATE"
 AC_SUBST(OPENLDAP_RELEASE_DATE)dnl
 
 AC_SUBST(OPENLDAP_LIBVERSION)dnl
 
 OPENLDAP_RELEASE_DATE="$OL_RELEASE_DATE"
 AC_SUBST(OPENLDAP_RELEASE_DATE)dnl
 
-dnl We use autoconf features new to 2.57.
-dnl aclocal.m4 should be built using aclocal from automake 1.7.3
+dnl We use autoconf features new to 2.13.  Later versions like won't work.
+dnl aclocal.m4 should be built using aclocal from automake 1.4
 dnl libtool 1.4.3 should be installed.
 dnl libtool 1.4.3 should be installed.
-AC_PREREQ(2.57)dnl Required Autoconf version
+AC_PREREQ(2.13)dnl Required Autoconf version
 
 AC_CONFIG_HEADER(include/portable.h include/ldap_features.h include/lber_types.h)dnl
 
 
 AC_CONFIG_HEADER(include/portable.h include/ldap_features.h include/lber_types.h)dnl
 
@@ -105,135 +143,180 @@ AC_SUBST(ldap_subdir)dnl
 
 dnl ----------------------------------------------------------------
 dnl General "enable" options
 
 dnl ----------------------------------------------------------------
 dnl General "enable" options
-OL_ARG_ENABLE(debug,[enable debugging], yes)dnl
-OL_ARG_ENABLE(dynamic,[enable linking built binaries with dynamic libs], no)dnl
-OL_ARG_ENABLE(syslog,[enable syslog support], auto)dnl
-OL_ARG_ENABLE(proctitle,[enable proctitle support], yes)dnl
-dnl OL_ARG_ENABLE(referrals,[enable LDAPv2+ Referrals (experimental)], no)dnl
+OL_ARG_ENABLE(debug,[  --enable-debug    enable debugging], yes)dnl
+OL_ARG_ENABLE(dynamic,[  --enable-dynamic        enable linking built binaries with dynamic libs], no)dnl
+OL_ARG_ENABLE(syslog,[  --enable-syslog          enable syslog support], auto)dnl
+OL_ARG_ENABLE(proctitle,[  --enable-proctitle    enable proctitle support], yes)dnl
+dnl OL_ARG_ENABLE(referrals,[  --enable-referrals        enable LDAPv2+ Referrals (experimental)], no)dnl
 ol_enable_referrals=${ol_enable_referrals-no}
 ol_enable_referrals=${ol_enable_referrals-no}
-dnl OL_ARG_ENABLE(kbind,[enable LDAPv2+ Kerberos IV bind (deprecated)], no)dnl
+dnl OL_ARG_ENABLE(kbind,[  --enable-kbind        enable LDAPv2+ Kerberos IV bind (deprecated)], no)dnl
 ol_enable_kbind=${ol_enable_kbind-no}
 ol_enable_kbind=${ol_enable_kbind-no}
-OL_ARG_ENABLE(ipv6,[enable IPv6 support], auto)dnl
-OL_ARG_ENABLE(local,[enable AF_LOCAL (AF_UNIX) socket support], auto)dnl
-OL_ARG_ENABLE(x-compile,[enable cross compiling], no, [yes no])dnl
+OL_ARG_ENABLE(ipv6,[  --enable-ipv6      enable IPv6 support], auto)dnl
+OL_ARG_ENABLE(local,[  --enable-local    enable AF_LOCAL (AF_UNIX) socket support], auto)dnl
 
 dnl ----------------------------------------------------------------
 dnl General "with" options
 
 dnl ----------------------------------------------------------------
 dnl General "with" options
-OL_ARG_WITH(cyrus_sasl,[with Cyrus SASL support], auto)dnl
-OL_ARG_WITH(fetch,[with fetch(3) URL support], auto)dnl
-OL_ARG_WITH(kerberos,[with Kerberos support], auto,
-       [auto k5 k5only k425 kth k4 afs yes no])dnl
-OL_ARG_WITH(readline,[with readline support], auto)dnl
-OL_ARG_WITH(threads,[with threads], auto,
-       [auto nt posix mach pth lwp yes no manual])dnl
-OL_ARG_WITH(tls,[with TLS/SSL support], auto,
-       [auto ssleay openssl yes no])dnl
-OL_ARG_WITH(yielding_select,[with implicitly yielding select], auto,
-       [auto yes no manual])dnl
+dnl OL_ARG_ENABLE(dmalloc,[  --enable-dmalloc    enable debug malloc support], no)dnl
+
+OL_ARG_WITH(cyrus_sasl,[  --with-cyrus-sasl      with Cyrus SASL support],
+       auto, [auto yes no] )
+OL_ARG_WITH(fetch,[  --with-fetch                with fetch(3) URL support],
+       auto, [auto yes no] )
+dnl    OL_ARG_WITH(kerberos,[  --with-kerberos   with Kerberos support],
+dnl            auto, [auto k5 k5only k425 kth k4 afs yes no])
+ol_with_kerberos=${ol_with_kerberos-auto}
+OL_ARG_WITH(threads,[  --with-threads    with threads],
+       auto, [auto nt posix mach pth lwp yes no manual] )
+OL_ARG_WITH(tls,[  --with-tls            with TLS/SSL support],
+       auto, [auto ssleay openssl yes no] )
+OL_ARG_WITH(yielding_select,[  --with-yielding-select  with implicitly yielding select],
+       auto, [auto yes no manual] )
 
 dnl ----------------------------------------------------------------
 dnl Server options
 
 dnl ----------------------------------------------------------------
 dnl Server options
+dnl ----------------------------------------------------------------
+
 dnl ----------------------------------------------------------------
 dnl SLAPD OPTIONS
 dnl ----------------------------------------------------------------
 dnl SLAPD OPTIONS
-OL_ARG_ENABLE(slapd,[enable building slapd], yes)dnl
-OL_ARG_ENABLE(aci,[enable per-object ACIs (experimental)], no)dnl
-OL_ARG_ENABLE(cleartext,[enable cleartext passwords], yes)dnl
-OL_ARG_ENABLE(crypt,[enable crypt(3) passwords], no)dnl
-OL_ARG_ENABLE(kpasswd,[enable Kerberos password verification], no)dnl
-OL_ARG_ENABLE(lmpasswd,[enable LAN Manager passwords], no)dnl
-OL_ARG_ENABLE(spasswd,[enable (Cyrus) SASL password verification], no)dnl
-OL_ARG_ENABLE(modules,[enable dynamic module support], no)dnl
-dnl OL_ARG_ENABLE(multimaster,[enable multimaster replication], no)dnl
+AC_ARG_WITH(xxslapdoptions,[
+SLAPD (Standalone LDAP Daemon) Options:])
+OL_ARG_ENABLE(slapd,[  --enable-slapd    enable building slapd], yes)dnl
+OL_ARG_ENABLE(aci,[    --enable-aci      enable per-object ACIs (experimental)], no)dnl
+OL_ARG_ENABLE(cleartext,[    --enable-cleartext          enable cleartext passwords], yes)dnl
+OL_ARG_ENABLE(crypt,[    --enable-crypt          enable crypt(3) passwords], no)dnl
+OL_ARG_ENABLE(lmpasswd,[    --enable-lmpasswd    enable LAN Manager passwords], no)dnl
+OL_ARG_ENABLE(spasswd,[    --enable-spasswd      enable (Cyrus) SASL password verification], no)dnl
+OL_ARG_ENABLE(modules,[    --enable-modules      enable dynamic module support], no)dnl
+dnl OL_ARG_ENABLE(multimaster,[    --enable-multimaster  enable multimaster replication], no)dnl
 ol_enable_multimaster=${ol_enable_multimaster-no}
 ol_enable_multimaster=${ol_enable_multimaster-no}
-OL_ARG_ENABLE(phonetic,[enable phonetic/soundex], no)dnl
-OL_ARG_ENABLE(rewrite,[enable DN rewriting in back-ldap and back-meta], no)dnl
-OL_ARG_ENABLE(rlookups,[enable reverse lookups of client hostnames], no)dnl
-OL_ARG_ENABLE(slapi,[enable installation of slapi library], no)dnl
-OL_ARG_ENABLE(slp,[enable SLPv2 support], no)dnl     
-OL_ARG_ENABLE(wrappers,[enable tcp wrapper support], no)dnl
-
-dnl SLAPD Backend options
-OL_ARG_ENABLE(bdb,[enable Berkeley DB backend], yes)dnl
-OL_ARG_WITH(bdb-module,[module type], static, [static dynamic])dnl
-OL_ARG_ENABLE(dnssrv,[enable dnssrv backend], no)dnl
-OL_ARG_WITH(dnssrv-module,[module type], static, [static dynamic])dnl
-OL_ARG_ENABLE(ldap,[enable ldap backend], no)dnl
-OL_ARG_WITH(ldap-module,[module type], static, [static dynamic])dnl
-OL_ARG_ENABLE(ldbm,[enable ldbm backend], no)dnl
-OL_ARG_WITH(ldbm_api,[with LDBM API], auto, [auto berkeley bcompat mdbm gdbm])dnl
-OL_ARG_WITH(ldbm-module,[module type], static, [static dynamic])dnl
-OL_ARG_WITH(ldbm-type,[use LDBM type], auto, [auto btree hash])dnl
-OL_ARG_ENABLE(meta,[enable metadirectory backend], no)dnl
-OL_ARG_WITH(meta-module,[module type], static, [static dynamic])dnl
-OL_ARG_ENABLE(monitor,[enable monitor backend], no)dnl
-OL_ARG_WITH(monitor-module,[module type], static, [static dynamic])dnl
-OL_ARG_ENABLE(null,[enable null backend], no)dnl
-OL_ARG_WITH(null-module,[module type], static, [static dynamic])dnl
-OL_ARG_ENABLE(passwd,[enable passwd backend], no)dnl
-OL_ARG_WITH(passwd-module,[module type], static, [static dynamic])dnl
-OL_ARG_ENABLE(perl,[enable perl backend], no)dnl
-OL_ARG_WITH(perl-module,[module type], static, [static dynamic])dnl
-OL_ARG_ENABLE(shell,[enable shell backend], no)dnl
-OL_ARG_WITH(shell-module,[module type], static, [static dynamic])dnl
-OL_ARG_ENABLE(sql,[enable sql backend], no)dnl
-OL_ARG_WITH(sql-module,[module type], static, [static dynamic])dnl
-OL_ARG_ENABLE(tcl,[enable tcl backend], no)dnl
-OL_ARG_WITH(tcl-module,[module type], static, [static dynamic])dnl
+OL_ARG_ENABLE(rewrite,[    --enable-rewrite      enable DN rewriting in back-ldap and the rwm overlay], auto)dnl
+OL_ARG_ENABLE(rlookups,[    --enable-rlookups    enable reverse lookups of client hostnames], no)dnl
+OL_ARG_ENABLE(slapi,[    --enable-slapi        enable SLAPI support (experimental)], no)dnl
+OL_ARG_ENABLE(slp,[    --enable-slp          enable SLPv2 support], no)dnl     
+OL_ARG_ENABLE(wrappers,[    --enable-wrappers    enable tcp wrapper support], no)dnl
+
+dnl ----------------------------------------------------------------
+dnl SLAPD Backend Options
+Backends="bdb dnssrv hdb ldap ldbm meta monitor null \
+       passwd perl relay shell sql"
+
+AC_ARG_WITH(xxslapbackends,[
+SLAPD Backend Options:])
+
+OL_ARG_ENABLE(backends,[    --enable-backends    enable all available backends no|yes|mod],
+       no, [no yes mod])dnl
+OL_ARG_ENABLE(bdb,[    --enable-bdb      enable Berkeley DB backend no|yes|mod],
+       yes, [no yes mod])dnl
+OL_ARG_ENABLE(dnssrv,[    --enable-dnssrv        enable dnssrv backend no|yes|mod],
+       no, [no yes mod])dnl
+OL_ARG_ENABLE(hdb,[    --enable-hdb      enable Hierarchical DB backend no|yes|mod],
+       no, [no yes mod])dnl
+OL_ARG_ENABLE(ldap,[    --enable-ldap    enable ldap backend no|yes|mod],
+       no, [no yes mod])dnl
+OL_ARG_ENABLE(ldbm,[    --enable-ldbm    enable ldbm backend no|yes|mod], no,
+       [no yes mod])dnl
+OL_ARG_WITH(ldbm_api,[      --with-ldbm-api     with LDBM API auto|berkeley|bcompat|mdbm|gdbm],
+       auto, [auto berkeley bcompat mdbm gdbm])
+OL_ARG_WITH(ldbm_type,[      --with-ldbm-type    use LDBM type auto|btree|hash],
+       auto, [auto btree hash])
+OL_ARG_ENABLE(meta,[    --enable-meta    enable metadirectory backend no|yes|mod],
+       no, [no yes mod])dnl
+OL_ARG_ENABLE(monitor,[    --enable-monitor      enable monitor backend no|yes|mod],
+       yes, [no yes mod])dnl
+OL_ARG_ENABLE(null,[    --enable-null    enable null backend no|yes|mod],
+       no, [no yes mod])dnl
+OL_ARG_ENABLE(passwd,[    --enable-passwd        enable passwd backend no|yes|mod],
+       no, [no yes mod])dnl
+OL_ARG_ENABLE(perl,[    --enable-perl    enable perl backend no|yes|mod],
+       no, [no yes mod])dnl
+OL_ARG_ENABLE(relay,[    --enable-relay          enable relay backend no|yes|mod],
+       yes, [no yes mod])dnl
+OL_ARG_ENABLE(shell,[    --enable-shell          enable shell backend no|yes|mod],
+       no, [no yes mod])dnl
+OL_ARG_ENABLE(sql,[    --enable-sql      enable sql backend no|yes|mod],
+       no, [no yes mod])dnl
+
+dnl ----------------------------------------------------------------
+dnl SLAPD Overlay Options
+Overlays="chain denyop dyngroup lastmod ppolicy proxycache rwm \
+       refint unique"
+
+AC_ARG_WITH(xxslapoverlays,[
+SLAPD Overlay Options:])
+
+OL_ARG_ENABLE(overlays,[    --enable-overlays    enable all available overlays no|yes|mod],
+       no, [no yes mod])dnl
+OL_ARG_ENABLE(chain,[    --enable-chain          LDAP Chain Response no|yes|mod],
+       no, [no yes mod])
+OL_ARG_ENABLE(denyop,[    --enable-denyop        Deny Operation overlay no|yes|mod],
+       no, [no yes mod])
+OL_ARG_ENABLE(dyngroup,[    --enable-dyngroup    Dynamic Group overlay no|yes|mod],
+       no, [no yes mod])
+OL_ARG_ENABLE(lastmod,[    --enable-lastmod      Last Modification overlay no|yes|mod],
+       no, [no yes mod])
+OL_ARG_ENABLE(ppolicy,[    --enable-ppolicy      Password Policy overlay no|yes|mod],
+       no, [no yes mod])
+OL_ARG_ENABLE(proxycache,[    --enable-proxycache        Proxy Cache overlay no|yes|mod],
+       no, [no yes mod])
+OL_ARG_ENABLE(refint,[    --enable-refint        Referential Integrity overlay no|yes|mod],
+       no, [no yes mod])
+OL_ARG_ENABLE(rwm,[    --enable-rwm              Rewrite/Remap overlay no|yes|mod],
+       no, [no yes mod])
+OL_ARG_ENABLE(unique,[    --enable-unique       Attribute Uniqueness overlay no|yes|mod],
+       no, [no yes mod])
+
 
 dnl ----------------------------------------------------------------
 dnl SLURPD OPTIONS
 
 dnl ----------------------------------------------------------------
 dnl SLURPD OPTIONS
-OL_ARG_ENABLE(slurpd,[enable building slurpd], auto)dnl
+AC_ARG_WITH(xxslurpdoptions,[
+SLURPD (Replication Daemon) Options:])
+OL_ARG_ENABLE(slurpd,[  --enable-slurpd          enable building slurpd], auto)dnl
 
 dnl ----------------------------------------------------------------
 
 dnl ----------------------------------------------------------------
-dnl Library Generation & Linking Options
+AC_ARG_WITH(xxliboptions,[
+Library Generation & Linking Options])
 AC_ENABLE_STATIC
 AC_ENABLE_SHARED
 
 dnl ----------------------------------------------------------------
 
 dnl General "enable" options
 AC_ENABLE_STATIC
 AC_ENABLE_SHARED
 
 dnl ----------------------------------------------------------------
 
 dnl General "enable" options
+# Activate any backends that were not explicitly enabled.
+# Note that back_bdb defaults to "yes" so this loop won't touch it.
+if test $ol_enable_backends != no ; then
+       for i in $Backends; do
+               eval "ol_tmp=\$ol_enable_$i"
+               if test $ol_tmp = no ; then
+                       eval "ol_enable_$i=$ol_enable_backends"
+               fi
+       done
+fi
+# Activate the overlays
+if test $ol_enable_overlays != no ; then
+       for i in $Overlays; do
+               eval "ol_tmp=\$ol_enable_$i"
+               if test $ol_tmp = no ; then
+                       eval "ol_enable_$i=$ol_enable_overlays"
+               fi
+       done
+fi
+
 # validate options
 if test $ol_enable_slapd = no ; then
        dnl SLAPD was specificallly disabled
        if test $ol_enable_slapi = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-slapi argument])
        fi
 # validate options
 if test $ol_enable_slapd = no ; then
        dnl SLAPD was specificallly disabled
        if test $ol_enable_slapi = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-slapi argument])
        fi
-       if test $ol_enable_bdb = yes ; then
-               AC_MSG_WARN([slapd disabled, ignoring --enable-bdb argument])
-       fi
-       if test $ol_enable_dnssrv = yes ; then
-               AC_MSG_WARN([slapd disabled, ignoring --enable-dnssrv argument])
-       fi
-       if test $ol_enable_ldap = yes ; then
-               AC_MSG_WARN([slapd disabled, ignoring --enable-ldap argument])
-       fi
-       if test $ol_enable_ldbm = yes ; then
-               AC_MSG_WARN([slapd disabled, ignoring --enable-ldbm argument])
-       fi
-       if test $ol_enable_meta = yes ; then
-               AC_MSG_WARN([slapd disabled, ignoring --enable-meta argument])
-       fi
-       if test $ol_enable_monitor = yes ; then
-               AC_MSG_WARN([slapd disabled, ignoring --enable-monitor argument])
-       fi
-       if test $ol_enable_null = yes ; then
-               AC_MSG_WARN([slapd disabled, ignoring --enable-null argument])
-       fi
-       if test $ol_enable_passwd = yes ; then
-               AC_MSG_WARN([slapd disabled, ignoring --enable-passwd argument])
-       fi
-       if test $ol_enable_perl = yes ; then
-               AC_MSG_WARN([slapd disabled, ignoring --enable-perl argument])
-       fi
-       if test $ol_enable_shell = yes ; then
-               AC_MSG_WARN([slapd disabled, ignoring --enable-shell argument])
-       fi
-       if test $ol_enable_tcl = yes ; then
-               AC_MSG_WARN([slapd disabled, ignoring --enable-tcl argument])
-       fi
-       if test $ol_enable_sql = yes ; then
-               AC_MSG_WARN([slapd disabled, ignoring --enable-sql argument])
+       if test $ol_enable_backends != no ; then
+               AC_MSG_WARN([slapd disabled, ignoring --enable-backends argument])
        fi
        fi
+       for i in $Backends; do
+               eval "ol_tmp=\$ol_enable_$i"
+               if test $ol_tmp != no ; then
+                       AC_MSG_WARN([slapd disabled, ignoring --enable-$i argument])
+                       eval "ol_enable_$i=no"
+               fi
+       done
        if test $ol_enable_modules = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-modules argument])
        fi
        if test $ol_enable_modules = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-modules argument])
        fi
@@ -243,9 +326,6 @@ if test $ol_enable_slapd = no ; then
        if test $ol_enable_wrappers = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-wrappers argument])
        fi
        if test $ol_enable_wrappers = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-wrappers argument])
        fi
-       if test $ol_enable_phonetic = yes ; then
-               AC_MSG_WARN([slapd disabled, ignoring --enable-phonetic argument])
-       fi
        if test $ol_enable_rlookups = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-rlookups argument])
        fi
        if test $ol_enable_rlookups = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-rlookups argument])
        fi
@@ -258,88 +338,38 @@ if test $ol_enable_slapd = no ; then
        if test $ol_with_ldbm_type != auto ; then
                AC_MSG_WARN([slapd disabled, ignoring --with-ldbm-type argument])
        fi
        if test $ol_with_ldbm_type != auto ; then
                AC_MSG_WARN([slapd disabled, ignoring --with-ldbm-type argument])
        fi
-       if test $ol_with_bdb_module != static ; then
-               AC_MSG_WARN([slapd disabled, ignoring --with-bdb-module argument])
-       fi
-       if test $ol_with_dnssrv_module != static ; then
-               AC_MSG_WARN([slapd disabled, ignoring --with-dnssrv-module argument])
-       fi
-       if test $ol_with_ldap_module != static ; then
-               AC_MSG_WARN([slapd disabled, ignoring --with-ldap-module argument])
-       fi
-       if test $ol_with_ldbm_module != static ; then
-               AC_MSG_WARN([slapd disabled, ignoring --with-ldbm-module argument])
-       fi
-       if test $ol_with_meta_module != static ; then
-               AC_MSG_WARN([slapd disabled, ignoring --with-meta-module argument])
-       fi
-       if test $ol_with_monitor_module != static ; then
-               AC_MSG_WARN([slapd disabled, ignoring --with-monitor-module argument])
-       fi
-       if test $ol_with_null_module != static ; then
-               AC_MSG_WARN([slapd disabled, ignoring --with-null-module argument])
-       fi
-       if test $ol_with_passwd_module != static ; then
-               AC_MSG_WARN([slapd disabled, ignoring --with-passwd-module argument])
-       fi
-       if test $ol_with_perl_module != static ; then
-               AC_MSG_WARN([slapd disabled, ignoring --with-perl-module argument])
-       fi
-       if test $ol_with_shell_module != static ; then
-               AC_MSG_WARN([slapd disabled, ignoring --with-shell-module argument])
-       fi
-       if test $ol_with_tcl_module != static ; then
-               AC_MSG_WARN([slapd disabled, ignoring --with-tcl-module argument])
-       fi
-       if test $ol_with_sql_module != static ; then
-               AC_MSG_WARN([slapd disabled, ignoring --with-sql-module argument])
-       fi
        if test $ol_enable_slurpd = yes ; then
                AC_MSG_ERROR([slurpd requires slapd])
        fi
        if test $ol_enable_rewrite = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-rewrite argument])
        fi
        if test $ol_enable_slurpd = yes ; then
                AC_MSG_ERROR([slurpd requires slapd])
        fi
        if test $ol_enable_rewrite = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-rewrite argument])
        fi
+       dnl overlays
+       if test $ol_enable_overlays != no ; then
+               AC_MSG_WARN([slapd disabled, ignoring --enable-overlays argument])
+       fi
+       for i in $Overlays; do
+               eval "ol_tmp=\$ol_enable_$i"
+               if test $ol_tmp != no ; then
+                       AC_MSG_WARN([slapd disabled, ignoring --enable-$i argument])
+                       eval "ol_enable_$i=no"
+               fi
+       done
 
        # force settings to no
        ol_enable_slapi=no
 
        # force settings to no
        ol_enable_slapi=no
-       ol_enable_bdb=no
-       ol_enable_dnssrv=no
-       ol_enable_ldap=no
-       ol_enable_ldbm=no
-       ol_enable_meta=no
-       ol_enable_monitor=no
-       ol_enable_null=no
-       ol_enable_passwd=no
-       ol_enable_perl=no
-       ol_enable_shell=no
-       ol_enable_tcl=no
-       ol_enable_sql=no
 
 
+       ol_enable_backends=no
+       ol_enable_overlays=no
        ol_enable_modules=no
        ol_enable_multimaster=no
        ol_enable_modules=no
        ol_enable_multimaster=no
-       ol_enable_phonetic=no
        ol_enable_rlookups=no
        ol_enable_aci=no
        ol_enable_wrappers=no
        ol_enable_rlookups=no
        ol_enable_aci=no
        ol_enable_wrappers=no
-       ol_enable_dynamic=no
 
        ol_with_ldbm_api=no
        ol_with_ldbm_type=no
 
 
        ol_with_ldbm_api=no
        ol_with_ldbm_type=no
 
-       ol_with_bdb_module=static
-       ol_with_dnssrv_module=static
-       ol_with_ldap_module=static
-       ol_with_ldbm_module=static
-       ol_with_meta_module=static
-       ol_with_monitor_module=static
-       ol_with_null_module=static
-       ol_with_passwd_module=static
-       ol_with_perl_module=static
-       ol_with_shell_module=static
-       ol_with_tcl_module=static
-       ol_with_sql_module=static
-
        ol_enable_slurpd=no
 
        ol_enable_rewrite=no
        ol_enable_slurpd=no
 
        ol_enable_rewrite=no
@@ -355,22 +385,19 @@ elif test $ol_enable_ldbm = no ; then
                AC_MSG_WARN([LDBM disabled, ignoring --with-ldbm-type argument])
        fi
 
                AC_MSG_WARN([LDBM disabled, ignoring --with-ldbm-type argument])
        fi
 
-       if test $ol_with_ldbm_module != static ; then
-               AC_MSG_WARN([LDBM disabled, ignoring --with-ldbm-module argument])
-       fi
-
        if test $ol_enable_modules != yes -a \
                $ol_enable_bdb = no -a \
                $ol_enable_dnssrv = no -a \
        if test $ol_enable_modules != yes -a \
                $ol_enable_bdb = no -a \
                $ol_enable_dnssrv = no -a \
+               $ol_enable_hdb = no -a \
                $ol_enable_ldap = no -a \
                $ol_enable_meta = no -a \
                $ol_enable_monitor = no -a \
                $ol_enable_null = no -a \
                $ol_enable_passwd = no -a \
                $ol_enable_perl = no -a \
                $ol_enable_ldap = no -a \
                $ol_enable_meta = no -a \
                $ol_enable_monitor = no -a \
                $ol_enable_null = no -a \
                $ol_enable_passwd = no -a \
                $ol_enable_perl = no -a \
+               $ol_enable_relay = no -a \
                $ol_enable_shell = no -a \
                $ol_enable_shell = no -a \
-               $ol_enable_sql = no -a \
-               $ol_enable_tcl = no ; then
+               $ol_enable_sql = no ; then
 
                if test $ol_enable_slapd = yes ; then
                        AC_MSG_ERROR([slapd requires a backend])
 
                if test $ol_enable_slapd = yes ; then
                        AC_MSG_ERROR([slapd requires a backend])
@@ -382,9 +409,8 @@ elif test $ol_enable_ldbm = no ; then
 
        ol_with_ldbm_api=no
        ol_with_ldbm_type=no
 
        ol_with_ldbm_api=no
        ol_with_ldbm_type=no
-       ol_with_ldbm_module=static
 
 
-       if test $ol_enable_bdb != no ; then
+       if test $ol_enable_bdb != no -o $ol_enable_hdb != no; then
                ol_with_ldbm_api=berkeley
        fi
 
                ol_with_ldbm_api=berkeley
        fi
 
@@ -403,22 +429,23 @@ else
                AC_MSG_ERROR([NDBM only supports LDBM type hash])
        fi
 
                AC_MSG_ERROR([NDBM only supports LDBM type hash])
        fi
 
-       if test $ol_enable_bdb = yes ; then
+       if test $ol_enable_bdb != no -o $ol_enable_hdb != no ; then
                if test $ol_with_ldbm_api = auto ; then
                        ol_with_ldbm_api=berkeley
                elif test $ol_with_ldbm_api != berkeley ; then
                if test $ol_with_ldbm_api = auto ; then
                        ol_with_ldbm_api=berkeley
                elif test $ol_with_ldbm_api != berkeley ; then
-                       AC_MSG_ERROR([LDBM API not compatible with BDB])
-               fi
-
-       elif test $ol_enable_bdb = auto ; then
-               if test $ol_with_ldbm_api != berkeley \
-                       -o $ol_with_ldbm_api != auto ; then
-                       AC_MSG_WARN([LDBM API not compatible with BDB, disabling BDB])
-                       ol_enable_bdb=no
+                       AC_MSG_ERROR([LDBM API not compatible with BDB/HDB])
                fi
        fi
 fi
 
                fi
        fi
 fi
 
+if test $ol_enable_chain != no -a $ol_enable_ldap = no ; then
+       AC_MSG_ERROR([--enable-chain requires --enable-ldap])
+fi
+
+if test $ol_enable_meta = yes -a $ol_enable_ldap = no ; then
+       AC_MSG_ERROR([--enable-meta requires --enable-ldap])
+fi
+
 if test $ol_enable_slurpd = yes ; then
        dnl SLURPD was specifically enabled
        if test $ol_with_threads = no ; then
 if test $ol_enable_slurpd = yes ; then
        dnl SLURPD was specifically enabled
        if test $ol_with_threads = no ; then
@@ -432,14 +459,14 @@ if test $ol_enable_lmpasswd = yes ; then
        fi
 fi
 
        fi
 fi
 
-if test $ol_enable_kbind = yes -o $ol_enable_kpasswd = yes ; then
+if test $ol_enable_kbind = yes ; then
        if test $ol_with_kerberos = no ; then
                AC_MSG_ERROR([options require --with-kerberos])
        elif test $ol_with_kerberos = auto ; then
                ol_with_kerberos=yes
        fi
 
        if test $ol_with_kerberos = no ; then
                AC_MSG_ERROR([options require --with-kerberos])
        elif test $ol_with_kerberos = auto ; then
                ol_with_kerberos=yes
        fi
 
-elif test $ol_enable_kbind = no -o $ol_enable_kpasswd = no ; then
+elif test $ol_enable_kbind = no ; then
        if test $ol_with_kerberos = auto ; then
                ol_with_kerberos=no
        elif test $ol_with_kerberos != no ; then
        if test $ol_with_kerberos = auto ; then
                ol_with_kerberos=no
        elif test $ol_with_kerberos != no ; then
@@ -460,7 +487,6 @@ AC_MSG_RESULT(done)
 dnl ----------------------------------------------------------------
 dnl Initialize vars
 LDAP_LIBS=
 dnl ----------------------------------------------------------------
 dnl Initialize vars
 LDAP_LIBS=
-LDIF_LIBS=
 LDBM_LIBS=
 LTHREAD_LIBS=
 LUTIL_LIBS=
 LDBM_LIBS=
 LTHREAD_LIBS=
 LUTIL_LIBS=
@@ -478,6 +504,7 @@ SLAPD_SLAPI_DEPEND=
 
 BUILD_BDB=no
 BUILD_DNSSRV=no
 
 BUILD_BDB=no
 BUILD_DNSSRV=no
+BUILD_HDB=no
 BUILD_LDAP=no
 BUILD_LDBM=no
 BUILD_META=no
 BUILD_LDAP=no
 BUILD_LDBM=no
 BUILD_META=no
@@ -485,22 +512,21 @@ BUILD_MONITOR=no
 BUILD_NULL=no
 BUILD_PASSWD=no
 BUILD_PERL=no
 BUILD_NULL=no
 BUILD_PASSWD=no
 BUILD_PERL=no
+BUILD_RELAY=no
 BUILD_SHELL=no
 BUILD_SQL=no
 BUILD_SHELL=no
 BUILD_SQL=no
-BUILD_TCL=no
-
-BUILD_BDB_DYNAMIC=static
-BUILD_DNSSRV_DYNAMIC=static
-BUILD_LDAP_DYNAMIC=static
-BUILD_LDBM_DYNAMIC=static
-BUILD_META_DYNAMIC=static
-BUILD_MONITOR_DYNAMIC=static
-BUILD_NULL_DYNAMIC=static
-BUILD_PASSWD_DYNAMIC=static
-BUILD_PERL_DYNAMIC=static
-BUILD_SHELL_DYNAMIC=static
-BUILD_TCL_DYNAMIC=static
-BUILD_SQL_DYNAMIC=static
+
+BUILD_CHAIN=no
+BUILD_DENYOP=no
+BUILD_DYNGROUP=no
+BUILD_LASTMOD=no
+BUILD_PPOLICY=no
+BUILD_PROXYCACHE=no
+BUILD_REFINT=no
+BUILD_RWM=no
+BUILD_UNIQUE=no
+
+SLAPD_DYNAMIC_OVERLAYS=
 
 SLAPD_MODULES_LDFLAGS=
 SLAPD_MODULES_CPPFLAGS=
 
 SLAPD_MODULES_LDFLAGS=
 SLAPD_MODULES_CPPFLAGS=
@@ -516,12 +542,9 @@ SLAPD_SQL_LDFLAGS=
 SLAPD_SQL_LIBS=
 SLAPD_SQL_INCLUDES=
 
 SLAPD_SQL_LIBS=
 SLAPD_SQL_INCLUDES=
 
-MOD_TCL_LIB=
 KRB4_LIBS=
 KRB5_LIBS=
 KRB4_LIBS=
 KRB5_LIBS=
-READLINE_LIBS=
 SASL_LIBS=
 SASL_LIBS=
-TERMCAP_LIBS=
 TLS_LIBS=
 MODULES_LIBS=
 SLAPI_LIBS=
 TLS_LIBS=
 MODULES_LIBS=
 SLAPI_LIBS=
@@ -534,9 +557,7 @@ SLAPD_SLP_LIBS=
 dnl ================================================================
 dnl Checks for programs
 
 dnl ================================================================
 dnl Checks for programs
 
-AC_PROG_MAKE_SET
 AC_PROG_INSTALL
 AC_PROG_INSTALL
-dnl AM_GNU_GETTEXT([external])
 
 AC_DEFINE(HAVE_MKVERSION, 1, [define this if you have mkversion])
 
 
 AC_DEFINE(HAVE_MKVERSION, 1, [define this if you have mkversion])
 
@@ -622,10 +643,12 @@ if test $ol_enable_perl != no ; then
 
        else
                PERL_CPPFLAGS="`$PERLBIN -MExtUtils::Embed -e ccopts`"
 
        else
                PERL_CPPFLAGS="`$PERLBIN -MExtUtils::Embed -e ccopts`"
-               if test x"$ol_with_perl_module" = "xstatic" ; then
-                       SLAPD_PERL_LDFLAGS="`$PERLBIN -MExtUtils::Embed -e ldopts|sed -e s/-lc//`"
+               PERL_LDFLAGS="`$PERLBIN -MExtUtils::Embed -e ldopts|sed -e 's/ -lc / /' -e 's/ -lc$//'`"
+
+               if test x"$ol_enable_perl" = "xyes" ; then
+                       SLAPD_PERL_LDFLAGS="$PERL_LDFLAGS"
                else
                else
-                       MOD_PERL_LDFLAGS="`$PERLBIN -MExtUtils::Embed -e ldopts|sed -e s/-lc//`"
+                       MOD_PERL_LDFLAGS="$PERL_LDFLAGS"
                fi
                dnl should check perl version
                ol_link_perl=yes
                fi
                dnl should check perl version
                ol_link_perl=yes
@@ -634,20 +657,6 @@ fi
 
 AC_PROG_CPP
 
 
 AC_PROG_CPP
 
-dnl ----------------------------------------------------------------
-dnl Cross compiling checks
-if test $cross_compiling = yes -a $ol_enable_x_compile = yes; then
-       AC_MSG_WARN([cross compiling....  some functionality will be removed.])
-
-elif test $cross_compiling = no -a $ol_enable_x_compile = yes; then
-       AC_MSG_WARN([programs compiled here do run here...])
-       AC_MSG_ERROR([  if not cross compiling, use --disable-x-compile.])
-
-elif test $cross_compiling = yes -a $ol_enable_x_compile = no; then
-       AC_MSG_WARN([programs compiled here do not run here...])
-       AC_MSG_ERROR([  if cross compiling,  add --enable-x-compile.])
-fi
-
 dnl ----------------------------------------------------------------
 dnl Checks for UNIX Variants
 dnl AC_AIX
 dnl ----------------------------------------------------------------
 dnl Checks for UNIX Variants
 dnl AC_AIX
@@ -655,11 +664,11 @@ dnl AC_ISC_POSIX
 dnl AC_MINIX
 
 dnl ----------------------------------------------------------------
 dnl AC_MINIX
 
 dnl ----------------------------------------------------------------
-dnl Checks for system services (now obsolete)
-dnl AC_CYGWIN (obsolete)
-dnl AC_MINGW32 (obsolete)
-dnl AC_EXEEXT
-dnl AC_OBJEXT
+dnl Checks for system services
+AC_CYGWIN
+AC_MINGW32
+AC_EXEEXT
+AC_OBJEXT
 
 AC_DEFINE_UNQUOTED(EXEEXT, "${EXEEXT}", [defined to be the EXE extension])
 
 
 AC_DEFINE_UNQUOTED(EXEEXT, "${EXEEXT}", [defined to be the EXE extension])
 
@@ -684,8 +693,7 @@ fi
 
 dnl ----------------------------------------------------------------
 dnl Check for AIX security library
 
 dnl ----------------------------------------------------------------
 dnl Check for AIX security library
-AC_CHECK_LIB(s, afopen,
-[
+AC_CHECK_LIB(s, afopen, [
        AUTH_LIBS=-ls
        AC_DEFINE(HAVE_AIX_SECURITY,1,[define if you have AIX security lib])
 ])
        AUTH_LIBS=-ls
        AC_DEFINE(HAVE_AIX_SECURITY,1,[define if you have AIX security lib])
 ])
@@ -718,19 +726,22 @@ if test $ol_enable_modules != no ; then
                AC_MSG_ERROR([could not locate libtool -lltdl])
        fi
        ol_link_modules=yes
                AC_MSG_ERROR([could not locate libtool -lltdl])
        fi
        ol_link_modules=yes
+
 else
 else
-       ol_with_bdb_module=static
-       ol_with_dnssrv_module=static
-       ol_with_ldap_module=static
-       ol_with_ldbm_module=static
-       ol_with_meta_module=static
-       ol_with_monitor_module=static
-       ol_with_null_module=static
-       ol_with_passwd_module=static
-       ol_with_perl_module=static
-       ol_with_shell_module=static
-       ol_with_tcl_module=static
-       ol_with_sql_module=static
+       for i in $Backends; do
+               eval "ol_tmp=\$ol_enable_$i"
+               if test $ol_tmp = mod ; then
+                       AC_MSG_WARN([building static $i backend])
+                       eval "ol_enable_$i=yes"
+               fi
+       done
+       for i in $Overlays; do
+               eval "ol_tmp=\$ol_enable_$i"
+               if test $ol_tmp = mod ; then
+                       AC_MSG_WARN([building static $i overlay])
+                       eval "ol_enable_$i=yes"
+               fi
+       done
 fi
 
 dnl ----------------------------------------------------------------
 fi
 
 dnl ----------------------------------------------------------------
@@ -753,6 +764,7 @@ AC_CHECK_HEADERS(   \
        arpa/inet.h             \
        arpa/nameser.h  \
        assert.h                \
        arpa/inet.h             \
        arpa/nameser.h  \
        assert.h                \
+       bits/types.h    \
        conio.h                 \
        crypt.h                 \
        direct.h                \
        conio.h                 \
        crypt.h                 \
        direct.h                \
@@ -771,6 +783,7 @@ AC_CHECK_HEADERS(   \
        psap.h                  \
        pwd.h                   \
        process.h               \
        psap.h                  \
        pwd.h                   \
        process.h               \
+       resolv.h                \
        sgtty.h                 \
        shadow.h                \
        stddef.h                \
        sgtty.h                 \
        shadow.h                \
        stddef.h                \
@@ -789,6 +802,7 @@ AC_CHECK_HEADERS(   \
        sys/syslog.h    \
        sys/time.h              \
        sys/types.h             \
        sys/syslog.h    \
        sys/time.h              \
        sys/types.h             \
+       sys/ucred.h             \
        sys/uio.h               \
        syslog.h                \
        termios.h               \
        sys/uio.h               \
        syslog.h                \
        termios.h               \
@@ -797,18 +811,10 @@ AC_CHECK_HEADERS( \
        winsock2.h              \
 )
 
        winsock2.h              \
 )
 
-AC_CHECK_HEADERS(sys/ucred.h,,,[#include <sys/types.h>])
-AC_CHECK_HEADERS(resolv.h,,,[
-#include <sys/types.h>
-#include <netinet/in.h>
-#include <arpa/nameser.h>
-])
 
 dnl ----------------------------------------------------------------
 dnl Checks for libraries
 
 
 dnl ----------------------------------------------------------------
 dnl Checks for libraries
 
-AC_CHECK_FUNC(dlopen, :, [AC_CHECK_LIB(dl, dlopen)])
-
 dnl HP-UX requires -lV3
 dnl this is not needed on newer versions of HP-UX
 AC_CHECK_LIB(V3, sigset)
 dnl HP-UX requires -lV3
 dnl this is not needed on newer versions of HP-UX
 AC_CHECK_LIB(V3, sigset)
@@ -816,40 +822,37 @@ AC_CHECK_LIB(V3, sigset)
 dnl The following is INTENTIONALLY scripted out because shell does not
 dnl support variable names with the '@' character, which is what
 dnl autoconf would try to generate if one merely used AC_SEARCH_LIBS
 dnl The following is INTENTIONALLY scripted out because shell does not
 dnl support variable names with the '@' character, which is what
 dnl autoconf would try to generate if one merely used AC_SEARCH_LIBS
-AC_MSG_CHECKING(for winsock)
+if test "$ac_cv_header_winsock_h" = yes; then
+AC_CACHE_CHECK([for winsock], [ol_cv_winsock],
 save_LIBS="$LIBS"
 for curlib in ws2_32 wsock32; do
        LIBS="$LIBS -l$curlib"
 save_LIBS="$LIBS"
 for curlib in ws2_32 wsock32; do
        LIBS="$LIBS -l$curlib"
-       AC_TRY_LINK([
-                       char socket@12();
-                       char select@20();
-                       char closesocket@4();
-                       char gethostname@8();
+       AC_TRY_LINK([#include <winsock.h>
                        ],
                        [
                        ],
                        [
-                       socket@12();
-                       select@20();
-                       closesocket@4();
-                       gethostname@8();
+                       socket(0,0,0);
+                       select(0,NULL,NULL,NULL,NULL);
+                       closesocket(0);
+                       gethostname(NULL,0);
                        ],
                        ],
-                       have_winsock=yes, have_winsock=no)
+                       ol_cv_winsock=yes, ol_cv_winsock=no)
 
 
-       if test $have_winsock = yes; then
+       if test $ol_cv_winsock = yes; then
                AC_DEFINE(HAVE_WINSOCK, 1, [define if you have winsock])
                ac_cv_func_socket=yes
                ac_cv_func_select=yes
                ac_cv_func_closesocket=yes
                ac_cv_func_gethostname=yes
                if test $curlib = ws2_32; then
                AC_DEFINE(HAVE_WINSOCK, 1, [define if you have winsock])
                ac_cv_func_socket=yes
                ac_cv_func_select=yes
                ac_cv_func_closesocket=yes
                ac_cv_func_gethostname=yes
                if test $curlib = ws2_32; then
-                       have_winsock=winsock2
+                       ol_cv_winsock=winsock2
                        AC_DEFINE(HAVE_WINSOCK2, 1,
                                  [define if you have winsock2])
                fi
                break
        fi
        LIBS="$save_LIBS"
                        AC_DEFINE(HAVE_WINSOCK2, 1,
                                  [define if you have winsock2])
                fi
                break
        fi
        LIBS="$save_LIBS"
-done
-AC_MSG_RESULT($have_winsock)
+done)
+fi
 
 dnl Find socket()
 dnl Likely combinations:
 
 dnl Find socket()
 dnl Likely combinations:
@@ -918,12 +921,12 @@ if test $have_uuid = no ; then
        save_LIBS="$LIBS"
        LIBS="$LIBS -lrpcrt4"
        AC_TRY_LINK([
        save_LIBS="$LIBS"
        LIBS="$LIBS -lrpcrt4"
        AC_TRY_LINK([
-               char UuidCreate@4();
-               char UuidToStringA@8();
+               int __stdcall UuidCreate(void *);
+               int __stdcall UuidToStringA(void *,void **);
                ],
                [
                ],
                [
-               UuidCreate@4();
-               UuidToStringA@8();
+               UuidCreate(0);
+               UuidToStringA(0,0);
                ],
                need_rpcrt=yes, need_rpcrt=no)
        if test $need_rpcrt = yes; then
                ],
                need_rpcrt=yes, need_rpcrt=no)
        if test $need_rpcrt = yes; then
@@ -973,7 +976,7 @@ if test "$ac_cv_func_res_query" = yes ; then
        fi
 fi
 
        fi
 fi
 
-if test "$ol_enable_dnssrv" = yes -a "$ol_link_dnssrv" = no ; then
+if test "$ol_enable_dnssrv" != no -a "$ol_link_dnssrv" = no ; then
        AC_MSG_ERROR([DNSSRV requires res_query()])
 fi
 
        AC_MSG_ERROR([DNSSRV requires res_query()])
 fi
 
@@ -1031,7 +1034,6 @@ fi
 dnl ----------------------------------------------------------------
 dnl Kerberos
 ol_link_kbind=no
 dnl ----------------------------------------------------------------
 dnl Kerberos
 ol_link_kbind=no
-ol_link_kpasswd=no
 ol_link_krb5=no
 ol_link_krb4=no
 
 ol_link_krb5=no
 ol_link_krb4=no
 
@@ -1086,10 +1088,6 @@ if test $ol_with_kerberos = yes -o $ol_with_kerberos = auto \
                        AC_DEFINE(HAVE_KRB5, 1,
                                [define if you have Kerberos V])
 
                        AC_DEFINE(HAVE_KRB5, 1,
                                [define if you have Kerberos V])
 
-                       if test $ol_enable_kpasswd != no ; then
-                               ol_link_kpasswd=yes;
-                       fi
-
                        if test $ol_with_kerberos = k5only ; then
                                ol_with_kerberos=found
                        fi
                        if test $ol_with_kerberos = k5only ; then
                                ol_with_kerberos=found
                        fi
@@ -1186,10 +1184,6 @@ if test $ol_with_kerberos = yes -o $ol_with_kerberos = auto \
        fi
 fi
 
        fi
 fi
 
-if test $ol_link_krb4 = yes -a $ol_enable_kpasswd != no ; then
-       ol_link_kpasswd=yes
-fi
-
 if test $ol_link_krb4 = yes -a $ol_enable_kbind != no ; then
        ol_link_kbind=yes
 
 if test $ol_link_krb4 = yes -a $ol_enable_kbind != no ; then
        ol_link_kbind=yes
 
@@ -1254,8 +1248,10 @@ else
        AC_WARN([TLS data protection not supported!])
 fi
 
        AC_WARN([TLS data protection not supported!])
 fi
 
+WITH_TLS=no
 if test $ol_link_tls = yes ; then
        AC_DEFINE(HAVE_TLS, 1, [define if you have TLS])
 if test $ol_link_tls = yes ; then
        AC_DEFINE(HAVE_TLS, 1, [define if you have TLS])
+       WITH_TLS=yes
 
 elif test $ol_with_tls = auto ; then
        AC_WARN([Could not locate TLS/SSL package])
 
 elif test $ol_with_tls = auto ; then
        AC_WARN([Could not locate TLS/SSL package])
@@ -1906,22 +1902,20 @@ if test $ol_with_ldbm_api = auto \
        fi
 fi
 
        fi
 fi
 
-if test $ol_enable_bdb = yes -a $ol_link_ldbm != berkeley ; then
-       AC_MSG_ERROR(BDB: BerkeleyDB not available)
-elif test $ol_enable_bdb != no -a $ol_link_ldbm = berkeley ; then
-       OL_BDB_COMPAT
-
-       if test $ol_cv_bdb_compat = yes ; then
-               ol_enable_bdb=yes
-       elif test $ol_enable_bdb = yes ; then
-               AC_MSG_ERROR(BDB: BerkeleyDB version incompatible)
+if test $ol_enable_bdb != no -o $ol_enable_hdb != no; then
+       if test $ol_link_ldbm != berkeley ; then
+               AC_MSG_ERROR(BDB/HDB: BerkeleyDB not available)
        else
        else
-               ol_enable_bdb=no
+               OL_BDB_COMPAT
+
+               if test $ol_cv_bdb_compat != yes ; then
+                       AC_MSG_ERROR([BDB/HDB: BerkeleyDB version incompatible])
+               fi
        fi
 fi
 
 if test $ol_link_ldbm = no -a $ol_with_ldbm_type = btree ; then
        fi
 fi
 
 if test $ol_link_ldbm = no -a $ol_with_ldbm_type = btree ; then
-       AC_MSG_WARN(Could not find LDBM with BTREE support)
+       AC_MSG_WARN([Could not find LDBM with BTREE support])
        ol_with_ldbm_api=none
 fi
 
        ol_with_ldbm_api=none
 fi
 
@@ -1964,13 +1958,13 @@ if test $ol_with_ldbm_api = ndbm ; then
 fi
 
 if test $ol_link_ldbm = no -a $ol_enable_ldbm != no ; then
 fi
 
 if test $ol_link_ldbm = no -a $ol_enable_ldbm != no ; then
-       AC_MSG_WARN(could not find suitable LDBM backend)
-       if test $ol_enable_ldbm = yes ; then
-               AC_MSG_ERROR(select appropriate LDBM options or disable)
-       fi
+       AC_MSG_ERROR([could not find suitable LDBM backend])
+fi
 
 
-       AC_MSG_WARN(disabling LDBM)
-       ol_enable_ldbm=no
+if test $ol_enable_bdb = yes -o \
+       $ol_enable_hdb = yes -o \
+       $ol_enable_ldbm = yes ; then
+       SLAPD_LIBS="$SLAPD_LIBS \$(LDBM_LIBS)"
 fi
 
 dnl ----------------------------------------------------------------
 fi
 
 dnl ----------------------------------------------------------------
@@ -2024,7 +2018,7 @@ hosts_access(req)
                AC_DEFINE(HAVE_TCPD,1, [define if you have -lwrap])
                WRAP_LIBS="-lwrap"
        elif test $ol_enable_wrappers = yes ; then
                AC_DEFINE(HAVE_TCPD,1, [define if you have -lwrap])
                WRAP_LIBS="-lwrap"
        elif test $ol_enable_wrappers = yes ; then
-               AC_MSG_ERROR([could not find TCP wrappers, select apppropriate options ore disable])
+               AC_MSG_ERROR([could not find TCP wrappers, select apppropriate options or disable])
        else
                AC_MSG_WARN([could not find TCP wrappers, support disabled])
                WRAP_LIBS=""
        else
                AC_MSG_WARN([could not find TCP wrappers, support disabled])
                WRAP_LIBS=""
@@ -2073,63 +2067,6 @@ if test $ol_enable_sql != no ; then
        fi
 fi
 
        fi
 fi
 
-dnl ----------------------------------------------------------------
-dnl TCL
-if test $ol_enable_tcl != no ; then
-       AC_CHECK_HEADERS(tcl.h)
-
-       if test $ac_cv_header_tcl_h != yes ; then
-               have_tcl=no
-       else
-               for lib in tcl tcl7.6 tcl8.0 tcl8.2 ; do
-                       AC_CHECK_LIB($lib,main,
-                         [have_tcl=yes
-                          if test x"$ol_with_tcl_module" = "xstatic" ; then
-                                       SLAPD_LIBS="$SLAPD_LIBS -l${lib}"
-                          else
-                                       MOD_TCL_LIB="-l${lib}"
-                          fi;break],[have_tcl=no])
-               done
-       fi
-
-       if test $have_tcl != yes ; then
-               AC_MSG_WARN([could not find -ltcl])
-               if test $ol_enable_tcl = yes ; then
-                       AC_MSG_ERROR([could not find tcl, select appropriate options or disable])
-               fi
-
-               ol_enable_tcl=no
-       fi
-fi
-
-dnl ----------------------------------------------------------------
-dnl ud needs termcap (should insert check here)
-ol_link_termcap=no
-AC_CHECK_HEADERS(termcap.h ncurses.h)
-
-if test $ol_link_termcap = no ; then
-       AC_CHECK_LIB(termcap, tputs, [have_termcap=yes], [have_termcap=no])
-       if test $have_termcap = yes ; then
-               AC_DEFINE(HAVE_TERMCAP, 1, [define if you have -ltermcap])
-               ol_link_termcap=yes
-               TERMCAP_LIBS=-ltermcap
-       fi
-fi
-
-if test $ol_link_termcap = no ; then
-       AC_CHECK_LIB(ncurses, initscr, [have_ncurses=yes], [have_ncurses=no])
-       if test $have_ncurses = yes ; then
-               AC_DEFINE(HAVE_NCURSES, 1, [define if you have -lncurses])
-               ol_link_termcap=yes
-               TERMCAP_LIBS=-lncurses
-       fi
-fi
-
-if test $ol_link_termcap = no ; then
-       AC_DEFINE(NO_TERMCAP,1, [define if you have no termcap support])
-       TERMCAP_LIBS=
-fi
-
 dnl ----------------------------------------------------------------
 dnl
 dnl Check for Cyrus SASL
 dnl ----------------------------------------------------------------
 dnl
 dnl Check for Cyrus SASL
@@ -2160,7 +2097,7 @@ if test $ol_with_cyrus_sasl != no ; then
                OL_SASL_COMPAT
                if test $ol_cv_sasl_compat = no ; then
                        ol_link_sasl=no
                OL_SASL_COMPAT
                if test $ol_cv_sasl_compat = no ; then
                        ol_link_sasl=no
-                       AC_MSG_ERROR([Cyrus SASL library located but incompatible])
+                       AC_MSG_ERROR([Cyrus SASL library located but is incompatible])
                fi
 
                AC_DEFINE(HAVE_CYRUS_SASL,1,[define if you have Cyrus SASL])
                fi
 
                AC_DEFINE(HAVE_CYRUS_SASL,1,[define if you have Cyrus SASL])
@@ -2214,7 +2151,7 @@ if test $ol_with_fetch != no ; then
        OL_LIB_FETCH
 
        if test $ol_cv_lib_fetch != no ; then
        OL_LIB_FETCH
 
        if test $ol_cv_lib_fetch != no ; then
-               LDIF_LIBS="$LDIF_LIBS $ol_link_fetch"
+               LUTIL_LIBS="$LUTIL_LIBS $ol_link_fetch"
                ol_link_fetch=freebsd
 
        elif test $ol_with_fetch != auto ; then
                ol_link_fetch=freebsd
 
        elif test $ol_with_fetch != auto ; then
@@ -2222,35 +2159,6 @@ if test $ol_with_fetch != no ; then
        fi 
 fi
 
        fi 
 fi
 
-dnl ----------------------------------------------------------------
-dnl
-dnl Check for GNU readline
-dnl
-ol_link_readline=no
-if test $ol_with_readline != no ; then
-       AC_CHECK_HEADERS(readline/readline.h readline/history.h)
-
-       if test $ac_cv_header_readline_readline_h = yes ; then
-               save_LIBS="$LIBS"
-               LIBS="$TERMCAP_LIBS $LIBS"
-               AC_CHECK_LIB(readline, readline, 
-                       [have_readline=yes], [have_readline=no])
-               LIBS="$save_LIBS"
-                       
-               if test $have_readline = yes ; then
-                       ol_with_readline=found
-                       ol_link_readline=yes
-
-                       READLINE_LIBS="-lreadline"
-               fi
-       fi
-fi
-
-if test $ol_link_readline = yes ; then
-       AC_DEFINE(HAVE_READLINE, 1, [define if you have -lreadline])
-fi
-
-
 dnl ----------------------------------------------------------------
 dnl FreeBSD (and others) have crypt(3) in -lcrypt
 if test $ol_enable_crypt != no ; then
 dnl ----------------------------------------------------------------
 dnl FreeBSD (and others) have crypt(3) in -lcrypt
 if test $ol_enable_crypt != no ; then
@@ -2267,12 +2175,12 @@ if test $ol_enable_crypt != no ; then
        if test $have_crypt = yes ; then
                AC_DEFINE(HAVE_CRYPT,1, [define if crypt(3) is available])
        else
        if test $have_crypt = yes ; then
                AC_DEFINE(HAVE_CRYPT,1, [define if crypt(3) is available])
        else
-               AC_MSG_WARN(could not find crypt)
+               AC_MSG_WARN([could not find crypt])
                if test $ol_enable_crypt = yes ; then
                if test $ol_enable_crypt = yes ; then
-                       AC_MSG_ERROR(could not find crypt, select appropriate options or disable)
+                       AC_MSG_ERROR([could not find crypt, select appropriate options or disable])
                fi
 
                fi
 
-               AC_MSG_WARN(disabling crypt support)
+               AC_MSG_WARN([disabling crypt support])
                ol_enable_crypt=no
        fi
 fi
                ol_enable_crypt=no
        fi
 fi
@@ -2285,7 +2193,7 @@ if test $ol_enable_proctitle != no ; then
                        [have_setproctitle=yes
                        LUTIL_LIBS="$LUTIL_LIBS -lutil"],
                        [have_setproctitle=no
                        [have_setproctitle=yes
                        LUTIL_LIBS="$LUTIL_LIBS -lutil"],
                        [have_setproctitle=no
-                       AC_LIBOBJ([setproctitle])
+                       LIBOBJS="$LIBOBJS setproctitle.o"
                        LIBSRCS="$LIBSRCS setproctitle.c"])])
 
        if test $have_setproctitle = yes ; then
                        LIBSRCS="$LIBSRCS setproctitle.c"])])
 
        if test $have_setproctitle = yes ; then
@@ -2313,15 +2221,25 @@ fi
 
 dnl ----------------------------------------------------------------
 dnl Checks for typedefs, structures, and compiler characteristics.
 
 dnl ----------------------------------------------------------------
 dnl Checks for typedefs, structures, and compiler characteristics.
+
+dnl Checks for long long
+AC_CACHE_CHECK([long long], ol_cv_type_long_long, [
+       AC_TRY_COMPILE([], [long long x;],
+               [ol_cv_type_long_long=yes],
+               [ol_cv_type_long_long=no])])
+if test $ol_cv_type_long_long = yes; then
+       AC_DEFINE(HAVE_LONG_LONG, 1, [define if you have 'long long'])
+fi
+
 AC_TYPE_MODE_T
 AC_TYPE_OFF_T
 AC_TYPE_PID_T
 AC_TYPE_MODE_T
 AC_TYPE_OFF_T
 AC_TYPE_PID_T
-AC_CHECK_TYPES([ptrdiff_t, uintmax_t])
+AM_TYPE_PTRDIFF_T
 AC_TYPE_SIGNAL
 AC_TYPE_SIZE_T
 
 AC_TYPE_SIGNAL
 AC_TYPE_SIZE_T
 
-AC_CHECK_TYPES([ssize_t, signed int])
-AC_CHECK_TYPES([caddr_t, char *])
+AC_CHECK_TYPE(ssize_t, [signed int])
+AC_CHECK_TYPE(caddr_t, [char *])
 
 OL_TYPE_SOCKLEN_T
 AC_STRUCT_ST_BLKSIZE
 
 OL_TYPE_SOCKLEN_T
 AC_STRUCT_ST_BLKSIZE
@@ -2340,14 +2258,16 @@ AC_C_CONST
 OL_C_VOLATILE
 
 if test $cross_compiling = yes ; then
 OL_C_VOLATILE
 
 if test $cross_compiling = yes ; then
+       AC_MSG_WARN([Crossing compiling... all bets are off!])
        AC_DEFINE(CROSS_COMPILING, 1, [define if cross compiling])
 else
        AC_C_BIGENDIAN
 fi
 
        AC_DEFINE(CROSS_COMPILING, 1, [define if cross compiling])
 else
        AC_C_BIGENDIAN
 fi
 
-AC_CHECK_SIZEOF(short) 
-AC_CHECK_SIZEOF(int) 
-AC_CHECK_SIZEOF(long)
+AC_COMPILE_CHECK_SIZEOF(short) 
+AC_COMPILE_CHECK_SIZEOF(int) 
+AC_COMPILE_CHECK_SIZEOF(long)
+AC_COMPILE_CHECK_SIZEOF(wchar_t)
 
 if test "$ac_cv_sizeof_int" -lt 4 ; then
        AC_MSG_WARN([OpenLDAP requires 'int' to be 32 bits or greater.])
 
 if test "$ac_cv_sizeof_int" -lt 4 ; then
        AC_MSG_WARN([OpenLDAP requires 'int' to be 32 bits or greater.])
@@ -2433,6 +2353,9 @@ AC_CHECK_FUNCS(           \
        strstr                  \
        strtol                  \
        strtoul                 \
        strstr                  \
        strtol                  \
        strtoul                 \
+       strtoq                  \
+       strtouq                 \
+       strtoll                 \
        strspn                  \
        sysconf                 \
        usleep                  \
        strspn                  \
        sysconf                 \
        usleep                  \
@@ -2471,7 +2394,7 @@ dnl ----------------------------------------------------------------
 dnl Sort out defines
 
 if test "$ol_enable_slapi" != no ; then
 dnl Sort out defines
 
 if test "$ol_enable_slapi" != no ; then
-       dnl This check is donel also if --enable-modules is used;
+       dnl This check is done also if --enable-modules is used;
        dnl it is duplicated here, 'cause it'd be cached anyway
        AC_CHECK_HEADERS(ltdl.h)
 
        dnl it is duplicated here, 'cause it'd be cached anyway
        AC_CHECK_HEADERS(ltdl.h)
 
@@ -2480,7 +2403,7 @@ if test "$ol_enable_slapi" != no ; then
        fi
        AC_CHECK_LIB(ltdl, lt_dlinit, [
                SLAPI_LIBS=-lltdl
        fi
        AC_CHECK_LIB(ltdl, lt_dlinit, [
                SLAPI_LIBS=-lltdl
-               LIBSLAPI=./libslapi.a
+               LIBSLAPI=libslapi.a
                LIBSLAPITOOLS=../libslapi.a
                AC_DEFINE(HAVE_LIBLTDL,1,[define if you have libtool -ltdl])
        ],[AC_MSG_ERROR([could not locate libtool -lltdl])])
                LIBSLAPITOOLS=../libslapi.a
                AC_DEFINE(HAVE_LIBLTDL,1,[define if you have libtool -ltdl])
        ],[AC_MSG_ERROR([could not locate libtool -lltdl])])
@@ -2518,18 +2441,12 @@ fi
 if test "$ol_enable_crypt" != no ; then
        AC_DEFINE(SLAPD_CRYPT,1,[define to support crypt(3) passwords])
 fi
 if test "$ol_enable_crypt" != no ; then
        AC_DEFINE(SLAPD_CRYPT,1,[define to support crypt(3) passwords])
 fi
-if test "$ol_link_kpasswd" != no ; then
-       AC_DEFINE(SLAPD_KPASSWD,1,[define to support Kerberos passwords])
-fi
 if test "$ol_link_spasswd" != no ; then
        AC_DEFINE(SLAPD_SPASSWD,1,[define to support SASL passwords])
 fi
 if test "$ol_enable_multimaster" != no ; then
        AC_DEFINE(SLAPD_MULTIMASTER,1,[define to support multimaster replication])
 fi
 if test "$ol_link_spasswd" != no ; then
        AC_DEFINE(SLAPD_SPASSWD,1,[define to support SASL passwords])
 fi
 if test "$ol_enable_multimaster" != no ; then
        AC_DEFINE(SLAPD_MULTIMASTER,1,[define to support multimaster replication])
 fi
-if test "$ol_enable_phonetic" != no ; then
-       AC_DEFINE(SLAPD_PHONETIC,1,[define to support phonetic])
-fi
 if test "$ol_enable_rlookups" != no ; then
        AC_DEFINE(SLAPD_RLOOKUPS,1,[define to support reverse lookups])
 fi
 if test "$ol_enable_rlookups" != no ; then
        AC_DEFINE(SLAPD_RLOOKUPS,1,[define to support reverse lookups])
 fi
@@ -2543,195 +2460,280 @@ if test "$ol_link_modules" != no ; then
        SLAPD_MODULES_LDFLAGS="-dlopen self"
 fi
 
        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_bdb" != no ; then
 if test "$ol_enable_bdb" != no ; then
-       AC_DEFINE(SLAPD_BDB,1,[define to support BDB backend])
        BUILD_SLAPD=yes
        BUILD_SLAPD=yes
-       BUILD_BDB=yes
-       if test "$ol_with_bdb_module" != static ; then
-               AC_DEFINE(SLAPD_BDB_DYNAMIC,1,
-                       [define to support dynamic BDB backend])
-               BUILD_BDB=mod
-               BUILD_BDB_DYNAMIC=shared
+       BUILD_BDB=$ol_enable_bdb
+       if test "$ol_enable_bdb" = mod ; then
                SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-bdb"
                SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-bdb"
+               MFLAG=SLAPD_MOD_DYNAMIC
        else
                SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-bdb"
        else
                SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-bdb"
+               MFLAG=SLAPD_MOD_STATIC
        fi
        fi
+       AC_DEFINE_UNQUOTED(SLAPD_BDB,$MFLAG,[define to support BDB backend])
 fi
 
 fi
 
-if test "$ol_link_dnssrv" != no ; then
-       AC_DEFINE(SLAPD_DNSSRV,1,[define to support DNS SRV backend])
+if test "$ol_enable_dnssrv" != no ; then
        BUILD_SLAPD=yes
        BUILD_SLAPD=yes
-       BUILD_DNSSRV=yes
-       if test "$ol_with_dnssrv_module" != static ; then
-               AC_DEFINE(SLAPD_DNSSRV_DYNAMIC,1,
-                       [define to support dynamic DNS SRV backend])
-               BUILD_DNSSRV=mod
-               BUILD_DNSSRV_DYNAMIC=shared
+       BUILD_DNSSRV=$ol_enable_dnssrv
+       if test "$ol_enable_dnssrv" = mod ; then
                SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-dnssrv"
                SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-dnssrv"
+               MFLAG=SLAPD_MOD_DYNAMIC
        else
                SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-dnssrv"
        else
                SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-dnssrv"
+               MFLAG=SLAPD_MOD_STATIC
        fi
        fi
+       AC_DEFINE_UNQUOTED(SLAPD_DNSSRV,$MFLAG,[define to support DNS SRV backend])
+fi
+
+if test "$ol_enable_hdb" != no ; then
+       BUILD_SLAPD=yes
+       BUILD_HDB=$ol_enable_hdb
+       if test "$ol_enable_hdb" = mod ; then
+               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-hdb"
+               MFLAG=SLAPD_MOD_DYNAMIC
+       else
+               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-hdb"
+               MFLAG=SLAPD_MOD_STATIC
+       fi
+       AC_DEFINE_UNQUOTED(SLAPD_HDB,$MFLAG,[define to support HDB backend])
 fi
 
 if test "$ol_enable_ldap" != no ; then
 fi
 
 if test "$ol_enable_ldap" != no ; then
-       AC_DEFINE(SLAPD_LDAP,1,[define to support LDAP backend])
        BUILD_SLAPD=yes
        BUILD_SLAPD=yes
-       BUILD_LDAP=yes
-       if test "$ol_with_ldap_module" != static ; then
-               AC_DEFINE(SLAPD_LDAP_DYNAMIC,1,
-                       [define to support dynamic LDAP backend])
-               BUILD_LDAP=mod
-               BUILD_LDAP_DYNAMIC=shared
+       BUILD_LDAP=$ol_enable_ldap
+       if test "$ol_enable_ldap" = mod ; then
                SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldap"
                SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldap"
+               MFLAG=SLAPD_MOD_DYNAMIC
        else
                SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldap"
        else
                SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldap"
+               MFLAG=SLAPD_MOD_STATIC
        fi
        fi
+       AC_DEFINE_UNQUOTED(SLAPD_LDAP,$MFLAG,[define to support LDAP backend])
 fi
 
 if test "$ol_link_ldbm" != no -a $ol_enable_ldbm != no; then
 fi
 
 if test "$ol_link_ldbm" != no -a $ol_enable_ldbm != no; then
-       AC_DEFINE(SLAPD_LDBM,1,[define to support LDBM backend])
        BUILD_SLAPD=yes
        BUILD_SLAPD=yes
-       BUILD_LDBM=yes
-       if test "$ol_with_ldbm_module" != static ; then
-               AC_DEFINE(SLAPD_LDBM_DYNAMIC,1,
-                       [define to support dynamic LDBM backend])
-               BUILD_LDBM=mod
-               BUILD_LDBM_DYNAMIC=shared
+       BUILD_LDBM=$ol_enable_ldbm
+       if test "$ol_enable_ldbm" = mod ; then
                SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldbm"
                SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldbm"
+               MFLAG=SLAPD_MOD_DYNAMIC
        else
                SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldbm"
        else
                SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldbm"
+               MFLAG=SLAPD_MOD_STATIC
        fi
        fi
+       AC_DEFINE_UNQUOTED(SLAPD_LDBM,$MFLAG,[define to support LDBM backend])
 fi
 
 if test "$ol_enable_meta" != no ; then
 fi
 
 if test "$ol_enable_meta" != no ; then
-       if test "$ol_enable_ldap" = no ; then
-               AC_MSG_ERROR([need --enable-ldap to use --enable-meta])
-       fi
-       if test "$ol_enable_rewrite" = no ; then
-               AC_MSG_ERROR([need --enable-rewrite to use --enable-meta])
-       fi
-       AC_DEFINE(SLAPD_META,1,[define to support LDAP Metadirectory backend])
        BUILD_SLAPD=yes
        BUILD_SLAPD=yes
-       BUILD_META=yes
-       BUILD_LDAP=yes
+       BUILD_META=$ol_enable_meta
        BUILD_REWRITE=yes
        BUILD_REWRITE=yes
-       if test "$ol_with_meta_module" != static ; then
-               AC_DEFINE(SLAPD_META_DYNAMIC,1,
-                       [define to support dynamic LDAP Metadirectory backend])
-               BUILD_META=mod
-               BUILD_META_DYNAMIC=shared
+       if test "$ol_enable_meta" = mod ; then
                SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-meta"
                SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-meta"
+               MFLAG=SLAPD_MOD_DYNAMIC
        else
                SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-meta"
        else
                SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-meta"
+               MFLAG=SLAPD_MOD_STATIC
        fi
        fi
+       AC_DEFINE_UNQUOTED(SLAPD_META,$MFLAG,[define to support LDAP Metadirectory backend])
 fi
 
 if test "$ol_enable_monitor" != no ; then
 fi
 
 if test "$ol_enable_monitor" != no ; then
-       AC_DEFINE(SLAPD_MONITOR,1,[define to support cn=Monitor backend])
        BUILD_SLAPD=yes
        BUILD_SLAPD=yes
-       BUILD_MONITOR=yes
-       if test "$ol_with_monitor_module" != static ; then
-               AC_DEFINE(SLAPD_MONITOR_DYNAMIC,1,
-                       [define to support dynamic cn=Monitor backend])
-               BUILD_MONITOR=mod
-               BUILD_MONITOR_DYNAMIC=shared
+       BUILD_MONITOR=$ol_enable_monitor
+       if test "$ol_enable_monitor" = mod ; then
                SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-monitor"
                SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-monitor"
+               MFLAG=SLAPD_MOD_DYNAMIC
        else
                SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-monitor"
        else
                SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-monitor"
+               MFLAG=SLAPD_MOD_STATIC
        fi
        fi
+       AC_DEFINE_UNQUOTED(SLAPD_MONITOR,$MFLAG,[define to support cn=Monitor backend])
 fi
 
 if test "$ol_enable_null" != no ; then
 fi
 
 if test "$ol_enable_null" != no ; then
-       AC_DEFINE(SLAPD_NULL,1,[define to support NULL backend])
        BUILD_SLAPD=yes
        BUILD_SLAPD=yes
-       BUILD_NULL=yes
-       if test "$ol_with_null_module" != static ; then
-               AC_DEFINE(SLAPD_NULL_DYNAMIC,1,
-                       [define to support dynamic NULL backend])
-               BUILD_NULL=mod
-               BUILD_NULL_DYNAMIC=shared
+       BUILD_NULL=$ol_enable_null
+       if test "$ol_enable_null" = mod ; then
                SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-null"
                SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-null"
+               MFLAG=SLAPD_MOD_DYNAMIC
        else
                SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-null"
        else
                SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-null"
+               MFLAG=SLAPD_MOD_STATIC
        fi
        fi
+       AC_DEFINE_UNQUOTED(SLAPD_NULL,$MFLAG,[define to support NULL backend])
 fi
 
 if test "$ol_enable_passwd" != no ; then
 fi
 
 if test "$ol_enable_passwd" != no ; then
-       AC_DEFINE(SLAPD_PASSWD,1,[define to support PASSWD backend])
        BUILD_SLAPD=yes
        BUILD_SLAPD=yes
-       BUILD_PASSWD=yes
-       if test "$ol_with_passwd_module" != static ; then
-               AC_DEFINE(SLAPD_PASSWD_DYNAMIC,1,
-                       [define to support dynamic PASSWD backend])
-               BUILD_PASSWD=mod
-               BUILD_PASSWD_DYNAMIC=shared
+       BUILD_PASSWD=$ol_enable_passwd
+       if test "$ol_enable_passwd" = mod ; then
                SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-passwd"
                SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-passwd"
+               MFLAG=SLAPD_MOD_DYNAMIC
        else
                SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-passwd"
        else
                SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-passwd"
+               MFLAG=SLAPD_MOD_STATIC
        fi
        fi
+       AC_DEFINE_UNQUOTED(SLAPD_PASSWD,$MFLAG,[define to support PASSWD backend])
 fi
 
 if test "$ol_link_perl" != no ; then
 fi
 
 if test "$ol_link_perl" != no ; then
-       AC_DEFINE(SLAPD_PERL,1,[define to support PERL backend])
        BUILD_SLAPD=yes
        BUILD_SLAPD=yes
-       BUILD_PERL=yes
-       if test "$ol_with_perl_module" != static ; then
-               AC_DEFINE(SLAPD_PERL_DYNAMIC,1,
-                       [define to support dynamic PERL backend])
-               BUILD_PERL=mod
-               BUILD_PERL_DYNAMIC=shared
+       BUILD_PERL=$ol_enable_perl
+       if test "$ol_enable_perl" = mod ; then
                SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-perl"
                SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-perl"
+               MFLAG=SLAPD_MOD_DYNAMIC
        else
                SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-perl"
        else
                SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-perl"
+               MFLAG=SLAPD_MOD_STATIC
        fi
        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_shell" != no ; then
        if test "$ol_link_thread" != no ; then
                AC_MSG_WARN([Use of --without-threads is recommended with back-shell])
        fi
 fi
 
 if test "$ol_enable_shell" != no ; then
        if test "$ol_link_thread" != no ; then
                AC_MSG_WARN([Use of --without-threads is recommended with back-shell])
        fi
-       AC_DEFINE(SLAPD_SHELL,1,[define to support SHELL backend])
        BUILD_SLAPD=yes
        BUILD_SLAPD=yes
-       BUILD_SHELL=yes
-       if test "$ol_with_shell_module" != static ; then
-               AC_DEFINE(SLAPD_SHELL_DYNAMIC,1,
-                       [define to support dynamic SHELL backend])
-               BUILD_SHELL=mod
-               BUILD_SHELL_DYNAMIC=shared
+       BUILD_SHELL=$ol_enable_shell
+       if test "$ol_enable_shell" = mod ; then
                SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-shell"
                SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-shell"
+               MFLAG=SLAPD_MOD_DYNAMIC
        else
                SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-shell"
        else
                SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-shell"
+               MFLAG=SLAPD_MOD_STATIC
        fi
        fi
+       AC_DEFINE_UNQUOTED(SLAPD_SHELL,$MFLAG,[define to support SHELL backend])
 fi
 
 fi
 
-if test "$ol_enable_tcl" != no ; then
-       AC_DEFINE(SLAPD_TCL,1,[define to support TCL backend])
+if test "$ol_link_sql" != no ; then
        BUILD_SLAPD=yes
        BUILD_SLAPD=yes
-       BUILD_TCL=yes
-       if test "$ol_with_tcl_module" != static; then
-               AC_DEFINE(SLAPD_TCL_DYNAMIC,1,
-                       [define to support dynamic TCL backend])
-               BUILD_TCL=mod
-               BUILD_TCL_DYNAMIC=shared
-               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-tcl"
+       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
        else
-               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-tcl"
+               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-sql"
+               MFLAG=SLAPD_MOD_STATIC
        fi
        fi
+       AC_DEFINE_UNQUOTED(SLAPD_SQL,$MFLAG,[define to support SQL backend])
 fi
 
 fi
 
-if test "$ol_link_sql" != no ; then
-       AC_DEFINE(SLAPD_SQL,1,[define to support SQL backend])
-       BUILD_SLAPD=yes
-       BUILD_SQL=yes
-       if test "$ol_with_sql_module" != static; then
-               AC_DEFINE(SLAPD_SQL_DYNAMIC,1,
-                       [define to support dynamic SQL backend])
-               BUILD_SQL=mod
-               BUILD_SQL_DYNAMIC=shared
-               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-sql"
+if test "$ol_enable_chain" != no ; then
+       BUILD_CHAIN=$ol_enable_chain
+       if test "$ol_enable_chain" = mod ; then
+               MFLAG=SLAPD_MOD_DYNAMIC
+               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS chain.la"
        else
        else
-               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-sql"
+               MFLAG=SLAPD_MOD_STATIC
+       fi
+       AC_DEFINE_UNQUOTED(SLAPD_OVER_CHAIN,$MFLAG,[define for Dynamic Group overlay])
+fi
+
+if test "$ol_enable_denyop" != no ; then
+       BUILD_DENYOP=$ol_enable_denyop
+       if test "$ol_enable_denyop" = mod ; then
+               MFLAG=SLAPD_MOD_DYNAMIC
+               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS denyop.la"
+       else
+               MFLAG=SLAPD_MOD_STATIC
+       fi
+       AC_DEFINE_UNQUOTED(SLAPD_OVER_DENYOP,$MFLAG,[define for Dynamic Group overlay])
+fi
+
+if test "$ol_enable_dyngroup" != no ; then
+       BUILD_DYNGROUP=$ol_enable_dyngroup
+       if test "$ol_enable_dyngroup" = mod ; then
+               MFLAG=SLAPD_MOD_DYNAMIC
+               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dyngroup.la"
+       else
+               MFLAG=SLAPD_MOD_STATIC
+       fi
+       AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNGROUP,$MFLAG,[define for Dynamic Group overlay])
+fi
+
+if test "$ol_enable_lastmod" != no ; then
+       BUILD_LASTMOD=$ol_enable_lastmod
+       if test "$ol_enable_lastmod" = mod ; then
+               MFLAG=SLAPD_MOD_DYNAMIC
+               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS lastmod.la"
+       else
+               MFLAG=SLAPD_MOD_STATIC
+       fi
+       AC_DEFINE_UNQUOTED(SLAPD_OVER_LASTMOD,$MFLAG,[define for Last Modification overlay])
+fi
+
+if test "$ol_enable_ppolicy" != no ; then
+       BUILD_PPOLICY=$ol_enable_ppolicy
+       if test "$ol_enable_ppolicy" = mod ; then
+               MFLAG=SLAPD_MOD_DYNAMIC
+               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS ppolicy.la"
+       else
+               MFLAG=SLAPD_MOD_STATIC
+       fi
+       AC_DEFINE_UNQUOTED(SLAPD_OVER_PPOLICY,$MFLAG,[define for Password Policy overlay])
+fi
+
+if test "$ol_enable_proxycache" != no ; then
+       BUILD_PROXYCACHE=$ol_enable_proxycache
+       if test "$ol_enable_proxycache" = mod ; then
+               MFLAG=SLAPD_MOD_DYNAMIC
+               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS pcache.la"
+       else
+               MFLAG=SLAPD_MOD_STATIC
+       fi
+       AC_DEFINE_UNQUOTED(SLAPD_OVER_PROXYCACHE,$MFLAG,[define for Proxy Cache overlay])
+fi
+
+if test "$ol_enable_refint" != no ; then
+       BUILD_REFINT=$ol_enable_refint
+       if test "$ol_enable_refint" = mod ; then
+               MFLAG=SLAPD_MOD_DYNAMIC
+               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS refint.la"
+       else
+               MFLAG=SLAPD_MOD_STATIC
+       fi
+       AC_DEFINE_UNQUOTED(SLAPD_OVER_REFINT,$MFLAG,[define for Referential Integrity overlay])
+fi
+
+if test "$ol_enable_rwm" != no ; then
+       BUILD_REWRITE=yes
+       BUILD_RWM=$ol_enable_rwm
+       if test "$ol_enable_rwm" = mod ; then
+               MFLAG=SLAPD_MOD_DYNAMIC
+               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS rwm.la"
+       else
+               MFLAG=SLAPD_MOD_STATIC
        fi
        fi
+       AC_DEFINE_UNQUOTED(SLAPD_OVER_RWM,$MFLAG,[define for Rewrite/Remap overlay])
+fi
+
+if test "$ol_enable_unique" != no ; then
+       BUILD_UNIQUE=$ol_enable_unique
+       if test "$ol_enable_unique" = mod ; then
+               MFLAG=SLAPD_MOD_DYNAMIC
+               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS unique.la"
+       else
+               MFLAG=SLAPD_MOD_STATIC
+       fi
+       AC_DEFINE_UNQUOTED(SLAPD_OVER_UNIQUE,$MFLAG,[define for Attribute Uniqueness overlay])
 fi
 
 if test "$ol_enable_slurpd" != no -a "$ol_link_threads" != no -a \
 fi
 
 if test "$ol_enable_slurpd" != no -a "$ol_link_threads" != no -a \
@@ -2772,46 +2774,46 @@ fi
 
 AC_SUBST(LIBSRCS)
 AC_SUBST(PLAT)
 
 AC_SUBST(LIBSRCS)
 AC_SUBST(PLAT)
+AC_SUBST(WITH_TLS)
 AC_SUBST(BUILD_LIBS_DYNAMIC)
 
 AC_SUBST(BUILD_SLAPD)
 AC_SUBST(BUILD_LIBS_DYNAMIC)
 
 AC_SUBST(BUILD_SLAPD)
+dnl slapi
   AC_SUBST(BUILD_SLAPI)
   AC_SUBST(SLAPD_SLAPI_DEPEND)
   AC_SUBST(BUILD_SLAPI)
   AC_SUBST(SLAPD_SLAPI_DEPEND)
+dnl backends
   AC_SUBST(BUILD_BDB)
   AC_SUBST(BUILD_DNSSRV)
   AC_SUBST(BUILD_BDB)
   AC_SUBST(BUILD_DNSSRV)
+  AC_SUBST(BUILD_HDB)
   AC_SUBST(BUILD_LDAP)
   AC_SUBST(BUILD_LDBM)
   AC_SUBST(BUILD_META)
   AC_SUBST(BUILD_MONITOR)
   AC_SUBST(BUILD_NULL)
   AC_SUBST(BUILD_PASSWD)
   AC_SUBST(BUILD_LDAP)
   AC_SUBST(BUILD_LDBM)
   AC_SUBST(BUILD_META)
   AC_SUBST(BUILD_MONITOR)
   AC_SUBST(BUILD_NULL)
   AC_SUBST(BUILD_PASSWD)
+  AC_SUBST(BUILD_RELAY)
   AC_SUBST(BUILD_PERL)
   AC_SUBST(BUILD_SHELL)
   AC_SUBST(BUILD_SQL)
   AC_SUBST(BUILD_PERL)
   AC_SUBST(BUILD_SHELL)
   AC_SUBST(BUILD_SQL)
-  AC_SUBST(BUILD_TCL)
-  AC_SUBST(BUILD_BDB_DYNAMIC)
-  AC_SUBST(BUILD_DNSSRV_DYNAMIC)
-  AC_SUBST(BUILD_LDAP_DYNAMIC)
-  AC_SUBST(BUILD_LDBM_DYNAMIC)
-  AC_SUBST(BUILD_META_DYNAMIC)
-  AC_SUBST(BUILD_MONITOR_DYNAMIC)
-  AC_SUBST(BUILD_NULL_DYNAMIC)
-  AC_SUBST(BUILD_PASSWD_DYNAMIC)
-  AC_SUBST(BUILD_PERL_DYNAMIC)
-  AC_SUBST(BUILD_SHELL_DYNAMIC)
-  AC_SUBST(BUILD_SQL_DYNAMIC)
-  AC_SUBST(BUILD_TCL_DYNAMIC)
+dnl overlays
+  AC_SUBST(BUILD_CHAIN)
+  AC_SUBST(BUILD_DENYOP)
+  AC_SUBST(BUILD_DYNGROUP)
+  AC_SUBST(BUILD_LASTMOD)
+  AC_SUBST(BUILD_PPOLICY)
+  AC_SUBST(BUILD_PROXYCACHE)
+  AC_SUBST(BUILD_REFINT)
+  AC_SUBST(BUILD_RWM)
+  AC_SUBST(BUILD_UNIQUE)
 AC_SUBST(BUILD_SLURPD)
 
 AC_SUBST(LDAP_LIBS)
 AC_SUBST(BUILD_SLURPD)
 
 AC_SUBST(LDAP_LIBS)
-AC_SUBST(LDIF_LIBS)
 AC_SUBST(SLAPD_LIBS)
 AC_SUBST(SLURPD_LIBS)
 AC_SUBST(LDBM_LIBS)
 AC_SUBST(LTHREAD_LIBS)
 AC_SUBST(LUTIL_LIBS)
 AC_SUBST(WRAP_LIBS)
 AC_SUBST(SLAPD_LIBS)
 AC_SUBST(SLURPD_LIBS)
 AC_SUBST(LDBM_LIBS)
 AC_SUBST(LTHREAD_LIBS)
 AC_SUBST(LUTIL_LIBS)
 AC_SUBST(WRAP_LIBS)
-AC_SUBST(MOD_TCL_LIB)
 
 AC_SUBST(SLAPD_MODULES_CPPFLAGS)
 AC_SUBST(SLAPD_MODULES_LDFLAGS)
 
 AC_SUBST(SLAPD_MODULES_CPPFLAGS)
 AC_SUBST(SLAPD_MODULES_LDFLAGS)
@@ -2819,6 +2821,7 @@ AC_SUBST(SLAPD_MODULES_LDFLAGS)
 AC_SUBST(SLAPD_NO_STATIC)
 AC_SUBST(SLAPD_STATIC_BACKENDS)
 AC_SUBST(SLAPD_DYNAMIC_BACKENDS)
 AC_SUBST(SLAPD_NO_STATIC)
 AC_SUBST(SLAPD_STATIC_BACKENDS)
 AC_SUBST(SLAPD_DYNAMIC_BACKENDS)
+AC_SUBST(SLAPD_DYNAMIC_OVERLAYS)
 
 AC_SUBST(PERL_CPPFLAGS)
 AC_SUBST(SLAPD_PERL_LDFLAGS)
 
 AC_SUBST(PERL_CPPFLAGS)
 AC_SUBST(SLAPD_PERL_LDFLAGS)
@@ -2826,9 +2829,7 @@ AC_SUBST(MOD_PERL_LDFLAGS)
 
 AC_SUBST(KRB4_LIBS)
 AC_SUBST(KRB5_LIBS)
 
 AC_SUBST(KRB4_LIBS)
 AC_SUBST(KRB5_LIBS)
-AC_SUBST(READLINE_LIBS)
 AC_SUBST(SASL_LIBS)
 AC_SUBST(SASL_LIBS)
-AC_SUBST(TERMCAP_LIBS)
 AC_SUBST(TLS_LIBS)
 AC_SUBST(MODULES_LIBS)
 AC_SUBST(SLAPI_LIBS)
 AC_SUBST(TLS_LIBS)
 AC_SUBST(MODULES_LIBS)
 AC_SUBST(SLAPI_LIBS)
@@ -2848,47 +2849,51 @@ AC_ARG_WITH(xxinstall,[
 See INSTALL file for further details.])
 
 dnl ----------------------------------------------------------------
 See INSTALL file for further details.])
 
 dnl ----------------------------------------------------------------
-AC_CONFIG_FILES(Makefile:build/top.mk:Makefile.in:build/dir.mk)
-AC_CONFIG_FILES(doc/Makefile:build/top.mk:doc/Makefile.in:build/dir.mk)
-AC_CONFIG_FILES(doc/man/Makefile:build/top.mk:doc/man/Makefile.in:build/dir.mk)
-AC_CONFIG_FILES(doc/man/man1/Makefile:build/top.mk:doc/man/man1/Makefile.in:build/man.mk)
-AC_CONFIG_FILES(doc/man/man3/Makefile:build/top.mk:doc/man/man3/Makefile.in:build/man.mk)
-AC_CONFIG_FILES(doc/man/man5/Makefile:build/top.mk:doc/man/man5/Makefile.in:build/man.mk)
-AC_CONFIG_FILES(doc/man/man8/Makefile:build/top.mk:doc/man/man8/Makefile.in:build/man.mk)
-AC_CONFIG_FILES(clients/Makefile:build/top.mk:clients/Makefile.in:build/dir.mk)
-AC_CONFIG_FILES(clients/tools/Makefile:build/top.mk:clients/tools/Makefile.in:build/rules.mk)
-AC_CONFIG_FILES(include/Makefile:build/top.mk:include/Makefile.in)
-AC_CONFIG_FILES(libraries/Makefile:build/top.mk:libraries/Makefile.in:build/dir.mk)
-AC_CONFIG_FILES(libraries/libavl/Makefile:build/top.mk:libraries/libavl/Makefile.in:build/lib.mk:build/lib-static.mk)
-AC_CONFIG_FILES(libraries/liblber/Makefile:build/top.mk:libraries/liblber/Makefile.in:build/lib.mk:build/lib-shared.mk)
-AC_CONFIG_FILES(libraries/libldap/Makefile:build/top.mk:libraries/libldap/Makefile.in:build/lib.mk:build/lib-shared.mk)
-AC_CONFIG_FILES(libraries/libldap_r/Makefile:build/top.mk:libraries/libldap_r/Makefile.in:build/lib.mk:build/lib-shared.mk)
-AC_CONFIG_FILES(libraries/libldbm/Makefile:build/top.mk:libraries/libldbm/Makefile.in:build/lib.mk:build/lib-static.mk)
-AC_CONFIG_FILES(libraries/libldif/Makefile:build/top.mk:libraries/libldif/Makefile.in:build/lib.mk:build/lib-static.mk)
-AC_CONFIG_FILES(libraries/liblunicode/Makefile:build/top.mk:libraries/liblunicode/Makefile.in:build/lib.mk:build/lib-static.mk)
-AC_CONFIG_FILES(libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk:build/lib-static.mk)
-AC_CONFIG_FILES(libraries/librewrite/Makefile:build/top.mk:libraries/librewrite/Makefile.in:build/lib.mk:build/lib-static.mk)
-AC_CONFIG_FILES(servers/Makefile:build/top.mk:servers/Makefile.in:build/dir.mk)
-AC_CONFIG_FILES(servers/slapd/Makefile:build/top.mk:servers/slapd/Makefile.in:build/srv.mk)
-AC_CONFIG_FILES(servers/slapd/back-bdb/Makefile:build/top.mk:servers/slapd/back-bdb/Makefile.in:build/mod.mk)
-AC_CONFIG_FILES(servers/slapd/back-dnssrv/Makefile:build/top.mk:servers/slapd/back-dnssrv/Makefile.in:build/mod.mk)
-AC_CONFIG_FILES(servers/slapd/back-ldap/Makefile:build/top.mk:servers/slapd/back-ldap/Makefile.in:build/mod.mk)
-AC_CONFIG_FILES(servers/slapd/back-ldbm/Makefile:build/top.mk:servers/slapd/back-ldbm/Makefile.in:build/mod.mk)
-AC_CONFIG_FILES(servers/slapd/back-meta/Makefile:build/top.mk:servers/slapd/back-meta/Makefile.in:build/mod.mk)
-AC_CONFIG_FILES(servers/slapd/back-monitor/Makefile:build/top.mk:servers/slapd/back-monitor/Makefile.in:build/mod.mk)
-AC_CONFIG_FILES(servers/slapd/back-null/Makefile:build/top.mk:servers/slapd/back-null/Makefile.in:build/mod.mk)
-AC_CONFIG_FILES(servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/back-passwd/Makefile.in:build/mod.mk)
-AC_CONFIG_FILES(servers/slapd/back-perl/Makefile:build/top.mk:servers/slapd/back-perl/Makefile.in:build/mod.mk)
-AC_CONFIG_FILES(servers/slapd/back-shell/Makefile:build/top.mk:servers/slapd/back-shell/Makefile.in:build/mod.mk)
-AC_CONFIG_FILES(servers/slapd/back-sql/Makefile:build/top.mk:servers/slapd/back-sql/Makefile.in:build/mod.mk)
-AC_CONFIG_FILES(servers/slapd/back-tcl/Makefile:build/top.mk:servers/slapd/back-tcl/Makefile.in:build/mod.mk)
-AC_CONFIG_FILES(servers/slapd/shell-backends/Makefile:build/top.mk:servers/slapd/shell-backends/Makefile.in:build/srv.mk)
-AC_CONFIG_FILES(servers/slapd/slapi/Makefile:build/top.mk:servers/slapd/slapi/Makefile.in:build/lib.mk:build/lib-shared.mk)
-AC_CONFIG_FILES(servers/slapd/tools/Makefile:build/top.mk:servers/slapd/tools/Makefile.in)
-AC_CONFIG_FILES(servers/slurpd/Makefile:build/top.mk:servers/slurpd/Makefile.in:build/srv.mk)
-AC_CONFIG_FILES(tests/Makefile:build/top.mk:tests/Makefile.in:build/dir.mk)
-AC_CONFIG_FILES(tests/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk)
-
-AC_CONFIG_COMMANDS([time-stamp], [date >stamp-h
-echo Please run \"make depend\" to build dependencies])
-AC_OUTPUT
+dnl final output
+dnl
+
+AC_OUTPUT( \
+Makefile:build/top.mk:Makefile.in:build/dir.mk \
+doc/Makefile:build/top.mk:doc/Makefile.in:build/dir.mk \
+doc/man/Makefile:build/top.mk:doc/man/Makefile.in:build/dir.mk \
+doc/man/man1/Makefile:build/top.mk:doc/man/man1/Makefile.in:build/man.mk \
+doc/man/man3/Makefile:build/top.mk:doc/man/man3/Makefile.in:build/man.mk \
+doc/man/man5/Makefile:build/top.mk:doc/man/man5/Makefile.in:build/man.mk \
+doc/man/man8/Makefile:build/top.mk:doc/man/man8/Makefile.in:build/man.mk \
+clients/Makefile:build/top.mk:clients/Makefile.in:build/dir.mk \
+clients/tools/Makefile:build/top.mk:clients/tools/Makefile.in:build/rules.mk \
+include/Makefile:build/top.mk:include/Makefile.in \
+libraries/Makefile:build/top.mk:libraries/Makefile.in:build/dir.mk     \
+libraries/liblber/Makefile:build/top.mk:libraries/liblber/Makefile.in:build/lib.mk:build/lib-shared.mk \
+libraries/libldap/Makefile:build/top.mk:libraries/libldap/Makefile.in:build/lib.mk:build/lib-shared.mk \
+libraries/libldap_r/Makefile:build/top.mk:libraries/libldap_r/Makefile.in:build/lib.mk:build/lib-shared.mk     \
+libraries/liblunicode/Makefile:build/top.mk:libraries/liblunicode/Makefile.in:build/lib.mk:build/lib-static.mk \
+libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk:build/lib-static.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-bdb/Makefile:build/top.mk:servers/slapd/back-bdb/Makefile.in:build/mod.mk \
+servers/slapd/back-dnssrv/Makefile:build/top.mk:servers/slapd/back-dnssrv/Makefile.in:build/mod.mk \
+servers/slapd/back-hdb/Makefile:build/top.mk:servers/slapd/back-hdb/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-ldbm/Makefile:build/top.mk:servers/slapd/back-ldbm/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-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-shell/Makefile:build/top.mk:servers/slapd/back-shell/Makefile.in:build/mod.mk \
+servers/slapd/back-sql/Makefile:build/top.mk:servers/slapd/back-sql/Makefile.in:build/mod.mk \
+servers/slapd/shell-backends/Makefile:build/top.mk:servers/slapd/shell-backends/Makefile.in:build/srv.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/slurpd/Makefile:build/top.mk:servers/slurpd/Makefile.in:build/srv.mk \
+tests/Makefile:build/top.mk:tests/Makefile.in:build/dir.mk \
+tests/run \
+tests/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk \
+,[
+chmod +x tests/run
+date > stamp-h
+echo Please run \"make depend\" to build dependencies
+])