]> git.sur5r.net Git - openldap/blobdiff - configure.in
return to releng
[openldap] / configure.in
index 4a3013fad1132ba863f6a0b8904f22558af911cb..48c5f2cac0063fc1cefcec7b8bfc4e5b45b8af84 100644 (file)
@@ -1,14 +1,19 @@
 dnl $OpenLDAP$
 dnl $OpenLDAP$
+dnl This work is part of OpenLDAP Software <http://www.openldap.org/>.
+dnl
+dnl Copyright 1998-2005 The OpenLDAP Foundation.
+dnl All rights reserved.
 dnl
 dnl
-dnl Copyright 1998-2002 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 ----------------------------------------------------------------
+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],
 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],
@@ -16,16 +21,21 @@ define([AC_INIT_BINSH],
 # $]OpenLDAP[$
 # from] translit([$OpenLDAP$], $")] [
 
 # $]OpenLDAP[$
 # from] translit([$OpenLDAP$], $")] [
 
-# Copyright 1998-2002 The OpenLDAP Foundation.  All Rights Reserved.
-# 
+# This work is part of OpenLDAP Software <http://www.openldap.org/>.
+#
+# Copyright 1998-2005 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
 # 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.
-
-echo "Copyright 1998-2002 The OpenLDAP Foundation,  All Rights Reserved."
-echo "Restrictions apply, see COPYRIGHT and LICENSE files."
+# 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-2005 The OpenLDAP Foundation. All rights reserved."
+echo " Restrictions apply, see COPYRIGHT and LICENSE files."
 ])dnl
 dnl ----------------------------------------------------------------
 dnl Disable config.cache!
 ])dnl
 dnl ----------------------------------------------------------------
 dnl Disable config.cache!
@@ -58,12 +68,17 @@ else
 fi
 
 SHTOOL="$ac_cv_shtool"
 fi
 
 SHTOOL="$ac_cv_shtool"
-AC_SUBST(SHTOOL)
+dnl AC_SUBST(SHTOOL)dnl
 
 
-TB=`$SHTOOL echo -e %B`
-TN=`$SHTOOL echo -e %b`
+TB="`$SHTOOL echo -e '%B' 2>/dev/null`"
+TN="`$SHTOOL echo -e '%b' 2>/dev/null`"
 
 
-echo "Configuring $TB$OL_STRING$TN ..."
+OPENLDAP_CVS=""
+if test -d $ac_aux_dir/CVS; then
+       OPENLDAP_CVS="(from CVS sources) "
+fi
+
+echo "Configuring ${TB}${OL_STRING}${TN} ${OPENLDAP_CVS}..."
 
 dnl Determine host platform
 dnl            we try not to use this for much
 
 dnl Determine host platform
 dnl            we try not to use this for much
@@ -80,12 +95,18 @@ 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_MINOR,$OL_MINOR,Minor)
 AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION_PATCH,$OL_PATCH,Patch)
 
-OPENLDAP_LIBVERSION=$OL_API_LIB
+OPENLDAP_LIBRELEASE=$OL_API_LIB_RELEASE
+AC_SUBST(OPENLDAP_LIBRELEASE)dnl
+
+OPENLDAP_LIBVERSION=$OL_API_LIB_VERSION
 AC_SUBST(OPENLDAP_LIBVERSION)dnl
 
 AC_SUBST(OPENLDAP_LIBVERSION)dnl
 
-dnl We use autoconf features new to 2.13.
+OPENLDAP_RELEASE_DATE="$OL_RELEASE_DATE"
+AC_SUBST(OPENLDAP_RELEASE_DATE)dnl
+
+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 aclocal.m4 should be built using aclocal from automake 1.4
-dnl libtool 1.4.2 should be installed.
+dnl libtool 1.4.3 should be installed.
 AC_PREREQ(2.13)dnl Required Autoconf version
 
 AC_CONFIG_HEADER(include/portable.h include/ldap_features.h include/lber_types.h)dnl
 AC_PREREQ(2.13)dnl Required Autoconf version
 
 AC_CONFIG_HEADER(include/portable.h include/ldap_features.h include/lber_types.h)dnl
@@ -123,16 +144,15 @@ AC_SUBST(ldap_subdir)dnl
 dnl ----------------------------------------------------------------
 dnl General "enable" options
 OL_ARG_ENABLE(debug,[  --enable-debug    enable debugging], yes)dnl
 dnl ----------------------------------------------------------------
 dnl General "enable" options
 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
 OL_ARG_ENABLE(syslog,[  --enable-syslog          enable syslog support], auto)dnl
 OL_ARG_ENABLE(proctitle,[  --enable-proctitle    enable proctitle support], yes)dnl
-OL_ARG_ENABLE(cache,[  --enable-cache    enable caching (experimental)], no)dnl
-OL_ARG_ENABLE(referrals,[  --enable-referrals    enable LDAPv2+ Referrals (experimental)], no)dnl
-OL_ARG_ENABLE(kbind,[  --enable-kbind    enable LDAPv2+ Kerberos IV bind (deprecated)], no)dnl
+dnl OL_ARG_ENABLE(referrals,[  --enable-referrals        enable LDAPv2+ Referrals (experimental)], no)dnl
+ol_enable_referrals=${ol_enable_referrals-no}
+dnl OL_ARG_ENABLE(kbind,[  --enable-kbind        enable LDAPv2+ Kerberos IV bind (deprecated)], no)dnl
+ol_enable_kbind=${ol_enable_kbind-no}
 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
 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
-OL_ARG_ENABLE(rewrite,[  --enable-rewrite        enable rewrite], no)dnl
-OL_ARG_ENABLE(x_compile,[  --enable-x-compile    enable cross compiling],
-       no, [yes no])dnl
 
 dnl ----------------------------------------------------------------
 dnl General "with" options
 
 dnl ----------------------------------------------------------------
 dnl General "with" options
@@ -140,12 +160,11 @@ dnl OL_ARG_ENABLE(dmalloc,[  --enable-dmalloc       enable debug malloc support], no
 
 OL_ARG_WITH(cyrus_sasl,[  --with-cyrus-sasl      with Cyrus SASL support],
        auto, [auto yes no] )
 
 OL_ARG_WITH(cyrus_sasl,[  --with-cyrus-sasl      with Cyrus SASL support],
        auto, [auto yes no] )
-OL_ARG_WITH(fetch,[  --with-fetch                with fetch URL support],
-       auto, [auto yes no] )
-OL_ARG_WITH(kerberos,[  --with-kerberos          with Kerberos support],
-       auto, [auto k5 k5only k425 kth k4 afs yes no])
-OL_ARG_WITH(readline,[  --with-readline          with readline support],
+OL_ARG_WITH(fetch,[  --with-fetch                with fetch(3) URL support],
        auto, [auto yes no] )
        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],
 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],
@@ -159,70 +178,70 @@ dnl ----------------------------------------------------------------
 
 dnl ----------------------------------------------------------------
 dnl SLAPD OPTIONS
 
 dnl ----------------------------------------------------------------
 dnl SLAPD OPTIONS
-AC_ARG_WITH(xxslapdoptions,[SLAPD (Standalone LDAP Daemon) Options:])
+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(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(dynamic,[    --enable-dynamic      enable linking built binaries with dynamic libs], no)dnl
-OL_ARG_ENABLE(kpasswd,[    --enable-kpasswd      enable Kerberos password verification], 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_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_ARG_ENABLE(phonetic,[    --enable-phonetic    enable phonetic/soundex], no)dnl
-OL_ARG_ENABLE(rlookups,[    --enable-rlookups    enable reverse lookups], no)dnl
-OL_ARG_ENABLE(slp, [    --enable-slp          enable SLPv2 support], no)dnl     
+ol_enable_multimaster=${ol_enable_multimaster-no}
+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
 
 OL_ARG_ENABLE(wrappers,[    --enable-wrappers    enable tcp wrapper support], no)dnl
 
-dnl SLAPD Backend options
-OL_ARG_ENABLE(bdb,[    --enable-bdb      enable Berkeley DB backend], yes)dnl
-OL_ARG_WITH(bdb_module,[    --with-bdb-module     module type], static,
-       [static dynamic])
-OL_ARG_ENABLE(dnssrv,[    --enable-dnssrv        enable dnssrv backend], no)dnl
-OL_ARG_WITH(dnssrv_module,[    --with-dnssrv-module  module type], static,
-       [static dynamic])
-OL_ARG_ENABLE(ldap,[    --enable-ldap    enable ldap backend], no)dnl
-OL_ARG_WITH(ldap_module,[    --with-ldap-module          module type], static,
-       [static dynamic])
-OL_ARG_ENABLE(ldbm,[    --enable-ldbm    enable ldbm backend], no)dnl
-OL_ARG_WITH(ldbm_api,[    --with-ldbm-api       with LDBM API], auto,
+dnl ----------------------------------------------------------------
+dnl SLAPD Backend Options
+Backends="bdb dnssrv hdb ldap ldbm meta monitor null \
+       passwd perl shell sql"
+
+AC_ARG_WITH(xxslapoverlays,[
+SLAPD Backend Options:])
+
+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])
        [auto berkeley bcompat mdbm gdbm])
-OL_ARG_WITH(ldbm_module,[    --with-ldbm-module          module type], static,
-       [static dynamic])
-OL_ARG_WITH(ldbm_type,[    --with-ldbm-type      use LDBM type], auto,
+OL_ARG_WITH(ldbm_type,[      --with-ldbm-type    use LDBM type auto|btree|hash], auto,
        [auto btree hash])
        [auto btree hash])
-OL_ARG_ENABLE(meta,[    --enable-meta    enable metadirectory backend], no)dnl
-OL_ARG_WITH(meta_module,[    --with-meta-module          module type], static,
-       [static dynamic])
-OL_ARG_ENABLE(monitor,[    --enable-monitor      enable monitor backend], no)dnl
-OL_ARG_WITH(monitor_module,[    --with-monitor-module module type], static,
-       [static dynamic])
-OL_ARG_ENABLE(passwd,[    --enable-passwd        enable passwd backend], no)dnl
-OL_ARG_WITH(passwd_module,[    --with-passwd-module  module type], static,
-       [static dynamic])
-OL_ARG_ENABLE(perl,[    --enable-perl    enable perl backend], no)dnl
-OL_ARG_WITH(perl_module,[    --with-perl-module          module type], static,
-       [static dynamic])
-OL_ARG_ENABLE(shell,[    --enable-shell          enable shell backend], no)dnl
-OL_ARG_WITH(shell_module,[    --with-shell-module        module type], static,
-       [static dynamic])
-OL_ARG_ENABLE(sql,[    --enable-sql      enable sql backend], no)dnl
-OL_ARG_WITH(sql_module,[    --with-sql-module    module type], static,
-       [static dynamic])
-OL_ARG_ENABLE(tcl,[    --enable-tcl      enable tcl backend], no)dnl
-OL_ARG_WITH(tcl_module,[    --with-tcl-module    module type], static,
-       [static dynamic])
+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(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="dyngroup proxycache"
+
+AC_ARG_WITH(xxslapoverlays,[
+SLAPD Overlay Options:])
+
+OL_ARG_ENABLE(dyngroup,[    --enable-dyngroup    Dynamic Group overlay no|yes|mod], no,
+       [no yes mod])
+OL_ARG_ENABLE(proxycache,[    --enable-proxycache        Proxy Cache overlay no|yes|mod], no,
+       [no yes mod])
 
 dnl ----------------------------------------------------------------
 dnl SLURPD OPTIONS
 
 dnl ----------------------------------------------------------------
 dnl SLURPD OPTIONS
-AC_ARG_WITH(xxslurpdoptions,[SLURPD (Replication Daemon) Options:])
+AC_ARG_WITH(xxslurpdoptions,[
+SLURPD (Replication Daemon) Options:])
 OL_ARG_ENABLE(slurpd,[  --enable-slurpd          enable building slurpd], auto)dnl
 
 dnl ----------------------------------------------------------------
 OL_ARG_ENABLE(slurpd,[  --enable-slurpd          enable building slurpd], auto)dnl
 
 dnl ----------------------------------------------------------------
-AC_ARG_WITH(xxliboptions,[Library Generation & Linking Options])
+AC_ARG_WITH(xxliboptions,[
+Library Generation & Linking Options])
 AC_ENABLE_STATIC
 AC_ENABLE_STATIC
-dnl AC_DISABLE_SHARED
 AC_ENABLE_SHARED
 
 dnl ----------------------------------------------------------------
 AC_ENABLE_SHARED
 
 dnl ----------------------------------------------------------------
@@ -231,51 +250,25 @@ dnl General "enable" options
 # validate options
 if test $ol_enable_slapd = no ; then
        dnl SLAPD was specificallly disabled
 # validate options
 if test $ol_enable_slapd = no ; then
        dnl SLAPD was specificallly disabled
-       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_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])
-       fi
+       if test $ol_enable_slapi = yes ; then
+               AC_MSG_WARN([slapd disabled, ignoring --enable-slapi argument])
+       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
-dnl    if test $ol_enable_multimaster = yes ; then
-dnl            AC_MSG_WARN([slapd disabled, ignoring --enable-multimaster argument])
-dnl    fi
+       if test $ol_enable_multimaster = yes ; then
+               AC_MSG_WARN([slapd disabled, ignoring --enable-multimaster argument])
+       fi
        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
@@ -288,82 +281,33 @@ dnl       fi
        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_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
+       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
 
        # force settings to 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_passwd=no
-       ol_enable_perl=no
-       ol_enable_shell=no
-       ol_enable_tcl=no
-       ol_enable_sql=no
+       ol_enable_slapi=no
 
        ol_enable_modules=no
 
        ol_enable_modules=no
-dnl    ol_enable_multimaster=no
-       ol_enable_phonetic=no
+       ol_enable_multimaster=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_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
@@ -379,21 +323,18 @@ 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_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_shell = no -a \
                $ol_enable_passwd = no -a \
                $ol_enable_perl = 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])
@@ -405,9 +346,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
 
@@ -426,22 +366,19 @@ 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_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
@@ -455,14 +392,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
@@ -483,8 +420,6 @@ AC_MSG_RESULT(done)
 dnl ----------------------------------------------------------------
 dnl Initialize vars
 LDAP_LIBS=
 dnl ----------------------------------------------------------------
 dnl Initialize vars
 LDAP_LIBS=
-LDIF_LIBS=
-LDBM_LIB=
 LDBM_LIBS=
 LTHREAD_LIBS=
 LUTIL_LIBS=
 LDBM_LIBS=
 LTHREAD_LIBS=
 LUTIL_LIBS=
@@ -497,33 +432,29 @@ BUILD_SLURPD=no
 
 BUILD_THREAD=no
 
 
 BUILD_THREAD=no
 
+BUILD_SLAPI=no
+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_MONITOR=no
 BUILD_LDAP=no
 BUILD_LDBM=no
 BUILD_META=no
 BUILD_MONITOR=no
+BUILD_NULL=no
 BUILD_PASSWD=no
 BUILD_PERL=no
 BUILD_SHELL=no
 BUILD_SQL=no
 BUILD_PASSWD=no
 BUILD_PERL=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_PASSWD_DYNAMIC=static
-BUILD_PERL_DYNAMIC=static
-BUILD_SHELL_DYNAMIC=static
-BUILD_TCL_DYNAMIC=static
-BUILD_SQL_DYNAMIC=static
+
+BUILD_DYNGROUP=no
+BUILD_PROXYCACHE=no
+
+SLAPD_DYNAMIC_OVERLAYS=
 
 SLAPD_MODULES_LDFLAGS=
 SLAPD_MODULES_CPPFLAGS=
 
 SLAPD_MODULES_LDFLAGS=
 SLAPD_MODULES_CPPFLAGS=
-SLAPD_MODULES_LIST=
 
 SLAPD_STATIC_BACKENDS=
 SLAPD_DYNAMIC_BACKENDS=
 
 SLAPD_STATIC_BACKENDS=
 SLAPD_DYNAMIC_BACKENDS=
@@ -536,14 +467,14 @@ 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=
 TLS_LIBS=
 MODULES_LIBS=
+SLAPI_LIBS=
+LIBSLAPI=
+LIBSLAPITOOLS=
 AUTH_LIBS=
 
 SLAPD_SLP_LIBS=
 AUTH_LIBS=
 
 SLAPD_SLP_LIBS=
@@ -602,25 +533,27 @@ if test $ol_aix_threads = yes ; then
 fi
 
 if test -z "${CC}"; then
 fi
 
 if test -z "${CC}"; then
-       AC_CHECK_PROGS(CC,cc)
+       AC_CHECK_PROGS(CC,cc gcc,missing)
+
+       if test "${CC}" = "missing" ; then
+               AC_MSG_ERROR([Unable to locate cc(1) or suitable replacement.  Check PATH or set CC.])
+       fi
 fi
 
 fi
 
-dnl The default CFLAGS is empty NOT whatever AC_PROG_CC sets.
-dnl (for now, let autoconf sort this out)
-dnl CFLAGS=${CFLAGS-""}
+if test -z "${AR}"; then
+       AC_CHECK_PROGS(AR,ar gar,missing)
 
 
-AC_CHECK_PROGS(AR,ar gar,ar)
+       if test "${AR}" = "missing" ; then
+               AC_MSG_ERROR([Unable to locate ar(1) or suitable replacement.  Check PATH or set AR.])
+       fi
+fi
 
 AC_LIBTOOL_WIN32_DLL
 AC_LIBTOOL_DLOPEN
 AC_PROG_LIBTOOL
 
 
 AC_LIBTOOL_WIN32_DLL
 AC_LIBTOOL_DLOPEN
 AC_PROG_LIBTOOL
 
-AC_PROG_AWK
-
-AC_PATH_PROG(SENDMAIL, sendmail, /usr/lib/sendmail,
-       $PATH:/usr/libexec:/usr/lib:/usr/sbin:/usr/etc:/etc)
-AC_PATH_PROG(EDITOR, vi, /usr/ucb/vi, $PATH:/usr/ucb)
-AC_PATH_PROG(FINGER, finger, /usr/ucb/finger, $PATH:/usr/ucb)
+OL_PROG_LN_H
+AC_PROG_LN_S
 
 dnl ----------------------------------------------------------------
 dnl Perl
 
 dnl ----------------------------------------------------------------
 dnl Perl
@@ -635,10 +568,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
@@ -647,20 +582,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
@@ -674,7 +595,7 @@ AC_MINGW32
 AC_EXEEXT
 AC_OBJEXT
 
 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])
 
 dnl ----------------------------------------------------------------
 dnl BeOS requires -lbe -lroot -lnet
 
 dnl ----------------------------------------------------------------
 dnl BeOS requires -lbe -lroot -lnet
@@ -702,6 +623,14 @@ AC_CHECK_LIB(s, afopen, [
        AC_DEFINE(HAVE_AIX_SECURITY,1,[define if you have AIX security lib])
 ])
 
        AC_DEFINE(HAVE_AIX_SECURITY,1,[define if you have AIX security lib])
 ])
 
+dnl ----------------------------------------------------------------
+dnl Check for IBM OS/390
+case "$target" in
+*-ibm-openedition)
+       ac_cv_func_getopt=no
+       AC_DEFINE(BOTH_STRINGS_H,1,[define to use both <string.h> and <strings.h>])
+       ;;
+esac
 
 dnl ----------------------------------------------------------------
 dnl Check for module support
 
 dnl ----------------------------------------------------------------
 dnl Check for module support
@@ -722,18 +651,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_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 ----------------------------------------------------------------
@@ -756,6 +689,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                \
@@ -789,9 +723,12 @@ AC_CHECK_HEADERS(  \
        sys/resource.h  \
        sys/select.h    \
        sys/socket.h    \
        sys/resource.h  \
        sys/select.h    \
        sys/socket.h    \
+       sys/stat.h              \
        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               \
        unistd.h                \
        syslog.h                \
        termios.h               \
        unistd.h                \
@@ -803,49 +740,48 @@ AC_CHECK_HEADERS( \
 dnl ----------------------------------------------------------------
 dnl Checks for libraries
 
 dnl ----------------------------------------------------------------
 dnl Checks for libraries
 
-AC_CHECK_FUNC(dlopen, :, [AC_CHECK_LIB(dl, dlopen)])
+AC_CHECK_FUNCS( sigaction sigset )
 
 dnl HP-UX requires -lV3
 dnl this is not needed on newer versions of HP-UX
 
 dnl HP-UX requires -lV3
 dnl this is not needed on newer versions of HP-UX
-AC_CHECK_LIB(V3, sigset)
+if test $ac_cv_func_sigaction = no && test $ac_cv_func_sigaction = no ; then
+       AC_CHECK_LIB(V3, sigset)
+fi
 
 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:
@@ -890,24 +826,44 @@ if test "$ol_cv_c_posix_regex" = no ; then
 fi
 
 dnl ----------------------------------------------------------------
 fi
 
 dnl ----------------------------------------------------------------
+dnl UUID Support
+
+have_uuid=no
+AC_CHECK_HEADERS(sys/uuid.h)
+if test $ac_cv_header_sys_uuid_h = yes ; then
+       save_LIBS="$LIBS"
+       AC_SEARCH_LIBS(uuid_to_str, uuid, [have_uuid=yes], :)
+       LIBS="$save_LIBS"
+
+       if test have_uuid = yes ; then
+               AC_DEFINE(HAVE_UUID_TO_STR,1,
+                       [define if you have uuid_to_str()])
+
+               test "$ac_cv_search_uuid_to_str" = "none required" || \
+                       SLAPD_LIBS="$SLAPD_LIBS $ac_cv_search_uuid_to_str"
+       fi
+fi
+
 dnl For windows, check for the need of RPCRT for UUID function support
 dnl For windows, check for the need of RPCRT for UUID function support
-AC_MSG_CHECKING(to see if -lrpcrt4 is needed for win32 UUID support)
-save_LIBS="$LIBS"
-LIBS="$LIBS -lrpcrt4"
-AC_TRY_LINK([
-               char UuidCreate@4();
-               char UuidToStringA@8();
+if test $have_uuid = no ; then
+       AC_MSG_CHECKING(to see if -lrpcrt4 is needed for win32 UUID support)
+       save_LIBS="$LIBS"
+       LIBS="$LIBS -lrpcrt4"
+       AC_TRY_LINK([
+               int __stdcall UuidCreate(void *);
+               int __stdcall UuidToStringA(void *,void **);
                ],
                [
                ],
                [
-               UuidCreate@4();
-               UuidToStringA@8();
+               UuidCreate(0);
+               UuidToStringA(0,0);
                ],
                need_rpcrt=yes, need_rpcrt=no)
                ],
                need_rpcrt=yes, need_rpcrt=no)
-if test $need_rpcrt = yes; then
-       SLAPD_LIBS="$SLAPD_LIBS -lrpcrt4"
+       if test $need_rpcrt = yes; then
+               SLAPD_LIBS="$SLAPD_LIBS -lrpcrt4"
+       fi
+       LIBS="$save_LIBS"
+       AC_MSG_RESULT($need_rpcrt)
 fi
 fi
-LIBS="$save_LIBS"
-AC_MSG_RESULT($need_rpcrt)
 
 dnl ----------------------------------------------------------------
 dnl Check for resolver routines
 
 dnl ----------------------------------------------------------------
 dnl Check for resolver routines
@@ -940,6 +896,11 @@ if test $ac_cv_func_res_query = no ; then
        ac_cv_func_res_query=$ac_cv_lib_resolv___res_query
 fi
 
        ac_cv_func_res_query=$ac_cv_lib_resolv___res_query
 fi
 
+if test $ac_cv_func_res_query = no ; then 
+       AC_CHECK_LIB(resolv, _res_9_query)
+       ac_cv_func_res_query=$ac_cv_lib_resolv_res_9_query
+fi
+
 if test "$ac_cv_func_res_query" = yes ; then
        AC_DEFINE(HAVE_RES_QUERY,1,
                [define if you have res_query()])
 if test "$ac_cv_func_res_query" = yes ; then
        AC_DEFINE(HAVE_RES_QUERY,1,
                [define if you have res_query()])
@@ -949,14 +910,14 @@ 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
 
 dnl ----------------------------------------------------------------
 dnl PF_INET6 support requires getaddrinfo and INET6_ADDRSTRLEN
 dnl PF_LOCAL may use getaddrinfo in available
        AC_MSG_ERROR([DNSSRV requires res_query()])
 fi
 
 dnl ----------------------------------------------------------------
 dnl PF_INET6 support requires getaddrinfo and INET6_ADDRSTRLEN
 dnl PF_LOCAL may use getaddrinfo in available
-AC_CHECK_FUNCS( getaddrinfo gai_strerror inet_ntop )
+AC_CHECK_FUNCS( getaddrinfo getnameinfo gai_strerror inet_ntop )
 
 ol_link_ipv6=no
 if test $ac_cv_func_getaddrinfo = no -o $ac_cv_func_inet_ntop = no ; then
 
 ol_link_ipv6=no
 if test $ac_cv_func_getaddrinfo = no -o $ac_cv_func_inet_ntop = no ; then
@@ -972,10 +933,25 @@ elif test $ol_enable_ipv6 != no ; then
 #                      endif
                ], [ol_cv_inet6_addrstrlen=yes], [ol_cv_inet6_addrstrlen=no])])
 
 #                      endif
                ], [ol_cv_inet6_addrstrlen=yes], [ol_cv_inet6_addrstrlen=no])])
 
-       if test $ol_cv_inet6_addrstrlen = yes ; then
+
+       AC_CACHE_CHECK([struct sockaddr_storage],ol_cv_struct_sockaddr_storage,[
+               AC_TRY_COMPILE([
+#include <sys/types.h>
+#include <sys/socket.h>
+],[
+                       struct sockaddr_storage ss;
+],                     [ol_cv_struct_sockaddr_storage=yes],
+                       [ol_cv_struct_sockaddr_storage=no])])
+
+       if test $ol_cv_inet6_addrstrlen = yes \
+               -a $ol_cv_struct_sockaddr_storage = yes ; then
                ol_link_ipv6=yes
                ol_link_ipv6=yes
-       elif test $ol_enable_ipv6 = yes ; then
+       elif test $ol_enable_ipv6 = yes \
+                       -a $ol_cv_inet6_addrstrlen = no ; then
                AC_MSG_ERROR([IPv6 support requires INET6_ADDRSTRLEN])
                AC_MSG_ERROR([IPv6 support requires INET6_ADDRSTRLEN])
+       elif test $ol_enable_ipv6 = yes \
+                       -a $ol_cv_struct_sockaddr_storage = no ; then
+               AC_MSG_ERROR([IPv6 support requires struct sockaddr_storage])
        fi
 fi
 
        fi
 fi
 
@@ -992,7 +968,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
 
@@ -1023,18 +998,22 @@ if test $ol_with_kerberos = yes -o $ol_with_kerberos = auto \
                                [-l$krb5crypto -lcom_err])
 
                elif test $krb5_impl = heimdal; then
                                [-l$krb5crypto -lcom_err])
 
                elif test $krb5_impl = heimdal; then
+                       AC_CHECK_LIB(des, main,
+                               [krb5crypto=des],
+                               [krb5crypto=crypto])
+
                        AC_CHECK_LIB(krb5, main,
                                [have_krb5=yes
                        AC_CHECK_LIB(krb5, main,
                                [have_krb5=yes
-                               KRB5_LIBS="-lkrb5 -ldes -lasn1 -lroken -lcom_err"],
+                               KRB5_LIBS="-lkrb5 -l$krb5crypto -lasn1 -lroken -lcom_err"],
                                [have_krb5=no],
                                [have_krb5=no],
-                               [-ldes -lasn1 -lroken -lcom_err])
+                               [-l$krb5crypto -lasn1 -lroken -lcom_err])
 
                        AC_DEFINE(HAVE_HEIMDAL_KERBEROS, 1,
                                [define if you have HEIMDAL Kerberos])
 
                else
                        have_krb5=no
 
                        AC_DEFINE(HAVE_HEIMDAL_KERBEROS, 1,
                                [define if you have HEIMDAL Kerberos])
 
                else
                        have_krb5=no
-                       AC_MSG_WARN([Unrecongized Kerberos5 Implementation])
+                       AC_MSG_WARN([Unrecognized Kerberos5 Implementation])
                fi
 
                if test $have_krb5 = yes ; then
                fi
 
                if test $have_krb5 = yes ; then
@@ -1043,10 +1022,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
@@ -1072,7 +1047,7 @@ if test $ol_link_krb5 = yes -a \( $ol_with_kerberos = yes -o \
                elif test $krb5_impl = heimdal; then
                        AC_CHECK_LIB(krb4, main, [have_k425=yes
                                KRB4_LIBS="-lkrb4"], [have_k425=no],
                elif test $krb5_impl = heimdal; then
                        AC_CHECK_LIB(krb4, main, [have_k425=yes
                                KRB4_LIBS="-lkrb4"], [have_k425=no],
-                               [-lkrb5 -ldes -lasn1 -lroken -lcom_err])
+                               [-lkrb5 -l$krb5crypto -lasn1 -lroken -lcom_err])
 
                else
                        have_425=no
 
                else
                        have_425=no
@@ -1143,10 +1118,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
 
@@ -1167,7 +1138,8 @@ ol_link_tls=no
 if test $ol_with_tls != no ; then
        AC_CHECK_HEADERS(openssl/ssl.h ssl.h)
        
 if test $ol_with_tls != no ; then
        AC_CHECK_HEADERS(openssl/ssl.h ssl.h)
        
-       if test $ac_cv_header_openssl_ssl_h = yes -o $ac_cv_header_ssl_h = yes ; then
+       if test $ac_cv_header_openssl_ssl_h = yes \
+               -o $ac_cv_header_ssl_h = yes ; then
                AC_CHECK_LIB(ssl, SSLeay_add_ssl_algorithms, 
                        [have_ssleay=yes
                        need_rsaref=no],
                AC_CHECK_LIB(ssl, SSLeay_add_ssl_algorithms, 
                        [have_ssleay=yes
                        need_rsaref=no],
@@ -1207,15 +1179,17 @@ if test $ol_with_tls != no ; then
        fi
 
 else
        fi
 
 else
-       AC_WARN([TLS privacy protection not supported!])
+       AC_WARN([TLS data protection not supported!])
 fi
 
 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])
-       AC_WARN([TLS privacy protection not supported!])
+       AC_WARN([TLS data protection not supported!])
 
 elif test $ol_with_tls != no ; then
        AC_ERROR([Could not locate TLS/SSL package])
 
 elif test $ol_with_tls != no ; then
        AC_ERROR([Could not locate TLS/SSL package])
@@ -1231,47 +1205,6 @@ if test $ol_enable_lmpasswd != no; then
        AC_DEFINE(SLAPD_LMHASH, 1, [define to support LAN Manager passwords])
 fi
 
        AC_DEFINE(SLAPD_LMHASH, 1, [define to support LAN Manager passwords])
 fi
 
-dnl ----------------------------------------------------------------
-dnl Tests for reentrant functions necessary to build a
-dnl thread_safe -lldap.
-AC_CHECK_FUNCS(                \
-       ctime_r                 \
-       gethostbyname_r gethostbyaddr_r \
-)
-
-if test "$ac_cv_func_ctime_r" = no ; then
-       ol_cv_func_ctime_r_nargs=0
-else
-       OL_FUNC_CTIME_R_NARGS
-dnl    OL_FUNC_CTIME_R_TYPE
-fi
-
-if test "$ac_cv_func_gethostbyname_r" = yes ; then
-       OL_FUNC_GETHOSTBYNAME_R_NARGS
-else
-       ol_cv_func_gethostbyname_r_nargs=0
-fi
-if test "$ac_cv_func_gethostbyaddr_r" = yes ; then
-       OL_FUNC_GETHOSTBYADDR_R_NARGS
-else
-       ol_cv_func_gethostbyaddr_r_nargs=0
-fi
-
-if test "$ac_cv_func_ctime_r" = yes \
-       -a "$ol_cv_func_ctime_r_nargs" -ge 2 \
-       -a "$ol_cv_func_ctime_r_nargs" -le 3 \
-       -a "$ac_cv_func_gethostbyname_r" = yes \
-       -a "$ol_cv_func_gethostbyname_r_nargs" -ge 5 \
-       -a "$ol_cv_func_gethostbyname_r_nargs" -le 6 \
-       -a "$ac_cv_func_gethostbyaddr_r" = yes \
-       -a "$ol_cv_func_gethostbyaddr_r_nargs" -ge 5 \
-       -a "$ol_cv_func_gethostbyaddr_r_nargs" -le 6 \
-       ; then
-       AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_REENTRANT,1)
-fi
-
 dnl ----------------------------------------------------------------
 dnl Threads?
 ol_link_threads=no
 dnl ----------------------------------------------------------------
 dnl Threads?
 ol_link_threads=no
@@ -1303,12 +1236,9 @@ if test $ol_with_threads = auto -o $ol_with_threads = yes \
        if test $ac_cv_header_pthread_h = yes ; then
                OL_POSIX_THREAD_VERSION
 
        if test $ac_cv_header_pthread_h = yes ; then
                OL_POSIX_THREAD_VERSION
 
-               if test $ol_cv_pthread_version = final ; then
-                       AC_DEFINE(HAVE_PTHREADS_FINAL,1,
-                               [define if pthreads API compatible with final spec])
-               elif test $ol_cv_pthread_version = draft4 ; then
-                       AC_DEFINE(HAVE_PTHREADS_D4,1,
-                               [define if pthreads API compatible with draft4 spec])
+               if test $ol_cv_pthread_version != 0 ; then
+                       AC_DEFINE_UNQUOTED(HAVE_PTHREADS,$ol_cv_pthread_version,
+                               [define to pthreads API spec revision])
                else
                        AC_MSG_ERROR([unknown pthread version])
                fi
                else
                        AC_MSG_ERROR([unknown pthread version])
                fi
@@ -1403,9 +1333,6 @@ dnl                       [ol_cv_pthread_lpthread_lexc])
                OL_PTHREAD_TRY([-lpthreads],[ol_cv_pthread_lib_lpthreads])
 
                if test $ol_link_threads != no ; then
                OL_PTHREAD_TRY([-lpthreads],[ol_cv_pthread_lib_lpthreads])
 
                if test $ol_link_threads != no ; then
-                       AC_DEFINE(HAVE_PTHREADS,1,
-                               [define if you have POSIX Threads])
-
                        LTHREAD_LIBS="$LTHREAD_LIBS $ol_link_pthreads"
 
                        dnl save flags
                        LTHREAD_LIBS="$LTHREAD_LIBS $ol_link_pthreads"
 
                        dnl save flags
@@ -1415,11 +1342,12 @@ dnl                     [ol_cv_pthread_lpthread_lexc])
 
                        dnl All POSIX Thread (final) implementations should have
                        dnl sched_yield instead of pthread yield.
 
                        dnl All POSIX Thread (final) implementations should have
                        dnl sched_yield instead of pthread yield.
-                       dnl check for both
-                       AC_CHECK_FUNCS(sched_yield pthread_yield)
+                       dnl check for both, and thr_yield for Solaris
+                       AC_CHECK_FUNCS(sched_yield pthread_yield thr_yield)
 
                        if test $ac_cv_func_sched_yield = no -a \
 
                        if test $ac_cv_func_sched_yield = no -a \
-                               $ac_cv_func_pthread_yield = no ; then
+                               $ac_cv_func_pthread_yield = no -a \
+                               $ac_cv_func_thr_yield = no ; then
                                dnl Digital UNIX has sched_yield() in -lrt
                                AC_CHECK_LIB(rt, sched_yield,
                                        [LTHREAD_LIBS="$LTHREAD_LIBS -lrt"
                                dnl Digital UNIX has sched_yield() in -lrt
                                AC_CHECK_LIB(rt, sched_yield,
                                        [LTHREAD_LIBS="$LTHREAD_LIBS -lrt"
@@ -1428,12 +1356,6 @@ dnl                      [ol_cv_pthread_lpthread_lexc])
                                        ac_cv_func_sched_yield=yes],
                                        [ac_cv_func_sched_yield=no])
                        fi
                                        ac_cv_func_sched_yield=yes],
                                        [ac_cv_func_sched_yield=no])
                        fi
-                       if test $ac_cv_func_sched_yield = no -a \
-                               $ac_cv_func_pthread_yield = no ; then
-                               dnl Solaris has sched_yield() stub in -lposix4
-                               dnl but we'll use thr_yield instead.
-                               AC_CHECK_FUNCS(thr_yield)
-                       fi
                        if test $ac_cv_func_sched_yield = no -a \
                                $ac_cv_func_pthread_yield = no -a \
                                "$ac_cv_func_thr_yield" = no ; then
                        if test $ac_cv_func_sched_yield = no -a \
                                $ac_cv_func_pthread_yield = no -a \
                                "$ac_cv_func_thr_yield" = no ; then
@@ -1554,18 +1476,19 @@ int main(argc, argv)
 #endif
 #endif
 
 #endif
 #endif
 
-#if HAVE_PTHREADS_D4
+#if HAVE_PTHREADS < 6
        pthread_create(&t, pthread_attr_default, task, NULL);
 #else
        pthread_create(&t, NULL, task, NULL);
 #endif
 
        pthread_create(&t, pthread_attr_default, task, NULL);
 #else
        pthread_create(&t, NULL, task, NULL);
 #endif
 
-#if HAVE_SCHED_YIELD
-       sched_yield();  /* make sure task runs first */
-#else
-#ifdef HAVE_PTHREAD_YIELD
-       pthread_yield();        /* make sure task runs first */
-#endif
+       /* make sure task runs first */
+#if HAVE_THR_YIELD
+       thr_yield();
+#elif defined( HAVE_SCHED_YIELD )
+       sched_yield();
+#elif defined( HAVE_PTHREAD_YIELD )
+       pthread_yield();
 #endif
 
        exit(2);
 #endif
 
        exit(2);
@@ -1782,8 +1705,7 @@ if test $ol_link_threads != no -a $ol_link_threads != nt ; then
        fi
 
 dnl When in thread environment, use 
        fi
 
 dnl When in thread environment, use 
-dnl            #if defined( HAVE_REENTRANT_FUNCTIONS ) \ 
-dnl                    || defined( HAVE_FUNC_R )
+dnl            #if defined( HAVE_REENTRANT_FUNCTIONS ) || defined( HAVE_FUNC_R )
 dnl                    func_r(...);
 dnl            #else
 dnl            #       if defined( HAVE_THREADS ) 
 dnl                    func_r(...);
 dnl            #else
 dnl            #       if defined( HAVE_THREADS ) 
@@ -1800,14 +1722,14 @@ dnl             _POSIX_REENTRANT_FUNCTIONS
 dnl            _POSIX_THREAD_SAFE_FUNCTIONS
 dnl            _POSIX_THREADSAFE_FUNCTIONS
 dnl
 dnl            _POSIX_THREAD_SAFE_FUNCTIONS
 dnl            _POSIX_THREADSAFE_FUNCTIONS
 dnl
-dnl            and is currently defined in lthread.h
+dnl            and is currently defined in <ldap_pvt_thread.h>
 dnl
 dnl
-dnl HAVE_THREADS is defined by lthread.h iff -UNO_THREADS
+dnl HAVE_THREADS is defined by <ldap_pvt_thread.h> iff -UNO_THREADS
 dnl 
 dnl 
-dnl libldap/*.c should only include <lthread.h> iff
+dnl libldap/*.c should only include <ldap_pvt_thread.h> iff
 dnl LDAP_R_COMPILE is defined.  ie:
 dnl            #ifdef LDAP_R_COMPILE
 dnl LDAP_R_COMPILE is defined.  ie:
 dnl            #ifdef LDAP_R_COMPILE
-dnl            #       include LDAP_R_COMPILE
+dnl            #       include <ldap_pvt_thread.h>
 dnl            #endif
 dnl
 dnl LDAP_R_COMPILE is defined by libldap_r/Makefile.in
 dnl            #endif
 dnl
 dnl LDAP_R_COMPILE is defined by libldap_r/Makefile.in
@@ -1852,6 +1774,32 @@ if test $ol_link_threads != no ; then
        AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_THREAD_SAFE,1)
 fi
 
        AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_THREAD_SAFE,1)
 fi
 
+dnl ----------------------------------------------------------------
+dnl Tests for reentrant functions necessary to build -lldap_r
+AC_CHECK_FUNCS(                \
+       ctime_r                 \
+       gethostbyname_r gethostbyaddr_r \
+)
+
+if test "$ac_cv_func_ctime_r" = no ; then
+       ol_cv_func_ctime_r_nargs=0
+else
+       OL_FUNC_CTIME_R_NARGS
+dnl    OL_FUNC_CTIME_R_TYPE
+fi
+
+if test "$ac_cv_func_gethostbyname_r" = yes ; then
+       OL_FUNC_GETHOSTBYNAME_R_NARGS
+else
+       ol_cv_func_gethostbyname_r_nargs=0
+fi
+if test "$ac_cv_func_gethostbyaddr_r" = yes ; then
+       OL_FUNC_GETHOSTBYADDR_R_NARGS
+else
+       ol_cv_func_gethostbyaddr_r_nargs=0
+fi
+
 dnl ----------------------------------------------------------------
 ol_link_ldbm=no 
 
 dnl ----------------------------------------------------------------
 ol_link_ldbm=no 
 
@@ -1888,22 +1836,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
 
@@ -1946,22 +1892,32 @@ 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)
+       AC_MSG_WARN([could not find suitable LDBM backend])
        if test $ol_enable_ldbm = yes ; then
        if test $ol_enable_ldbm = yes ; then
-               AC_MSG_ERROR(select appropriate LDBM options or disable)
+               AC_MSG_ERROR([select appropriate LDBM options or disable])
        fi
 
        AC_MSG_WARN(disabling LDBM)
        ol_enable_ldbm=no
 fi
 
        fi
 
        AC_MSG_WARN(disabling LDBM)
        ol_enable_ldbm=no
 fi
 
+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 ----------------------------------------------------------------
 dnl ----------------------------------------------------------------
+
 if test $ol_enable_dynamic = yes -a $enable_shared = yes ; then
        BUILD_LIBS_DYNAMIC=shared
        AC_DEFINE(LDAP_LIBS_DYNAMIC, 1, [define if LDAP libs are dynamic])
 if test $ol_enable_dynamic = yes -a $enable_shared = yes ; then
        BUILD_LIBS_DYNAMIC=shared
        AC_DEFINE(LDAP_LIBS_DYNAMIC, 1, [define if LDAP libs are dynamic])
+       LTSTATIC=""
 else
        BUILD_LIBS_DYNAMIC=static
 else
        BUILD_LIBS_DYNAMIC=static
+       LTSTATIC="-static"
 fi
 fi
+AC_SUBST(LTSTATIC)dnl
 
 dnl ----------------------------------------------------------------
 if test $ol_enable_wrappers != no ; then
 
 dnl ----------------------------------------------------------------
 if test $ol_enable_wrappers != no ; then
@@ -2002,7 +1958,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=""
@@ -2029,6 +1985,10 @@ dnl ----------------------------------------------------------------
 dnl SQL
 ol_link_sql=no
 if test $ol_enable_sql != no ; then
 dnl SQL
 ol_link_sql=no
 if test $ol_enable_sql != no ; then
+       AC_CHECK_HEADERS(sql.h sqlext.h,[],[
+               AC_MSG_ERROR([could not locate SQL headers])
+       ])
+
        AC_CHECK_LIB(iodbc,SQLDriverConnect,[have_iodbc=yes],[have_iodbc=no])
        if test $have_iodbc = yes ; then
                ol_link_sql="-liodbc"
        AC_CHECK_LIB(iodbc,SQLDriverConnect,[have_iodbc=yes],[have_iodbc=no])
        if test $have_iodbc = yes ; then
                ol_link_sql="-liodbc"
@@ -2047,63 +2007,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
@@ -2111,9 +2014,9 @@ dnl
 ol_link_sasl=no
 ol_link_spasswd=no
 if test $ol_with_cyrus_sasl != no ; then
 ol_link_sasl=no
 ol_link_spasswd=no
 if test $ol_with_cyrus_sasl != no ; then
-       AC_CHECK_HEADERS(sasl.h)
+       AC_CHECK_HEADERS(sasl/sasl.h sasl.h)
 
 
-       if test $ac_cv_header_sasl_; then
+       if test $ac_cv_header_sasl_sasl_h = yes -o $ac_cv_header_sasl_h = yes; then
                AC_CHECK_LIB(sasl2, sasl_client_init,
                        [ol_link_sasl="-lsasl2"],
                        [AC_CHECK_LIB(sasl, sasl_client_init,
                AC_CHECK_LIB(sasl2, sasl_client_init,
                        [ol_link_sasl="-lsasl2"],
                        [AC_CHECK_LIB(sasl, sasl_client_init,
@@ -2131,11 +2034,23 @@ if test $ol_with_cyrus_sasl != no ; then
                        fi
                fi
        else
                        fi
                fi
        else
+               OL_SASL_COMPAT
+               if test $ol_cv_sasl_compat = no ; then
+                       ol_link_sasl=no
+                       AC_MSG_ERROR([Cyrus SASL library located but is incompatible])
+               fi
+
                AC_DEFINE(HAVE_CYRUS_SASL,1,[define if you have Cyrus SASL])
                SASL_LIBS="$ol_link_sasl"
                if test $ol_enable_spasswd != no ; then
                        ol_link_spasswd=yes
                fi
                AC_DEFINE(HAVE_CYRUS_SASL,1,[define if you have Cyrus SASL])
                SASL_LIBS="$ol_link_sasl"
                if test $ol_enable_spasswd != no ; then
                        ol_link_spasswd=yes
                fi
+
+               ac_save_LIBS="$LIBS"
+               LIBS="$LIBS $ol_link_sasl"
+               AC_CHECK_FUNC(sasl_version, [AC_DEFINE(HAVE_SASL_VERSION,1,
+                       [define if your SASL library has sasl_version()])])
+               LIBS="$ac_save_LIBS"
        fi
 
 else
        fi
 
 else
@@ -2176,7 +2091,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
@@ -2184,51 +2099,28 @@ 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
+       save_LIBS="$LIBS"
+       LIBS="$TLS_LIBS $LIBS"
+
        AC_CHECK_FUNC(crypt, [have_crypt=yes], [
        AC_CHECK_FUNC(crypt, [have_crypt=yes], [
+               LIBS="$save_LIBS"
                AC_CHECK_LIB(crypt, crypt, [LUTIL_LIBS="$LUTIL_LIBS -lcrypt"
                        have_crypt=yes], [have_crypt=no])])
 
                AC_CHECK_LIB(crypt, crypt, [LUTIL_LIBS="$LUTIL_LIBS -lcrypt"
                        have_crypt=yes], [have_crypt=no])])
 
+       LIBS="$save_LIBS"
+
        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
@@ -2269,6 +2161,16 @@ 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
@@ -2296,6 +2198,7 @@ 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
        AC_DEFINE(CROSS_COMPILING, 1, [define if cross compiling])
 else
        AC_C_BIGENDIAN
@@ -2304,6 +2207,7 @@ fi
 AC_COMPILE_CHECK_SIZEOF(short) 
 AC_COMPILE_CHECK_SIZEOF(int) 
 AC_COMPILE_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.])
@@ -2320,6 +2224,12 @@ AC_DEFINE(LBER_TAG_T,long)
 dnl ----------------------------------------------------------------
 dnl Checks for library functions.
 AC_FUNC_MEMCMP
 dnl ----------------------------------------------------------------
 dnl Checks for library functions.
 AC_FUNC_MEMCMP
+
+if test $ac_cv_func_memcmp_clean = no ; then
+       AC_DEFINE(NEED_MEMCMP_REPLACEMENT,1,
+               [define if memcmp is not 8-bit clean or is otherwise broken])
+fi
+
 dnl AM_FUNC_MKTIME dnl checks for sys/time.h and unistd.h
 AC_FUNC_STRFTIME
 dnl AM_FUNC_STRTOD
 dnl AM_FUNC_MKTIME dnl checks for sys/time.h and unistd.h
 AC_FUNC_STRFTIME
 dnl AM_FUNC_STRTOD
@@ -2341,7 +2251,7 @@ AC_FUNC_VPRINTF
 
 if test $ac_cv_func_vprintf = yes ; then
        dnl check for vsnprintf
 
 if test $ac_cv_func_vprintf = yes ; then
        dnl check for vsnprintf
-       AC_CHECK_FUNCS(vsnprintf vsprintf)
+       AC_CHECK_FUNCS(snprintf vsnprintf)
 fi
 
 AC_CHECK_FUNCS(                \
 fi
 
 AC_CHECK_FUNCS(                \
@@ -2352,6 +2262,7 @@ AC_CHECK_FUNCS(           \
        endpwent                \
        fcntl                   \
        flock                   \
        endpwent                \
        fcntl                   \
        flock                   \
+       fstat                   \
        getdtablesize   \
        getgrgid                \
        gethostname             \
        getdtablesize   \
        getgrgid                \
        gethostname             \
@@ -2377,9 +2288,7 @@ AC_CHECK_FUNCS(           \
        setsid                  \
        setuid                  \
        seteuid                 \
        setsid                  \
        setuid                  \
        seteuid                 \
-       sigaction               \
        signal                  \
        signal                  \
-       sigset                  \
        strdup                  \
        strerror                \
        strpbrk                 \
        strdup                  \
        strerror                \
        strpbrk                 \
@@ -2388,6 +2297,9 @@ AC_CHECK_FUNCS(           \
        strstr                  \
        strtol                  \
        strtoul                 \
        strstr                  \
        strtol                  \
        strtoul                 \
+       strtoq                  \
+       strtouq                 \
+       strtoll                 \
        strspn                  \
        sysconf                 \
        usleep                  \
        strspn                  \
        sysconf                 \
        usleep                  \
@@ -2395,15 +2307,28 @@ AC_CHECK_FUNCS(         \
        wait4                   \
        write                   \
        send                    \
        wait4                   \
        write                   \
        send                    \
+       sendmsg                 \
        sendto                  \
 )
 
 dnl We actually may need to replace more than this.
        sendto                  \
 )
 
 dnl We actually may need to replace more than this.
-AC_REPLACE_FUNCS(getopt)
+AC_REPLACE_FUNCS(getopt getpeereid)
 
 if test "$ac_cv_func_getopt" != yes; then
        LIBSRCS="$LIBSRCS getopt.c"
 fi
 
 if test "$ac_cv_func_getopt" != yes; then
        LIBSRCS="$LIBSRCS getopt.c"
 fi
+if test "$ac_cv_func_getpeereid" != yes; then
+       OL_MSGHDR_MSG_ACCRIGHTS
+       LIBSRCS="$LIBSRCS getpeereid.c"
+fi
+if test "$ac_cv_func_snprintf" != yes -o "$ac_cv_func_vsnprintf" != yes; then
+       if test "$ac_cv_func_snprintf" != yes; then
+               AC_DEFINE(snprintf, ber_pvt_snprintf, [define to snprintf routine])
+       fi
+       if test "$ac_cv_func_vsnprintf" != yes; then
+               AC_DEFINE(vsnprintf, ber_pvt_vsnprintf, [define to snprintf routine])
+       fi
+fi
 
 dnl ----------------------------------------------------------------
 # Check Configuration
 
 dnl ----------------------------------------------------------------
 # Check Configuration
@@ -2412,6 +2337,24 @@ OL_SYS_ERRLIST
 dnl ----------------------------------------------------------------
 dnl Sort out defines
 
 dnl ----------------------------------------------------------------
 dnl Sort out defines
 
+if test "$ol_enable_slapi" != no ; then
+       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)
+
+       if test $ac_cv_header_ltdl_h != yes ; then
+               AC_MSG_ERROR([could not locate <ltdl.h>])
+       fi
+       AC_CHECK_LIB(ltdl, lt_dlinit, [
+               SLAPI_LIBS=-lltdl
+               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])])
+
+       AC_DEFINE(LDAP_SLAPI,1, [define this to add SLAPI code])
+fi
+
 if test "$ol_enable_debug" != no ; then
        AC_DEFINE(LDAP_DEBUG,1,
                [define this to add debugging code])
 if test "$ol_enable_debug" != no ; then
        AC_DEFINE(LDAP_DEBUG,1,
                [define this to add debugging code])
@@ -2420,10 +2363,6 @@ if test "$ol_enable_syslog" = yes ; then
        AC_DEFINE(LDAP_SYSLOG,1,
                [define this to add syslog code])
 fi
        AC_DEFINE(LDAP_SYSLOG,1,
                [define this to add syslog code])
 fi
-if test "$ol_enable_cache" = no ; then
-       AC_DEFINE(LDAP_NOCACHE,1,
-               [define this to remove -lldap cache support])
-fi
 if test "$ol_link_kbind" != no ; then
        AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND,LDAP_VENDOR_VERSION)
 fi
 if test "$ol_link_kbind" != no ; then
        AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND,LDAP_VENDOR_VERSION)
 fi
@@ -2446,17 +2385,11 @@ 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_link_spasswd" != no ; then
        AC_DEFINE(SLAPD_SPASSWD,1,[define to support SASL passwords])
 fi
-dnl if test "$ol_enable_multimaster" != no ; then
-dnl    AC_DEFINE(SLAPD_MULTIMASTER,1,[define to support multimaster replication])
-dnl fi
-if test "$ol_enable_phonetic" != no ; then
-       AC_DEFINE(SLAPD_PHONETIC,1,[define to support phonetic])
+if test "$ol_enable_multimaster" != no ; then
+       AC_DEFINE(SLAPD_MULTIMASTER,1,[define to support multimaster replication])
 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])
@@ -2471,187 +2404,189 @@ 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
-               SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-bdb/back_bdb.la"
+       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
-               SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-dnssrv/back_dnssrv.la"
+       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
+       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
        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
-               SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-ldap/back_ldap.la"
+       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
-       LDBM_LIB="-lldbm"
-       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
-               SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-ldbm/back_ldbm.la"
+       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
-       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
-               SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-meta/back_meta.la"
+       BUILD_META=$ol_enable_meta
+       BUILD_REWRITE=yes
+       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
-               SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-monitor/back_monitor.la"
+       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
+       AC_DEFINE_UNQUOTED(SLAPD_MONITOR,$MFLAG,[define to support cn=Monitor 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
        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
-               SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-passwd/back_passwd.la"
+       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
-               SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-perl/back_perl.la"
+       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_shell" != no ; then
 fi
 
 if test "$ol_enable_shell" != no ; then
-       AC_DEFINE(SLAPD_SHELL,1,[define to support SHELL backend])
+       if test "$ol_link_thread" != no ; then
+               AC_MSG_WARN([Use of --without-threads is recommended with back-shell])
+       fi
        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
-               SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-shell/back_shell.la"
+       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_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-tcl/back_tcl.la"
-               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
+               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-sql"
+               MFLAG=SLAPD_MOD_STATIC
+       fi
+       AC_DEFINE_UNQUOTED(SLAPD_SQL,$MFLAG,[define to support SQL backend])
+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
        else
-               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-tcl"
+               MFLAG=SLAPD_MOD_STATIC
        fi
        fi
+       AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNGROUP,$MFLAG,[define for Dynamic Group overlay])
 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_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-sql/back_sql.la"
-               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-sql"
+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
        else
-               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-sql"
+               MFLAG=SLAPD_MOD_STATIC
        fi
        fi
+       AC_DEFINE_UNQUOTED(SLAPD_OVER_PROXYCACHE,$MFLAG,[define for Proxy Cache 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 \
@@ -2662,7 +2597,12 @@ fi
 if test "$ol_enable_rewrite" != no ; then
        AC_DEFINE(ENABLE_REWRITE,1,[define to enable rewriting in back-ldap and back-meta])
        BUILD_REWRITE=yes
 if test "$ol_enable_rewrite" != no ; then
        AC_DEFINE(ENABLE_REWRITE,1,[define to enable rewriting in back-ldap and back-meta])
        BUILD_REWRITE=yes
-       SLAPD_LIBS="$SLAPD_LIBS -lrewrite"
+fi
+
+if test "$ol_enable_slapi" != no ; then
+       AC_DEFINE(ENABLE_SLAPI,1,[define to enable slapi library])
+       BUILD_SLAPI=yes
+       SLAPD_SLAPI_DEPEND=libslapi.a
 fi
 
 dnl ----------------------------------------------------------------
 fi
 
 dnl ----------------------------------------------------------------
@@ -2675,58 +2615,58 @@ dnl
 if test "$ac_cv_mingw32" = yes ; then
        PLAT=NT
        SLAPD_MODULES_LDFLAGS=
 if test "$ac_cv_mingw32" = yes ; then
        PLAT=NT
        SLAPD_MODULES_LDFLAGS=
-       SLAPD_MODULES_LIST=
 else
        PLAT=UNIX
 fi
 
 else
        PLAT=UNIX
 fi
 
+if test -z "$SLAPD_STATIC_BACKENDS"; then
+       SLAPD_NO_STATIC='#'
+else
+       SLAPD_NO_STATIC=
+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)
+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_LDAP)
   AC_SUBST(BUILD_LDBM)
   AC_SUBST(BUILD_META)
   AC_SUBST(BUILD_MONITOR)
+  AC_SUBST(BUILD_NULL)
   AC_SUBST(BUILD_PASSWD)
   AC_SUBST(BUILD_PERL)
   AC_SUBST(BUILD_SHELL)
   AC_SUBST(BUILD_SQL)
   AC_SUBST(BUILD_PASSWD)
   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_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_DYNGROUP)
+  AC_SUBST(BUILD_PROXYCACHE)
 AC_SUBST(BUILD_SLURPD)
 
 AC_SUBST(BUILD_SLURPD)
 
-AC_SUBST(LDBM_LIB)
-
 AC_SUBST(LDAP_LIBS)
 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)
-AC_SUBST(SLAPD_MODULES_LIST)
 
 
+AC_SUBST(SLAPD_NO_STATIC)
 AC_SUBST(SLAPD_STATIC_BACKENDS)
 AC_SUBST(SLAPD_DYNAMIC_BACKENDS)
 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)
@@ -2734,11 +2674,12 @@ 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(TLS_LIBS)
 AC_SUBST(MODULES_LIBS)
+AC_SUBST(SLAPI_LIBS)
+AC_SUBST(LIBSLAPI)
+AC_SUBST(LIBSLAPITOOLS)
 AC_SUBST(AUTH_LIBS)
 
 AC_SUBST(SLAPD_SLP_LIBS)
 AC_SUBST(AUTH_LIBS)
 
 AC_SUBST(SLAPD_SLP_LIBS)
@@ -2747,6 +2688,11 @@ AC_SUBST(SLAPD_SQL_LDFLAGS)
 AC_SUBST(SLAPD_SQL_LIBS)
 AC_SUBST(SLAPD_SQL_INCLUDES)
 
 AC_SUBST(SLAPD_SQL_LIBS)
 AC_SUBST(SLAPD_SQL_INCLUDES)
 
+dnl ----------------------------------------------------------------
+dnl final help output
+AC_ARG_WITH(xxinstall,[
+See INSTALL file for further details.])
+
 dnl ----------------------------------------------------------------
 dnl final output
 dnl
 dnl ----------------------------------------------------------------
 dnl final output
 dnl
@@ -2760,19 +2706,12 @@ 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 \
 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/finger/Makefile:build/top.mk:clients/finger/Makefile.in:build/rules.mk \
-clients/mail500/Makefile:build/top.mk:clients/mail500/Makefile.in:build/rules.mk \
-clients/ud/Makefile:build/top.mk:clients/ud/Makefile.in:build/rules.mk \
-clients/maildap/Makefile:build/top.mk:clients/maildap/Makefile.in:build/rules.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     \
 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/libavl/Makefile:build/top.mk:libraries/libavl/Makefile.in:build/lib.mk:build/lib-static.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/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/libldbm/Makefile:build/top.mk:libraries/libldbm/Makefile.in:build/lib.mk:build/lib-static.mk \
-libraries/libldif/Makefile:build/top.mk:libraries/libldif/Makefile.in:build/lib.mk:build/lib-static.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 \
 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 \
@@ -2780,21 +2719,25 @@ 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/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-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-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/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-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/back-tcl/Makefile:build/top.mk:servers/slapd/back-tcl/Makefile.in:build/mod.mk \
 servers/slapd/shell-backends/Makefile:build/top.mk:servers/slapd/shell-backends/Makefile.in:build/srv.mk \
 servers/slapd/shell-backends/Makefile:build/top.mk:servers/slapd/shell-backends/Makefile.in:build/srv.mk \
-servers/slapd/tools/Makefile:build/top.mk:servers/slapd/tools/Makefile.in \
+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 \
 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 \
 ,[
 tests/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk \
 ,[
+chmod +x tests/run
 date > stamp-h
 date > stamp-h
-echo Please \"make depend\" to build dependencies
+echo Please run \"make depend\" to build dependencies
 ])
 ])