]> git.sur5r.net Git - openldap/blobdiff - configure.in
Update for release
[openldap] / configure.in
index 2764f9de4ebbfdd1839136621995d7a55c4054a0..ede3d8e67b70f27c0d396a35d8d9104a93a519e0 100644 (file)
@@ -1,7 +1,7 @@
 dnl $OpenLDAP$
 dnl This work is part of OpenLDAP Software <http://www.openldap.org/>.
 dnl
 dnl $OpenLDAP$
 dnl This work is part of OpenLDAP Software <http://www.openldap.org/>.
 dnl
-dnl Copyright 1998-2005 The OpenLDAP Foundation.
+dnl Copyright 1998-2007 The OpenLDAP Foundation.
 dnl All rights reserved.
 dnl
 dnl Redistribution and use in source and binary forms, with or without
 dnl All rights reserved.
 dnl
 dnl Redistribution and use in source and binary forms, with or without
@@ -13,46 +13,26 @@ dnl top-level directory of the distribution or, alternatively, at
 dnl <http://www.OpenLDAP.org/license.html>.
 dnl
 dnl ----------------------------------------------------------------
 dnl <http://www.OpenLDAP.org/license.html>.
 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],
-[[#! /bin/sh
-# $]OpenLDAP[$
-# from] translit([$OpenLDAP$], $")] [
-
-# 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
-# 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!
 define([AC_CACHE_LOAD], )dnl
 define([AC_CACHE_SAVE], )dnl
 dnl Disable config.cache!
 define([AC_CACHE_LOAD], )dnl
 define([AC_CACHE_SAVE], )dnl
+dnl ----------------------------------------------------------------
+dnl Disable libtool 1.5 support for languages we don't use
+define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])dnl
+define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
+define([AC_LIBTOOL_LANG_GCJ_CONFIG], [:])dnl
 dnl ================================================================
 dnl Configure.in for OpenLDAP
 dnl ================================================================
 dnl Configure.in for OpenLDAP
-AC_INIT(build/version.sh)dnl
-
-# set unset (borrowed from autoconf 2.49c)
-if (OL_FOO=OL_FOO; unset OL_FOO) >/dev/null 2>&1; then
-  ol_unset=unset
-else
-  ol_unset=false
-fi
-# unset CDPATH
-$ol_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; }
+AC_COPYRIGHT([[Copyright 1998-2007 The OpenLDAP Foundation. All rights reserved.
+Restrictions apply, see COPYRIGHT and LICENSE files.]])
+AC_REVISION([$OpenLDAP$])
+AC_INIT([OpenLDAP],,[http://www.openldap.org/its/])
+m4_define([AC_PACKAGE_BUGREPORT],[<http://www.openldap.org/its/>])
+AC_CONFIG_SRCDIR(build/version.sh)dnl
+dnl ----------------------------------------------------------------
+dnl OpenLDAP Autoconf Macros
+builtin(include, build/openldap.m4)dnl
+dnl ================================================================
 
 AC_CONFIG_AUX_DIR(build)dnl
 
 
 AC_CONFIG_AUX_DIR(build)dnl
 
@@ -61,7 +41,7 @@ if test -z "$OL_STRING"; then
        AC_MSG_ERROR([could not determine version])
 fi
 
        AC_MSG_ERROR([could not determine version])
 fi
 
-if test -f "$ac_aux_dir/shtool" -a ! -d $ac_aux_dir/shtool; then
+if test -f "$ac_aux_dir/shtool" && test ! -d $ac_aux_dir/shtool; then
        ac_cv_shtool="$ac_aux_dir/shtool"
 else
        AC_MSG_ERROR([no shtool found in $ac_aux_dir])
        ac_cv_shtool="$ac_aux_dir/shtool"
 else
        AC_MSG_ERROR([no shtool found in $ac_aux_dir])
@@ -82,7 +62,7 @@ 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
-AC_CANONICAL_SYSTEM
+AC_CANONICAL_TARGET([])
 
 AM_INIT_AUTOMAKE([$OL_PACKAGE],[$OL_VERSION], [no defines])dnl
 AC_SUBST(PACKAGE)dnl
 
 AM_INIT_AUTOMAKE([$OL_PACKAGE],[$OL_VERSION], [no defines])dnl
 AC_SUBST(PACKAGE)dnl
@@ -104,12 +84,112 @@ AC_SUBST(OPENLDAP_LIBVERSION)dnl
 OPENLDAP_RELEASE_DATE="$OL_RELEASE_DATE"
 AC_SUBST(OPENLDAP_RELEASE_DATE)dnl
 
 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 libtool 1.4.3 should be installed.
-AC_PREREQ(2.13)dnl Required Autoconf version
+dnl We use autoconf features new to 2.59.  Later versions like won't work.
+dnl aclocal.m4 should be built using aclocal from automake 1.5
+dnl libtool 1.5 should be installed.
+AC_PREREQ(2.59)dnl Required Autoconf version
+
+AH_TOP([
+/* begin of portable.h.pre */
+/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
+ *
+ * Copyright 1998-2007 The OpenLDAP Foundation
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted only as authorized by the OpenLDAP
+ * Public License.
+ *
+ * A copy of this license is available in the file LICENSE in the
+ * top-level directory of the distribution or, alternatively, at
+ * <http://www.OpenLDAP.org/license.html>.
+ */
+
+#ifndef _LDAP_PORTABLE_H
+#define _LDAP_PORTABLE_H
+
+/* define this if needed to get reentrant functions */
+#ifndef REENTRANT
+#undef REENTRANT
+#endif
+#ifndef _REENTRANT
+#undef _REENTRANT
+#endif
+
+/* define this if needed to get threadsafe functions */
+#ifndef THREADSAFE
+#undef THREADSAFE
+#endif
+#ifndef _THREADSAFE
+#undef _THREADSAFE
+#endif
+#ifndef THREAD_SAFE
+#undef THREAD_SAFE
+#endif
+#ifndef _THREAD_SAFE
+#undef _THREAD_SAFE
+#endif
+
+#ifndef _SGI_MP_SOURCE
+#undef _SGI_MP_SOURCE
+#endif
+
+/* end of portable.h.pre */
+])
+AH_BOTTOM([
+/* begin of portable.h.post */
+
+#ifdef _WIN32
+       /* don't suck in all of the win32 api */
+#      define WIN32_LEAN_AND_MEAN 1
+#endif
 
 
-AC_CONFIG_HEADER(include/portable.h include/ldap_features.h include/lber_types.h)dnl
+#ifndef LDAP_NEEDS_PROTOTYPES
+/* force LDAP_P to always include prototypes */
+#define LDAP_NEEDS_PROTOTYPES 1
+#endif
+
+#ifndef LDAP_REL_ENG
+#if (LDAP_VENDOR_VERSION == 000000) && !defined(LDAP_DEVEL)
+#define LDAP_DEVEL
+#endif
+#if defined(LDAP_DEVEL) && !defined(LDAP_TEST)
+#define LDAP_TEST
+#endif
+#endif
+
+#ifdef HAVE_STDDEF_H
+#      include <stddef.h>
+#endif
+
+#ifdef HAVE_EBCDIC 
+/* ASCII/EBCDIC converting replacements for stdio funcs
+ * vsnprintf and snprintf are used too, but they are already
+ * checked by the configure script
+ */
+#define fputs ber_pvt_fputs
+#define fgets ber_pvt_fgets
+#define printf ber_pvt_printf
+#define fprintf ber_pvt_fprintf
+#define vfprintf ber_pvt_vfprintf
+#define vsprintf ber_pvt_vsprintf
+#endif
+
+#include "ac/fdset.h"
+
+#include "ldap_cdefs.h"
+#include "ldap_features.h"
+
+#include "ac/assert.h"
+#include "ac/localize.h"
+
+#endif /* _LDAP_PORTABLE_H */
+/* end of portable.h.post */
+])
+
+AC_CONFIG_HEADERS([include/portable.h:include/portable.hin])
+AC_CONFIG_HEADERS([include/ldap_features.h:include/ldap_features.hin])
+AC_CONFIG_HEADERS([include/lber_types.h:include/lber_types.hin])
 
 dnl ================================================================
 dnl Start Args
 
 dnl ================================================================
 dnl Start Args
@@ -156,8 +236,6 @@ OL_ARG_ENABLE(local,[  --enable-local         enable AF_LOCAL (AF_UNIX) socket support
 
 dnl ----------------------------------------------------------------
 dnl General "with" options
 
 dnl ----------------------------------------------------------------
 dnl General "with" options
-dnl OL_ARG_ENABLE(dmalloc,[  --enable-dmalloc    enable debug malloc support], no)dnl
-
 OL_ARG_WITH(cyrus_sasl,[  --with-cyrus-sasl      with Cyrus SASL support],
        auto, [auto yes no] )
 OL_ARG_WITH(fetch,[  --with-fetch                with fetch(3) URL support],
 OL_ARG_WITH(cyrus_sasl,[  --with-cyrus-sasl      with Cyrus SASL support],
        auto, [auto yes no] )
 OL_ARG_WITH(fetch,[  --with-fetch                with fetch(3) URL support],
@@ -168,13 +246,16 @@ 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],
-       auto, [auto ssleay openssl yes no] )
-OL_ARG_WITH(yielding_select,[  --with-yielding-select  with implicitly yielding select],
+       auto, [auto openssl yes no] )
+OL_ARG_WITH(yielding_select,
+       [  --with-yielding-select  with implicitly yielding select],
        auto, [auto yes no manual] )
        auto, [auto yes no manual] )
-OL_ARG_WITH(multiple_precision,[  --with-multiple-precision
-                          multiple precision support for statistics
-                         auto|bignum|gmp],
-       auto, [auto bignum gmp yes no] )
+OL_ARG_WITH(mp,
+       [  --with-mp               with multiple precision statistics auto|longlong|long|bignum|gmp],
+       auto, [auto longlong long bignum gmp yes no])
+OL_ARG_WITH(odbc,
+       [  --with-odbc             with specific ODBC support iodbc|unixodbc|auto],
+       auto, [auto iodbc unixodbc] )
 
 dnl ----------------------------------------------------------------
 dnl Server options
 
 dnl ----------------------------------------------------------------
 dnl Server options
@@ -182,7 +263,7 @@ dnl ----------------------------------------------------------------
 
 dnl ----------------------------------------------------------------
 dnl SLAPD OPTIONS
 
 dnl ----------------------------------------------------------------
 dnl SLAPD OPTIONS
-AC_ARG_WITH(xxslapdoptions,[
+AC_ARG_ENABLE(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
 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
@@ -201,95 +282,124 @@ OL_ARG_ENABLE(wrappers,[    --enable-wrappers      enable tcp wrapper support], no)
 
 dnl ----------------------------------------------------------------
 dnl SLAPD Backend Options
 
 dnl ----------------------------------------------------------------
 dnl SLAPD Backend Options
-Backends="bdb dnssrv hdb ldap ldbm meta monitor null \
-       passwd perl relay shell sql"
-
-AC_ARG_WITH(xxslapbackends,[
+Backends="bdb \
+       dnssrv \
+       hdb \
+       ldap \
+       ldbm \
+       meta \
+       monitor \
+       null \
+       passwd \
+       perl \
+       relay \
+       shell \
+       sql"
+
+AC_ARG_ENABLE(xxslapbackends,[
 SLAPD Backend Options:])
 
 SLAPD Backend Options:])
 
-OL_ARG_ENABLE(backends,[    --enable-backends    enable all available backends no|yes|mod],
+OL_ARG_ENABLE(backends,[    --enable-backends    enable all available backends],
        --, [no yes mod])dnl
        --, [no yes mod])dnl
-test -n "$ol_enable_backends" && ol_dflt_backends="$ol_enable_backends"
-OL_ARG_ENABLE(bdb,[    --enable-bdb      enable Berkeley DB backend no|yes|mod],
-       ${ol_dflt_backends-yes}, [no yes mod])dnl
-OL_ARG_ENABLE(dnssrv,[    --enable-dnssrv        enable dnssrv backend no|yes|mod],
-       ${ol_dflt_backends-no}, [no yes mod])dnl
-OL_ARG_ENABLE(hdb,[    --enable-hdb      enable Hierarchical DB backend no|yes|mod],
-       ${ol_dflt_backends-yes}, [no yes mod])dnl
-OL_ARG_ENABLE(ldap,[    --enable-ldap    enable ldap backend no|yes|mod],
-       ${ol_dflt_backends-no}, [no yes mod])dnl
-OL_ARG_ENABLE(ldbm,[    --enable-ldbm    enable ldbm backend no|yes|mod],
-       ${ol_dflt_backends-no}, [no yes mod])dnl
-OL_ARG_WITH(ldbm_api,[      --with-ldbm-api     with LDBM API auto|berkeley|bcompat|mdbm|gdbm],
+OL_ARG_ENABLE(bdb,[    --enable-bdb      enable Berkeley DB backend],
+       yes, [no yes mod], ol_enable_backends)dnl
+OL_ARG_ENABLE(dnssrv,[    --enable-dnssrv        enable dnssrv backend],
+       no, [no yes mod], ol_enable_backends)dnl
+OL_ARG_ENABLE(hdb,[    --enable-hdb      enable Hierarchical DB backend],
+       yes, [no yes mod], ol_enable_backends)dnl
+OL_ARG_ENABLE(ldap,[    --enable-ldap    enable ldap backend],
+       no, [no yes mod], ol_enable_backends)dnl
+OL_ARG_ENABLE(ldbm,[    --enable-ldbm    enable ldbm backend],
+       no, [no yes mod], ol_enable_backends)dnl
+AC_ARG_WITH(ldbm_api,,[
+       AC_MSG_WARN([Please use --enable-ldbm-api instead of --with-ldbm-api])
+       enable_ldbm_api="$with_ldbm_api"])
+OL_ARG_ENABLE(ldbm_api,[      --enable-ldbm-api   use LDBM API],
        auto, [auto berkeley bcompat mdbm gdbm])
        auto, [auto berkeley bcompat mdbm gdbm])
-OL_ARG_WITH(ldbm_type,[      --with-ldbm-type    use LDBM type auto|btree|hash],
+AC_ARG_WITH(ldbm_type,,[
+       AC_MSG_WARN([Please use --enable-ldbm-type instead of --with-ldbm-type])
+       enable_ldbm_type="$with_ldbm_type"])
+OL_ARG_ENABLE(ldbm_type,[      --enable-ldbm-type  use LDBM type],
        auto, [auto btree hash])
        auto, [auto btree hash])
-OL_ARG_ENABLE(meta,[    --enable-meta    enable metadirectory backend no|yes|mod],
-       ${ol_dflt_backends-no}, [no yes mod])dnl
-OL_ARG_ENABLE(monitor,[    --enable-monitor      enable monitor backend no|yes|mod],
-       ${ol_dflt_backends-yes}, [no yes mod])dnl
-OL_ARG_ENABLE(null,[    --enable-null    enable null backend no|yes|mod],
-       ${ol_dflt_backends-no}, [no yes mod])dnl
-OL_ARG_ENABLE(passwd,[    --enable-passwd        enable passwd backend no|yes|mod],
-       ${ol_dflt_backends-no}, [no yes mod])dnl
-OL_ARG_ENABLE(perl,[    --enable-perl    enable perl backend no|yes|mod],
-       ${ol_dflt_backends-no}, [no yes mod])dnl
-OL_ARG_ENABLE(relay,[    --enable-relay          enable relay backend no|yes|mod],
-       ${ol_dflt_backends-yes}, [no yes mod])dnl
-OL_ARG_ENABLE(shell,[    --enable-shell          enable shell backend no|yes|mod],
-       ${ol_dflt_backends-no}, [no yes mod])dnl
-OL_ARG_ENABLE(sql,[    --enable-sql      enable sql backend no|yes|mod],
-       ${ol_dflt_backends-no}, [no yes mod])dnl
+OL_ARG_ENABLE(meta,[    --enable-meta    enable metadirectory backend],
+       no, [no yes mod], ol_enable_backends)dnl
+OL_ARG_ENABLE(monitor,[    --enable-monitor      enable monitor backend],
+       yes, [no yes mod], ol_enable_backends)dnl
+OL_ARG_ENABLE(null,[    --enable-null    enable null backend],
+       no, [no yes mod], ol_enable_backends)dnl
+OL_ARG_ENABLE(passwd,[    --enable-passwd        enable passwd backend],
+       no, [no yes mod], ol_enable_backends)dnl
+OL_ARG_ENABLE(perl,[    --enable-perl    enable perl backend],
+       no, [no yes mod], ol_enable_backends)dnl
+OL_ARG_ENABLE(relay,[    --enable-relay          enable relay backend],
+       yes, [no yes mod], ol_enable_backends)dnl
+OL_ARG_ENABLE(shell,[    --enable-shell          enable shell backend],
+       no, [no yes mod], ol_enable_backends)dnl
+OL_ARG_ENABLE(sql,[    --enable-sql      enable sql backend],
+       no, [no yes mod], ol_enable_backends)dnl
 
 dnl ----------------------------------------------------------------
 dnl SLAPD Overlay Options
 
 dnl ----------------------------------------------------------------
 dnl SLAPD Overlay Options
-Overlays="accesslog denyop dyngroup dynlist glue lastmod ppolicy proxycache \
-       refint retcode rwm syncprov translucent unique"
-
-AC_ARG_WITH(xxslapoverlays,[
+Overlays="accesslog \
+       auditlog \
+       denyop \
+       dyngroup \
+       dynlist \
+       lastmod \
+       ppolicy \
+       proxycache \
+       refint \
+       retcode \
+       rwm \
+       syncprov \
+       translucent \
+       unique \
+       valsort"
+
+AC_ARG_ENABLE(xxslapoverlays,[
 SLAPD Overlay Options:])
 
 SLAPD Overlay Options:])
 
-OL_ARG_ENABLE(overlays,[    --enable-overlays    enable all available overlays no|yes|mod],
+OL_ARG_ENABLE(overlays,[    --enable-overlays    enable all available overlays],
        --, [no yes mod])dnl
        --, [no yes mod])dnl
-test -n "$ol_enable_overlays" && ol_dflt_overlays="$ol_enable_overlays"
-OL_ARG_ENABLE(accesslog,[    --enable-accesslog          In-Directory Access Logging overlay no|yes|mod],
-       ${ol_dflt_overlays-no}, [no yes mod])
-OL_ARG_ENABLE(denyop,[    --enable-denyop        Deny Operation overlay no|yes|mod],
-       ${ol_dflt_overlays-no}, [no yes mod])
-OL_ARG_ENABLE(dyngroup,[    --enable-dyngroup    Dynamic Group overlay no|yes|mod],
-       ${ol_dflt_overlays-no}, [no yes mod])
-OL_ARG_ENABLE(dynlist,[    --enable-dynlist      Dynamic List overlay no|yes|mod],
-       ${ol_dflt_overlays-no}, [no yes mod])
-OL_ARG_ENABLE(glue,[    --enable-glue    Backend Glue overlay no|yes|mod],
-       ${ol_dflt_overlays-yes}, [no yes mod])
-OL_ARG_ENABLE(lastmod,[    --enable-lastmod      Last Modification overlay no|yes|mod],
-       ${ol_dflt_overlays-no}, [no yes mod])
-OL_ARG_ENABLE(ppolicy,[    --enable-ppolicy      Password Policy overlay no|yes|mod],
-       ${ol_dflt_overlays-no}, [no yes mod])
-OL_ARG_ENABLE(proxycache,[    --enable-proxycache        Proxy Cache overlay no|yes|mod],
-       ${ol_dflt_overlays-no}, [no yes mod])
-OL_ARG_ENABLE(refint,[    --enable-refint        Referential Integrity overlay no|yes|mod],
-       ${ol_dflt_overlays-no}, [no yes mod])
-OL_ARG_ENABLE(retcode,[    --enable-retcode      Return Code testing overlay no|yes|mod],
-       ${ol_dflt_overlays-no}, [no yes mod])
-OL_ARG_ENABLE(rwm,[    --enable-rwm              Rewrite/Remap overlay no|yes|mod],
-       ${ol_dflt_overlays-no}, [no yes mod])
-OL_ARG_ENABLE(syncprov,[    --enable-syncprov    Syncrepl Provider overlay no|yes|mod],
-       ${ol_dflt_overlays-yes}, [no yes mod])
-OL_ARG_ENABLE(translucent,[    --enable-translucent  Translucent Proxy overlay no|yes|mod],
-       ${ol_dflt_overlays-no}, [no yes mod])
-OL_ARG_ENABLE(unique,[    --enable-unique       Attribute Uniqueness overlay no|yes|mod],
-       ${ol_dflt_overlays-no}, [no yes mod])
-
+OL_ARG_ENABLE(accesslog,[    --enable-accesslog          In-Directory Access Logging overlay],
+       no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(auditlog,[    --enable-auditlog    Audit Logging overlay],
+       no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(denyop,[    --enable-denyop        Deny Operation overlay],
+       no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(dyngroup,[    --enable-dyngroup    Dynamic Group overlay],
+       no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(dynlist,[    --enable-dynlist      Dynamic List overlay],
+       no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(lastmod,[    --enable-lastmod      Last Modification overlay],
+       no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(ppolicy,[    --enable-ppolicy      Password Policy overlay],
+       no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(proxycache,[    --enable-proxycache        Proxy Cache overlay],
+       no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(refint,[    --enable-refint        Referential Integrity overlay],
+       no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(retcode,[    --enable-retcode      Return Code testing overlay],
+       no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(rwm,[    --enable-rwm              Rewrite/Remap overlay],
+       no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(syncprov,[    --enable-syncprov    Syncrepl Provider overlay],
+       yes, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(translucent,[    --enable-translucent  Translucent Proxy overlay],
+       no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(unique,[    --enable-unique       Attribute Uniqueness overlay],
+       no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(valsort,[    --enable-valsort      Value Sorting overlay],
+       no, [no yes mod], ol_enable_overlays)
 
 dnl ----------------------------------------------------------------
 dnl SLURPD OPTIONS
 
 dnl ----------------------------------------------------------------
 dnl SLURPD OPTIONS
-AC_ARG_WITH(xxslurpdoptions,[
+AC_ARG_ENABLE(xxslurpdoptions,[
 SLURPD (Replication Daemon) Options:])
 OL_ARG_ENABLE(slurpd,[  --enable-slurpd          enable building slurpd], auto)dnl
 
 dnl ----------------------------------------------------------------
 SLURPD (Replication Daemon) Options:])
 OL_ARG_ENABLE(slurpd,[  --enable-slurpd          enable building slurpd], auto)dnl
 
 dnl ----------------------------------------------------------------
-AC_ARG_WITH(xxliboptions,[
+AC_ARG_ENABLE(xxliboptions,[
 Library Generation & Linking Options])
 AC_ENABLE_STATIC
 AC_ENABLE_SHARED
 Library Generation & Linking Options])
 AC_ENABLE_STATIC
 AC_ENABLE_SHARED
@@ -327,11 +437,11 @@ if test $ol_enable_slapd = no ; then
        if test $ol_enable_aci = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-aci argument])
        fi
        if test $ol_enable_aci = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-aci argument])
        fi
-       if test $ol_with_ldbm_api != auto ; then
-               AC_MSG_WARN([slapd disabled, ignoring --with-ldbm-api argument])
+       if test $ol_enable_ldbm_api != auto ; then
+               AC_MSG_WARN([slapd disabled, ignoring --enable-ldbm-api argument])
        fi
        fi
-       if test $ol_with_ldbm_type != auto ; then
-               AC_MSG_WARN([slapd disabled, ignoring --with-ldbm-type argument])
+       if test $ol_enable_ldbm_type != auto ; then
+               AC_MSG_WARN([slapd disabled, ignoring --enable-ldbm-type argument])
        fi
        if test $ol_enable_slurpd = yes ; then
                AC_MSG_ERROR([slurpd requires slapd])
        fi
        if test $ol_enable_slurpd = yes ; then
                AC_MSG_ERROR([slurpd requires slapd])
@@ -362,8 +472,8 @@ if test $ol_enable_slapd = no ; then
        ol_enable_aci=no
        ol_enable_wrappers=no
 
        ol_enable_aci=no
        ol_enable_wrappers=no
 
-       ol_with_ldbm_api=no
-       ol_with_ldbm_type=no
+       ol_enable_ldbm_api=no
+       ol_enable_ldbm_type=no
 
        ol_enable_slurpd=no
 
 
        ol_enable_slurpd=no
 
@@ -372,27 +482,27 @@ if test $ol_enable_slapd = no ; then
 elif test $ol_enable_ldbm = no ; then
        dnl SLAPD without LDBM
 
 elif test $ol_enable_ldbm = no ; then
        dnl SLAPD without LDBM
 
-       if test $ol_with_ldbm_api != auto ; then
-               AC_MSG_WARN([LDBM disabled, ignoring --with-ldbm-api argument])
+       if test $ol_enable_ldbm_api != auto ; then
+               AC_MSG_WARN([LDBM disabled, ignoring --enable-ldbm-api argument])
        fi
 
        fi
 
-       if test $ol_with_ldbm_type != auto ; then
-               AC_MSG_WARN([LDBM disabled, ignoring --with-ldbm-type argument])
+       if test $ol_enable_ldbm_type != auto ; then
+               AC_MSG_WARN([LDBM disabled, ignoring --enable-ldbm-type argument])
        fi
 
        fi
 
-       if test $ol_enable_modules != yes -a \
-               $ol_enable_bdb = no -a \
-               $ol_enable_dnssrv = no -a \
-               $ol_enable_hdb = no -a \
-               $ol_enable_ldap = no -a \
-               $ol_enable_meta = no -a \
-               $ol_enable_monitor = no -a \
-               $ol_enable_null = no -a \
-               $ol_enable_passwd = no -a \
-               $ol_enable_perl = no -a \
-               $ol_enable_relay = no -a \
-               $ol_enable_shell = no -a \
-               $ol_enable_sql = no ; then
+       if test $ol_enable_modules != yes &&
+          test $ol_enable_bdb = no &&
+          test $ol_enable_dnssrv = no &&
+          test $ol_enable_hdb = no &&
+          test $ol_enable_ldap = no &&
+          test $ol_enable_meta = no &&
+          test $ol_enable_monitor = no &&
+          test $ol_enable_null = no &&
+          test $ol_enable_passwd = no &&
+          test $ol_enable_perl = no &&
+          test $ol_enable_relay = no &&
+          test $ol_enable_shell = no &&
+          test $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])
@@ -402,38 +512,38 @@ elif test $ol_enable_ldbm = no ; then
                fi
        fi
 
                fi
        fi
 
-       ol_with_ldbm_api=no
-       ol_with_ldbm_type=no
+       ol_enable_ldbm_api=no
+       ol_enable_ldbm_type=no
 
 
-       if test $ol_enable_bdb != no -o $ol_enable_hdb != no; then
-               ol_with_ldbm_api=berkeley
+       if test $ol_enable_bdb/$ol_enable_hdb != no/no; then
+               ol_enable_ldbm_api=berkeley
        fi
 
 else
        dnl SLAPD with LDBM
        fi
 
 else
        dnl SLAPD with LDBM
-       if test $ol_with_ldbm_api = gdbm -a \
-               $ol_with_ldbm_type = btree ; then
+       if test $ol_enable_ldbm_api = gdbm &&
+          test $ol_enable_ldbm_type = btree ; then
                AC_MSG_ERROR([GDBM only supports LDBM type hash])
        fi
                AC_MSG_ERROR([GDBM only supports LDBM type hash])
        fi
-       if test $ol_with_ldbm_api = mdbm -a \
-               $ol_with_ldbm_type = btree ; then
+       if test $ol_enable_ldbm_api = mdbm &&
+          test $ol_enable_ldbm_type = btree ; then
                AC_MSG_ERROR([MDBM only supports LDBM type hash])
        fi
                AC_MSG_ERROR([MDBM only supports LDBM type hash])
        fi
-       if test $ol_with_ldbm_api = ndbm -a \
-               $ol_with_ldbm_type = btree ; then
+       if test $ol_enable_ldbm_api = ndbm &&
+          test $ol_enable_ldbm_type = btree ; then
                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 != 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_enable_bdb/$ol_enable_hdb != no/no ; then
+               if test $ol_enable_ldbm_api = auto ; then
+                       ol_enable_ldbm_api=berkeley
+               elif test $ol_enable_ldbm_api != berkeley ; then
                        AC_MSG_ERROR([LDBM API not compatible with BDB/HDB])
                fi
        fi
 fi
 
                        AC_MSG_ERROR([LDBM API not compatible with BDB/HDB])
                fi
        fi
 fi
 
-if test $ol_enable_meta = yes -a $ol_enable_ldap = no ; then
+if test $ol_enable_meta/$ol_enable_ldap = yes/no ; then
        AC_MSG_ERROR([--enable-meta requires --enable-ldap])
 fi
 
        AC_MSG_ERROR([--enable-meta requires --enable-ldap])
 fi
 
@@ -508,10 +618,10 @@ BUILD_SHELL=no
 BUILD_SQL=no
 
 BUILD_ACCESSLOG=no
 BUILD_SQL=no
 
 BUILD_ACCESSLOG=no
+BUILD_AUDITLOG=no
 BUILD_DENYOP=no
 BUILD_DYNGROUP=no
 BUILD_DYNLIST=no
 BUILD_DENYOP=no
 BUILD_DYNGROUP=no
 BUILD_DYNLIST=no
-BUILD_GLUE=no
 BUILD_LASTMOD=no
 BUILD_PPOLICY=no
 BUILD_PROXYCACHE=no
 BUILD_LASTMOD=no
 BUILD_PPOLICY=no
 BUILD_PROXYCACHE=no
@@ -521,6 +631,7 @@ BUILD_RWM=no
 BUILD_SYNCPROV=no
 BUILD_TRANSLUCENT=no
 BUILD_UNIQUE=no
 BUILD_SYNCPROV=no
 BUILD_TRANSLUCENT=no
 BUILD_UNIQUE=no
+BUILD_VALSORT=no
 
 SLAPD_STATIC_OVERLAYS=
 SLAPD_DYNAMIC_OVERLAYS=
 
 SLAPD_STATIC_OVERLAYS=
 SLAPD_DYNAMIC_OVERLAYS=
@@ -597,10 +708,11 @@ if test $ol_aix_threads = yes ; then
                fi
        fi
 
                fi
        fi
 
-       if test "${CC}" = "cc_r" -o "${CC}" = "xlc_r" ; then
+       case ${CC} in cc_r | xlc_r)
                ol_with_threads=posix
                ol_cv_pthread_create=yes
                ol_with_threads=posix
                ol_cv_pthread_create=yes
-       fi
+               ;;
+       esac
 fi
 
 if test -z "${CC}"; then
 fi
 
 if test -z "${CC}"; then
@@ -651,18 +763,16 @@ fi
 AC_PROG_CPP
 
 dnl ----------------------------------------------------------------
 AC_PROG_CPP
 
 dnl ----------------------------------------------------------------
-dnl Checks for UNIX Variants
-dnl AC_AIX
-dnl AC_ISC_POSIX
-dnl AC_MINIX
+dnl Checks for Windows NT
+case $host_os in
+  *mingw32* ) ac_cv_mingw32=yes ;;
+  *cygwin* ) ac_cv_cygwin=yes ;;
+esac
 
 dnl ----------------------------------------------------------------
 
 dnl ----------------------------------------------------------------
-dnl Checks for system services
-AC_CYGWIN
-AC_MINGW32
+dnl Checks for file extensions
 AC_EXEEXT
 AC_OBJEXT
 AC_EXEEXT
 AC_OBJEXT
-
 AC_DEFINE_UNQUOTED(EXEEXT, "${EXEEXT}", [defined to be the EXE extension])
 
 dnl ----------------------------------------------------------------
 AC_DEFINE_UNQUOTED(EXEEXT, "${EXEEXT}", [defined to be the EXE extension])
 
 dnl ----------------------------------------------------------------
@@ -671,8 +781,8 @@ AC_CHECK_LIB(be, be_app, [LIBS="$LIBS -lbe -lroot -lnet"], :, [-lroot -lnet])
 
 dnl ----------------------------------------------------------------
 dnl OpenLDAP requires STDC features
 
 dnl ----------------------------------------------------------------
 dnl OpenLDAP requires STDC features
-AM_PROG_CC_STDC
-if test "X${am_cv_prog_cc_stdc}" = "Xno" ; then
+AC_PROG_CC
+if test "X${ac_cv_prog_cc_stdc}" = "Xno" ; then
        AC_MSG_ERROR([OpenLDAP requires compiler to support STDC constructs.])
 fi
 
        AC_MSG_ERROR([OpenLDAP requires compiler to support STDC constructs.])
 fi
 
@@ -749,17 +859,13 @@ fi
 
 AC_HEADER_DIRENT
 AC_HEADER_SYS_WAIT
 
 AC_HEADER_DIRENT
 AC_HEADER_SYS_WAIT
-AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL
-if test $am_cv_sys_posix_termios = yes ; then
-       AC_DEFINE(HAVE_POSIX_TERMIOS,1,
-               [define if you have POSIX termios])
-fi
+AC_HEADER_TIOCGWINSZ
 
 
-AC_CHECK_HEADERS(              \
+AC_CHECK_HEADERS(      \
        arpa/inet.h             \
        arpa/inet.h             \
-       arpa/nameser.h          \
+       arpa/nameser.h  \
        assert.h                \
        assert.h                \
-       bits/types.h            \
+       bits/types.h    \
        conio.h                 \
        crypt.h                 \
        direct.h                \
        conio.h                 \
        crypt.h                 \
        direct.h                \
@@ -772,13 +878,11 @@ AC_CHECK_HEADERS(         \
        libutil.h               \
        limits.h                \
        locale.h                \
        libutil.h               \
        limits.h                \
        locale.h                \
-       netinet/tcp.h           \
        malloc.h                \
        memory.h                \
        psap.h                  \
        pwd.h                   \
        process.h               \
        malloc.h                \
        memory.h                \
        psap.h                  \
        pwd.h                   \
        process.h               \
-       resolv.h                \
        sgtty.h                 \
        shadow.h                \
        stddef.h                \
        sgtty.h                 \
        shadow.h                \
        stddef.h                \
@@ -790,23 +894,42 @@ AC_CHECK_HEADERS(         \
        sys/errno.h             \
        sys/ioctl.h             \
        sys/param.h             \
        sys/errno.h             \
        sys/ioctl.h             \
        sys/param.h             \
-       sys/resource.h          \
-       sys/select.h            \
-       sys/socket.h            \
+       sys/resource.h  \
+       sys/select.h    \
+       sys/socket.h    \
        sys/stat.h              \
        sys/stat.h              \
-       sys/syslog.h            \
+       sys/syslog.h    \
        sys/time.h              \
        sys/types.h             \
        sys/time.h              \
        sys/types.h             \
-       sys/ucred.h             \
        sys/uio.h               \
        syslog.h                \
        termios.h               \
        unistd.h                \
        utime.h                 \
        sys/uio.h               \
        syslog.h                \
        termios.h               \
        unistd.h                \
        utime.h                 \
-       winsock.h               \
-       winsock2.h              \
 )
 
 )
 
+dnl Only check Winsock on MinGW
+if test "$ac_cv_mingw32" = yes ; then
+       AC_CHECK_HEADERS( winsock.h winsock2.h )
+fi
+
+AC_CHECK_HEADERS( resolv.h, [], [],
+[$ac_includes_default
+#include <netinet/in.h>
+])
+
+AC_CHECK_HEADERS( netinet/tcp.h, [], [],
+[$ac_includes_default
+#include <netinet/in.h>
+])
+
+AC_CHECK_HEADERS( sys/ucred.h, [], [],
+[$ac_includes_default
+#ifdef HAVE_SYS_PARAM_H
+#include <sys/param.h>
+#endif
+])
+
 dnl ----------------------------------------------------------------
 dnl Checks for libraries
 
 dnl ----------------------------------------------------------------
 dnl Checks for libraries
 
@@ -821,22 +944,18 @@ 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
-dnl
-dnl Skip Winsock tests on Cygwin
-if test "$ac_cv_cygwin" != yes && test "$ac_cv_header_winsock_h" = yes; then
+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"
 AC_CACHE_CHECK([for winsock], [ol_cv_winsock],
 save_LIBS="$LIBS"
 for curlib in ws2_32 wsock32; do
        LIBS="$LIBS -l$curlib"
-       AC_TRY_LINK([#include <winsock.h>
-                       ],
-                       [
+       AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <winsock.h>
+                       ]], [[
                        socket(0,0,0);
                        select(0,NULL,NULL,NULL,NULL);
                        closesocket(0);
                        gethostname(NULL,0);
                        socket(0,0,0);
                        select(0,NULL,NULL,NULL,NULL);
                        closesocket(0);
                        gethostname(NULL,0);
-                       ],
-                       ol_cv_winsock=yes, ol_cv_winsock=no)
+                       ]])],[ol_cv_winsock=yes],[ol_cv_winsock=no])
 
        if test $ol_cv_winsock = yes; then
                AC_DEFINE(HAVE_WINSOCK, 1, [define if you have winsock])
 
        if test $ol_cv_winsock = yes; then
                AC_DEFINE(HAVE_WINSOCK, 1, [define if you have winsock])
@@ -891,14 +1010,12 @@ dnl ----------------------------------------------------------------
 AC_CHECK_HEADERS( sys/epoll.h )
 if test "${ac_cv_header_sys_epoll_h}" = yes; then
 AC_MSG_CHECKING(for epoll system call)
 AC_CHECK_HEADERS( sys/epoll.h )
 if test "${ac_cv_header_sys_epoll_h}" = yes; then
 AC_MSG_CHECKING(for epoll system call)
-AC_TRY_RUN(
-int main(int argc, char *argv[])
+AC_RUN_IFELSE([AC_LANG_SOURCE([[int main(int argc, char *argv)
 {
        int epfd = epoll_create(256);
        exit (epfd == -1 ? 1 : 0);
 {
        int epfd = epoll_create(256);
        exit (epfd == -1 ? 1 : 0);
-}, [AC_MSG_RESULT(yes)
-AC_DEFINE(HAVE_EPOLL,1, [define if your system supports epoll])],
-AC_MSG_RESULT(no),AC_MSG_RESULT(no))
+}]])],[AC_MSG_RESULT(yes)
+AC_DEFINE(HAVE_EPOLL,1, [define if your system supports epoll])],[AC_MSG_RESULT(no)],[AC_MSG_RESULT(no)])
 fi
 
 dnl ----------------------------------------------------------------
 fi
 
 dnl ----------------------------------------------------------------
@@ -943,15 +1060,13 @@ 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_MSG_CHECKING(to see if -lrpcrt4 is needed for win32 UUID support)
        save_LIBS="$LIBS"
        LIBS="$LIBS -lrpcrt4"
-       AC_TRY_LINK([
+       AC_LINK_IFELSE([AC_LANG_PROGRAM([[
                int __stdcall UuidCreate(void *);
                int __stdcall UuidToStringA(void *,void **);
                int __stdcall UuidCreate(void *);
                int __stdcall UuidToStringA(void *,void **);
-               ],
-               [
+               ]], [[
                UuidCreate(0);
                UuidToStringA(0,0);
                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"
        fi
        if test $need_rpcrt = yes; then
                SLAPD_LIBS="$SLAPD_LIBS -lrpcrt4"
        fi
@@ -977,7 +1092,7 @@ if test "$ol_cv_lib_resolver" != no ; then
        fi
 fi
 
        fi
 fi
 
-if test "$ol_enable_dnssrv" = yes -o "$ol_enable_dnssrv" = mod ; then
+if test "$ol_enable_dnssrv" = yes || test "$ol_enable_dnssrv" = mod ; then
        if test "$ol_link_dnssrv" = no ; then
                AC_MSG_ERROR([DNSSRV requires res_query()])
        fi
        if test "$ol_link_dnssrv" = no ; then
                AC_MSG_ERROR([DNSSRV requires res_query()])
        fi
@@ -993,7 +1108,7 @@ dnl PF_LOCAL may use getaddrinfo in available
 AC_CHECK_FUNCS( getaddrinfo getnameinfo gai_strerror inet_ntop )
 
 ol_link_ipv6=no
 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
+if test $ac_cv_func_getaddrinfo = no || test $ac_cv_func_inet_ntop = no ; then
        if test $ol_enable_ipv6 = yes ; then
                AC_MSG_ERROR([IPv6 support requires getaddrinfo() and inet_ntop()])
        fi
        if test $ol_enable_ipv6 = yes ; then
                AC_MSG_ERROR([IPv6 support requires getaddrinfo() and inet_ntop()])
        fi
@@ -1008,22 +1123,21 @@ elif test $ol_enable_ipv6 != no ; then
 
 
        AC_CACHE_CHECK([struct sockaddr_storage],ol_cv_struct_sockaddr_storage,[
 
 
        AC_CACHE_CHECK([struct sockaddr_storage],ol_cv_struct_sockaddr_storage,[
-               AC_TRY_COMPILE([
+               AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
 #include <sys/types.h>
 #include <sys/socket.h>
 #include <sys/types.h>
 #include <sys/socket.h>
-],[
+]], [[
                        struct sockaddr_storage ss;
                        struct sockaddr_storage ss;
-],                     [ol_cv_struct_sockaddr_storage=yes],
-                       [ol_cv_struct_sockaddr_storage=no])])
+]])],[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
+       if test $ol_cv_inet6_addrstrlen = yes &&
+          test $ol_cv_struct_sockaddr_storage = yes ; then
                ol_link_ipv6=yes
                ol_link_ipv6=yes
-       elif test $ol_enable_ipv6 = yes \
-                       -a $ol_cv_inet6_addrstrlen = no ; then
+       elif test $ol_enable_ipv6 = yes &&
+            test $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
+       elif test $ol_enable_ipv6 = yes &&
+            test $ol_cv_struct_sockaddr_storage = no ; then
                AC_MSG_ERROR([IPv6 support requires struct sockaddr_storage])
        fi
 fi
                AC_MSG_ERROR([IPv6 support requires struct sockaddr_storage])
        fi
 fi
@@ -1044,9 +1158,7 @@ ol_link_kbind=no
 ol_link_krb5=no
 ol_link_krb4=no
 
 ol_link_krb5=no
 ol_link_krb4=no
 
-if test $ol_with_kerberos = yes -o $ol_with_kerberos = auto \
-       -o $ol_with_kerberos = k5 -o $ol_with_kerberos = k5only \
-       -o $ol_with_kerberos = k425 ; then
+case $ol_with_kerberos in yes | auto | k5 | k5only | k425)
 
        AC_CHECK_HEADERS(krb5.h)
 
 
        AC_CHECK_HEADERS(krb5.h)
 
@@ -1104,10 +1216,13 @@ if test $ol_with_kerberos = yes -o $ol_with_kerberos = auto \
                fi
 
        fi
                fi
 
        fi
-fi
+       ;;
+esac
 
 
-if test $ol_link_krb5 = yes -a \( $ol_with_kerberos = yes -o \
-       $ol_with_kerberos = auto -o $ol_with_kerberos = k425 \) ; then
+if test $ol_link_krb5 = yes &&
+   { test $ol_with_kerberos = yes ||
+     test $ol_with_kerberos = auto ||
+     test $ol_with_kerberos = k425; }; then
 
        AC_CHECK_HEADERS(kerberosIV/krb.h kerberosIV/des.h)
 
 
        AC_CHECK_HEADERS(kerberosIV/krb.h kerberosIV/des.h)
 
@@ -1141,13 +1256,13 @@ if test $ol_link_krb5 = yes -a \( $ol_with_kerberos = yes -o \
                                dnl save the flags
                                save_LIBS="$LIBS"
                                LIBS="$KRB4_LIBS $KRB5_LIBS $LIBS"
                                dnl save the flags
                                save_LIBS="$LIBS"
                                LIBS="$KRB4_LIBS $KRB5_LIBS $LIBS"
-                               AC_TRY_LINK([
+                               AC_LINK_IFELSE([AC_LANG_PROGRAM([[
 #include <kerberosIV/krb.h>
 #include <kerberosIV/des.h>
 extern int des_debug;
 #include <kerberosIV/krb.h>
 #include <kerberosIV/des.h>
 extern int des_debug;
-],[
+]], [[
 des_debug = 1;
 des_debug = 1;
-],                             ol_cv_var_des_debug=yes, ol_cv_var_des_debug=no)
+]])],[ol_cv_var_des_debug=yes],[ol_cv_var_des_debug=no])
                                dnl restore the LIBS
                                LIBS="$save_LIBS"
                        ])
                                dnl restore the LIBS
                                LIBS="$save_LIBS"
                        ])
@@ -1166,8 +1281,7 @@ if test $ol_link_krb5 = yes ; then
        ol_with_kerberos=found
 fi
 
        ol_with_kerberos=found
 fi
 
-if test $ol_with_kerberos = yes -o $ol_with_kerberos = auto \
-       -o $ol_with_kerberos = k4 -o $ol_with_kerberos = kth ; then
+case $ol_with_kerberos in yes | auto | k4 | kth)
 
        AC_CHECK_HEADERS(krb.h des.h krb-archaeology.h )
 
 
        AC_CHECK_HEADERS(krb.h des.h krb-archaeology.h )
 
@@ -1189,19 +1303,20 @@ if test $ol_with_kerberos = yes -o $ol_with_kerberos = auto \
                        fi
                fi
        fi
                        fi
                fi
        fi
-fi
+       ;;
+esac
 
 
-if test $ol_link_krb4 = yes -a $ol_enable_kbind != no ; then
+if test $ol_link_krb4 = yes && test $ol_enable_kbind != no ; then
        ol_link_kbind=yes
 
 elif test $ol_enable_kbind = yes ; then
        AC_MSG_ERROR([Kerberos IV detection failed])
 fi
 
        ol_link_kbind=yes
 
 elif test $ol_enable_kbind = yes ; then
        AC_MSG_ERROR([Kerberos IV detection failed])
 fi
 
-if test $ol_link_krb4 = yes -o $ol_link_krb5 = yes ; then
+if test $ol_link_krb4 = yes || test $ol_link_krb5 = yes ; then
        AC_DEFINE(HAVE_KERBEROS, 1, [define if you have Kerberos])
 
        AC_DEFINE(HAVE_KERBEROS, 1, [define if you have Kerberos])
 
-elif test $ol_with_kerberos != auto -a $ol_with_kerberos != no ; then
+elif test $ol_with_kerberos != auto && test $ol_with_kerberos != no ; then
        AC_MSG_ERROR([Kerberos detection failed])
 fi
 
        AC_MSG_ERROR([Kerberos detection failed])
 fi
 
@@ -1210,40 +1325,31 @@ dnl TLS/SSL
        
 ol_link_tls=no
 if test $ol_with_tls != no ; then
        
 ol_link_tls=no
 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
-               AC_CHECK_LIB(ssl, SSLeay_add_ssl_algorithms, 
-                       [have_ssleay=yes
-                       need_rsaref=no],
-                       [have_ssleay=no],
+       AC_CHECK_HEADERS(openssl/ssl.h)
+
+       if test $ac_cv_header_openssl_ssl_h = yes ; then
+               AC_CHECK_LIB(ssl, SSL_library_init,
+                       [have_openssl=yes
+                       need_rsaref=no], [have_openssl=no],
                        [-lcrypto])
                        [-lcrypto])
-                       
-               if test $have_ssleay = no ; then
-                       AC_CHECK_LIB(ssl, SSL_library_init,
-                               [have_ssleay=yes
-                               need_rsaref=no], [have_ssleay=no],
-                               [-lcrypto])
-               fi
 
 
-               if test $have_ssleay = no ; then
+               if test $have_openssl = no ; then
                        AC_CHECK_LIB(ssl, ssl3_accept, 
                        AC_CHECK_LIB(ssl, ssl3_accept, 
-                               [have_ssleay=yes
-                               need_rsaref=yes], [have_ssleay=no],
+                               [have_openssl=yes
+                               need_rsaref=yes], [have_openssl=no],
                                [-lcrypto -lRSAglue -lrsaref])
                fi
 
                                [-lcrypto -lRSAglue -lrsaref])
                fi
 
-               if test $have_ssleay = yes ; then
+               if test $have_openssl = yes ; then
                        ol_with_tls=found
                        ol_link_tls=yes
 
                        ol_with_tls=found
                        ol_link_tls=yes
 
-                       AC_DEFINE(HAVE_SSLEAY, 1, 
-                               [define if you have SSLeay or OpenSSL])
+                       AC_DEFINE(HAVE_OPENSSL, 1, 
+                               [define if you have OpenSSL])
 
                        if test $need_rsaref = yes; then
                                AC_DEFINE(HAVE_RSAREF, 1, 
 
                        if test $need_rsaref = yes; then
                                AC_DEFINE(HAVE_RSAREF, 1, 
-                                       [define if you have RSAref])
+                                       [define if OpenSSL needs RSAref])
 
                                TLS_LIBS="-lssl -lcrypto -lRSAglue -lrsaref"
                        else
 
                                TLS_LIBS="-lssl -lcrypto -lRSAglue -lrsaref"
                        else
@@ -1260,7 +1366,7 @@ if test $ol_with_tls != no ; then
        fi
 
 else
        fi
 
 else
-       AC_WARN([TLS data protection not supported!])
+       AC_MSG_WARN([TLS data protection not supported!])
 fi
 
 WITH_TLS=no
 fi
 
 WITH_TLS=no
@@ -1269,18 +1375,18 @@ if test $ol_link_tls = yes ; then
        WITH_TLS=yes
 
 elif test $ol_with_tls = auto ; then
        WITH_TLS=yes
 
 elif test $ol_with_tls = auto ; then
-       AC_WARN([Could not locate TLS/SSL package])
-       AC_WARN([TLS data protection not supported!])
+       AC_MSG_WARN([Could not locate TLS/SSL package])
+       AC_MSG_WARN([TLS data protection not supported!])
 
 elif test $ol_with_tls != no ; then
 
 elif test $ol_with_tls != no ; then
-       AC_ERROR([Could not locate TLS/SSL package])
+       AC_MSG_ERROR([Could not locate TLS/SSL package])
 fi
 
 dnl ----------------------------------------------------------------
 dnl LAN Manger password checking requires DES from OpenSSL
 if test $ol_enable_lmpasswd != no; then
        if test $ol_link_tls != yes ; then
 fi
 
 dnl ----------------------------------------------------------------
 dnl LAN Manger password checking requires DES from OpenSSL
 if test $ol_enable_lmpasswd != no; then
        if test $ol_link_tls != yes ; then
-               AC_ERROR([LAN Manager passwords require OpenSSL])
+               AC_MSG_ERROR([LAN Manager passwords require OpenSSL])
        fi
 
        AC_DEFINE(SLAPD_LMHASH, 1, [define to support LAN Manager passwords])
        fi
 
        AC_DEFINE(SLAPD_LMHASH, 1, [define to support LAN Manager passwords])
@@ -1290,8 +1396,7 @@ dnl ----------------------------------------------------------------
 dnl Threads?
 ol_link_threads=no
 
 dnl Threads?
 ol_link_threads=no
 
-if test $ol_with_threads = auto -o $ol_with_threads = yes \
-       -o $ol_with_threads = nt ; then
+case $ol_with_threads in auto | yes | nt)
 
        OL_NT_THREADS
 
 
        OL_NT_THREADS
 
@@ -1307,10 +1412,10 @@ if test $ol_with_threads = auto -o $ol_with_threads = yes \
        if test $ol_with_threads = nt ; then
                AC_MSG_ERROR([could not locate NT Threads])
        fi
        if test $ol_with_threads = nt ; then
                AC_MSG_ERROR([could not locate NT Threads])
        fi
-fi
+       ;;
+esac
 
 
-if test $ol_with_threads = auto -o $ol_with_threads = yes \
-       -o $ol_with_threads = posix ; then
+case $ol_with_threads in auto | yes | posix)
 
        AC_CHECK_HEADERS(pthread.h)
 
 
        AC_CHECK_HEADERS(pthread.h)
 
@@ -1370,12 +1475,12 @@ if test $ol_with_threads = auto -o $ol_with_threads = yes \
                dnl pthread_create in $LIBS
                AC_CACHE_CHECK([for pthread_create in default libraries],
                        ol_cv_pthread_create,[
                dnl pthread_create in $LIBS
                AC_CACHE_CHECK([for pthread_create in default libraries],
                        ol_cv_pthread_create,[
-               AC_TRY_RUN(OL_PTHREAD_TEST_PROGRAM,
-                       [ol_cv_pthread_create=yes],
-                       [ol_cv_pthread_create=no],
-                       [AC_TRY_LINK(OL_PTHREAD_TEST_INCLUDES,OL_PTHREAD_TEST_FUNCTION,
+                       AC_RUN_IFELSE([OL_PTHREAD_TEST_PROGRAM],
                                [ol_cv_pthread_create=yes],
                                [ol_cv_pthread_create=yes],
-                               [ol_cv_pthread_create=no])])])
+                               [ol_cv_pthread_create=no],
+                               [AC_TRY_LINK(OL_PTHREAD_TEST_INCLUDES,OL_PTHREAD_TEST_FUNCTION,
+                                       [ol_cv_pthread_create=yes],
+                                       [ol_cv_pthread_create=no])])])
 
                if test $ol_cv_pthread_create != no ; then
                        ol_link_threads=posix
 
                if test $ol_cv_pthread_create != no ; then
                        ol_link_threads=posix
@@ -1426,9 +1531,9 @@ dnl                       [ol_cv_pthread_lpthread_lexc])
                        dnl check for both, and thr_yield for Solaris
                        AC_CHECK_FUNCS(sched_yield pthread_yield thr_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 \
-                               $ac_cv_func_pthread_yield = no -a \
-                               $ac_cv_func_thr_yield = no ; then
+                       if test $ac_cv_func_sched_yield = no &&
+                          test $ac_cv_func_pthread_yield = no &&
+                          test $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"
@@ -1437,9 +1542,9 @@ 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 -a \
-                               "$ac_cv_func_thr_yield" = no ; then
+                       if test $ac_cv_func_sched_yield = no &&
+                          test $ac_cv_func_pthread_yield = no &&
+                          test "$ac_cv_func_thr_yield" = no ; then
                                AC_MSG_WARN([could not locate sched_yield() or pthread_yield()])
                        fi
 
                                AC_MSG_WARN([could not locate sched_yield() or pthread_yield()])
                        fi
 
@@ -1451,15 +1556,12 @@ dnl                     [ol_cv_pthread_lpthread_lexc])
                        AC_CACHE_CHECK([for pthread_detach with <pthread.h>],
                                [ol_cv_func_pthread_detach], [
                                dnl save the flags
                        AC_CACHE_CHECK([for pthread_detach with <pthread.h>],
                                [ol_cv_func_pthread_detach], [
                                dnl save the flags
-                               AC_TRY_LINK([
+                               AC_LINK_IFELSE([AC_LANG_PROGRAM([[
 #include <pthread.h>
 #ifndef NULL
 #define NULL (void*)0
 #endif
 #include <pthread.h>
 #ifndef NULL
 #define NULL (void*)0
 #endif
-],
-                                       [pthread_detach(NULL);],
-                                       [ol_cv_func_pthread_detach=yes],
-                                       [ol_cv_func_pthread_detach=no])
+]], [[pthread_detach(NULL);]])],[ol_cv_func_pthread_detach=yes],[ol_cv_func_pthread_detach=no])
                        ])
 
                        if test $ol_cv_func_pthread_detach = no ; then
                        ])
 
                        if test $ol_cv_func_pthread_detach = no ; then
@@ -1486,7 +1588,7 @@ dnl                       [ol_cv_pthread_lpthread_lexc])
 
                        AC_CACHE_CHECK([if pthread_create() works],
                                ol_cv_pthread_create_works,[
 
                        AC_CACHE_CHECK([if pthread_create() works],
                                ol_cv_pthread_create_works,[
-                       AC_TRY_RUN(OL_PTHREAD_TEST_PROGRAM,
+                       AC_RUN_IFELSE([OL_PTHREAD_TEST_PROGRAM],
                                [ol_cv_pthread_create_works=yes],
                                [ol_cv_pthread_create_works=no],
                                [dnl assume yes
                                [ol_cv_pthread_create_works=yes],
                                [ol_cv_pthread_create_works=no],
                                [dnl assume yes
@@ -1496,11 +1598,24 @@ dnl                     [ol_cv_pthread_lpthread_lexc])
                                AC_MSG_ERROR([pthread_create is not usable, check environment settings])
                        fi
 
                                AC_MSG_ERROR([pthread_create is not usable, check environment settings])
                        fi
 
+                       ol_replace_broken_yield=no
+dnl                    case "$target" in
+dnl                    *-*-linux*) 
+dnl                            AC_CHECK_FUNCS(nanosleep)
+dnl                            ol_replace_broken_yield=yes
+dnl                    ;;
+dnl                    esac
+
+                       if test $ol_replace_broken_yield = yes ; then
+                               AC_DEFINE([REPLACE_BROKEN_YIELD],1,
+                                       [define if sched_yield yields the entire process])
+                       fi
+
                        dnl Check if select causes an yield
                        if test $ol_with_yielding_select = auto ; then
                                AC_CACHE_CHECK([if select yields when using pthreads],
                                        ol_cv_pthread_select_yields,[
                        dnl Check if select causes an yield
                        if test $ol_with_yielding_select = auto ; then
                                AC_CACHE_CHECK([if select yields when using pthreads],
                                        ol_cv_pthread_select_yields,[
-                               AC_TRY_RUN([
+                               AC_RUN_IFELSE([AC_LANG_SOURCE([[
 #include <sys/types.h>
 #include <sys/time.h>
 #include <unistd.h>
 #include <sys/types.h>
 #include <sys/time.h>
 #include <unistd.h>
@@ -1573,10 +1688,7 @@ int main(argc, argv)
 #endif
 
        exit(2);
 #endif
 
        exit(2);
-}],
-                               [ol_cv_pthread_select_yields=no],
-                               [ol_cv_pthread_select_yields=yes],
-                               [ol_cv_pthread_select_yields=cross])])
+}]])],[ol_cv_pthread_select_yields=no],[ol_cv_pthread_select_yields=yes],[ol_cv_pthread_select_yields=cross])])
 
                                if test $ol_cv_pthread_select_yields = cross ; then
                                        AC_MSG_ERROR([crossing compiling: use --with-yielding_select=yes|no|manual])
 
                                if test $ol_cv_pthread_select_yields = cross ; then
                                        AC_MSG_ERROR([crossing compiling: use --with-yielding_select=yes|no|manual])
@@ -1598,10 +1710,10 @@ int main(argc, argv)
        if test $ol_with_threads = posix ; then
                AC_MSG_ERROR([could not locate POSIX Threads])
        fi
        if test $ol_with_threads = posix ; then
                AC_MSG_ERROR([could not locate POSIX Threads])
        fi
-fi
+       ;;
+esac
 
 
-if test $ol_with_threads = auto -o $ol_with_threads = yes \
-       -o $ol_with_threads = mach ; then
+case $ol_with_threads in auto | yes | mach)
 
        dnl check for Mach CThreads
        AC_CHECK_HEADERS(mach/cthreads.h cthreads.h)
 
        dnl check for Mach CThreads
        AC_CHECK_HEADERS(mach/cthreads.h cthreads.h)
@@ -1619,9 +1731,9 @@ if test $ol_with_threads = auto -o $ol_with_threads = yes \
                                dnl save the flags
                                save_LIBS="$LIBS"
                                LIBS="-all_load $LIBS"
                                dnl save the flags
                                save_LIBS="$LIBS"
                                LIBS="-all_load $LIBS"
-                               AC_TRY_LINK([#include <mach/cthreads.h>],[
+                               AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <mach/cthreads.h>]], [[
                                        cthread_fork((void *)0, (void *)0);
                                        cthread_fork((void *)0, (void *)0);
-                                       ], ol_cv_cthread_all_load=yes, ol_cv_cthread_all_load=no)
+                                       ]])],[ol_cv_cthread_all_load=yes],[ol_cv_cthread_all_load=no])
                                dnl restore the LIBS
                                LIBS="$save_LIBS"
                        ])
                                dnl restore the LIBS
                                LIBS="$save_LIBS"
                        ])
@@ -1663,10 +1775,10 @@ if test $ol_with_threads = auto -o $ol_with_threads = yes \
        elif test $ol_with_threads = found ; then
                AC_MSG_ERROR([could not link with Mach CThreads])
        fi
        elif test $ol_with_threads = found ; then
                AC_MSG_ERROR([could not link with Mach CThreads])
        fi
-fi
+       ;;
+esac
 
 
-if test $ol_with_threads = auto -o $ol_with_threads = yes \
-       -o $ol_with_threads = pth ; then
+case $ol_with_threads in auto | yes | pth)
 
        AC_CHECK_HEADERS(pth.h)
 
 
        AC_CHECK_HEADERS(pth.h)
 
@@ -1684,14 +1796,15 @@ if test $ol_with_threads = auto -o $ol_with_threads = yes \
                        fi
                fi
        fi
                        fi
                fi
        fi
-fi
+       ;;
+esac
 
 
-if test $ol_with_threads = auto -o $ol_with_threads = yes \
-       -o $ol_with_threads = lwp ; then
+case $ol_with_threads in auto | yes | lwp)
 
        dnl check for SunOS5 LWP
        AC_CHECK_HEADERS(thread.h synch.h)
 
        dnl check for SunOS5 LWP
        AC_CHECK_HEADERS(thread.h synch.h)
-       if test $ac_cv_header_thread_h = yes -a $ac_cv_header_synch_h = yes ; then
+       if test $ac_cv_header_thread_h = yes &&
+          test $ac_cv_header_synch_h = yes ; then
                AC_CHECK_LIB(thread, thr_create, [have_thr=yes], [have_thr=no])
 
                if test $have_thr = yes ; then
                AC_CHECK_LIB(thread, thr_create, [have_thr=yes], [have_thr=no])
 
                if test $have_thr = yes ; then
@@ -1728,7 +1841,8 @@ if test $ol_with_threads = auto -o $ol_with_threads = yes \
                        fi
                fi
        fi
                        fi
                fi
        fi
-fi
+       ;;
+esac
 
 if test $ol_with_yielding_select = yes ; then
        AC_DEFINE(HAVE_YIELDING_SELECT,1,
 
 if test $ol_with_yielding_select = yes ; then
        AC_DEFINE(HAVE_YIELDING_SELECT,1,
@@ -1750,7 +1864,7 @@ if test $ol_with_threads = manual ; then
        AC_CHECK_HEADERS(thread.h synch.h)
 fi
 
        AC_CHECK_HEADERS(thread.h synch.h)
 fi
 
-if test $ol_link_threads != no -a $ol_link_threads != nt ; then  
+if test $ol_link_threads != no && test $ol_link_threads != nt ; then
        dnl needed to get reentrant/threadsafe versions
        dnl
        AC_DEFINE(REENTRANT,1)
        dnl needed to get reentrant/threadsafe versions
        dnl
        AC_DEFINE(REENTRANT,1)
@@ -1765,22 +1879,18 @@ if test $ol_link_threads != no -a $ol_link_threads != nt ; then
        dnl If it does, we must link with thread support.
        AC_CACHE_CHECK([for thread specific errno],
                [ol_cv_errno_thread_specific], [
        dnl If it does, we must link with thread support.
        AC_CACHE_CHECK([for thread specific errno],
                [ol_cv_errno_thread_specific], [
-               AC_TRY_LINK([#include <errno.h>], [errno = 0;],
-                       [ol_cv_errno_thread_specific=yes],
-                       [ol_cv_errno_thread_specific=no])
+               AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <errno.h>]], [[errno = 0;]])],[ol_cv_errno_thread_specific=yes],[ol_cv_errno_thread_specific=no])
        ])
 
        dnl The h_errno declaration may dependent upon _REENTRANT.
        dnl If it does, we must link with thread support.
        AC_CACHE_CHECK([for thread specific h_errno],
                [ol_cv_h_errno_thread_specific], [
        ])
 
        dnl The h_errno declaration may dependent upon _REENTRANT.
        dnl If it does, we must link with thread support.
        AC_CACHE_CHECK([for thread specific h_errno],
                [ol_cv_h_errno_thread_specific], [
-               AC_TRY_LINK([#include <netdb.h>], [h_errno = 0;],
-                       [ol_cv_h_errno_thread_specific=yes],
-                       [ol_cv_h_errno_thread_specific=no])
+               AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <netdb.h>]], [[h_errno = 0;]])],[ol_cv_h_errno_thread_specific=yes],[ol_cv_h_errno_thread_specific=no])
        ])
 
        ])
 
-       if test $ol_cv_errno_thread_specific != yes \
-               -o $ol_cv_h_errno_thread_specific != yes ; then
+       if test $ol_cv_errno_thread_specific != yes ||
+          test $ol_cv_h_errno_thread_specific != yes ; then
                LIBS="$LTHREAD_LIBS $LIBS"
                LTHREAD_LIBS=""
        fi
                LIBS="$LTHREAD_LIBS $LIBS"
                LTHREAD_LIBS=""
        fi
@@ -1849,10 +1959,14 @@ if test $ol_link_threads = no ; then
        AC_DEFINE(NO_THREADS,1,
                [define if you have (or want) no threads])
        LTHREAD_LIBS=""
        AC_DEFINE(NO_THREADS,1,
                [define if you have (or want) no threads])
        LTHREAD_LIBS=""
+       BUILD_THREAD=no
+else
+       BUILD_THREAD=yes
 fi
 
 if test $ol_link_threads != no ; then
 fi
 
 if test $ol_link_threads != no ; then
-       AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_THREAD_SAFE,1)
+       AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_THREAD_SAFE,1,
+               [define to 1 if library is thread safe])
 fi
 
 dnl ----------------------------------------------------------------
 fi
 
 dnl ----------------------------------------------------------------
@@ -1884,11 +1998,9 @@ fi
 dnl ----------------------------------------------------------------
 ol_link_ldbm=no 
 
 dnl ----------------------------------------------------------------
 ol_link_ldbm=no 
 
-if test $ol_with_ldbm_api = auto \
-       -o $ol_with_ldbm_api = berkeley \
-       -o $ol_with_ldbm_api = bcompat ; then
+case $ol_enable_ldbm_api in auto | berkeley | bcompat)
 
 
-       if test $ol_with_ldbm_api = bcompat; then \
+       if test $ol_enable_ldbm_api = bcompat; then \
                OL_BERKELEY_COMPAT_DB
        else
                OL_BERKELEY_DB
                OL_BERKELEY_COMPAT_DB
        else
                OL_BERKELEY_DB
@@ -1899,9 +2011,9 @@ if test $ol_with_ldbm_api = auto \
                        [define this if Berkeley DB is available])
 
                ol_link_ldbm=berkeley
                        [define this if Berkeley DB is available])
 
                ol_link_ldbm=berkeley
-               ol_with_ldbm_api=berkeley
+               ol_enable_ldbm_api=berkeley
 
 
-               if test $ol_with_ldbm_type = hash ; then
+               if test $ol_enable_ldbm_type = hash ; then
                        AC_DEFINE(LDBM_USE_DBHASH,1,
                                [define this to use DBHASH w/ LDBM backend])
                else
                        AC_DEFINE(LDBM_USE_DBHASH,1,
                                [define this to use DBHASH w/ LDBM backend])
                else
@@ -1915,9 +2027,10 @@ if test $ol_with_ldbm_api = auto \
                        LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_db"
                fi
        fi
                        LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_db"
                fi
        fi
-fi
+       ;;
+esac
 
 
-if test $ol_enable_bdb != no -o $ol_enable_hdb != no; then
+if test $ol_enable_bdb/$ol_enable_hdb != no/no; then
        if test $ol_link_ldbm != berkeley ; then
                AC_MSG_ERROR(BDB/HDB: BerkeleyDB not available)
        else
        if test $ol_link_ldbm != berkeley ; then
                AC_MSG_ERROR(BDB/HDB: BerkeleyDB not available)
        else
@@ -1929,29 +2042,29 @@ if test $ol_enable_bdb != no -o $ol_enable_hdb != no; then
        fi
 fi
 
        fi
 fi
 
-if test $ol_link_ldbm = no -a $ol_with_ldbm_type = btree ; then
+if test $ol_link_ldbm = no && test $ol_enable_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
+       ol_enable_ldbm_api=none
 fi
 
 fi
 
-if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = mdbm ; then
+if test $ol_enable_ldbm_api = auto || test $ol_enable_ldbm_api = mdbm ; then
        OL_MDBM
 
        if test $ol_cv_mdbm = yes ; then
                ol_link_ldbm=mdbm
        OL_MDBM
 
        if test $ol_cv_mdbm = yes ; then
                ol_link_ldbm=mdbm
-               ol_with_ldbm_api=mdbm
+               ol_enable_ldbm_api=mdbm
                if test $ol_cv_lib_mdbm != yes ; then
                        LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_mdbm"
                fi
        fi
 fi
 
                if test $ol_cv_lib_mdbm != yes ; then
                        LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_mdbm"
                fi
        fi
 fi
 
-if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = gdbm ; then
+if test $ol_enable_ldbm_api = auto || test $ol_enable_ldbm_api = gdbm ; then
        OL_GDBM
 
        if test $ol_cv_gdbm = yes ; then
                ol_link_ldbm=gdbm
        OL_GDBM
 
        if test $ol_cv_gdbm = yes ; then
                ol_link_ldbm=gdbm
-               ol_with_ldbm_api=gdbm
+               ol_enable_ldbm_api=gdbm
 
                if test $ol_cv_lib_gdbm != yes ; then
                        LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_gdbm"
 
                if test $ol_cv_lib_gdbm != yes ; then
                        LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_gdbm"
@@ -1959,12 +2072,12 @@ if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = gdbm ; then
        fi
 fi
 
        fi
 fi
 
-if test $ol_with_ldbm_api = ndbm ; then
+if test $ol_enable_ldbm_api = ndbm ; then
        OL_NDBM
 
        if test $ol_cv_ndbm = yes ; then
                ol_link_ldbm=ndbm
        OL_NDBM
 
        if test $ol_cv_ndbm = yes ; then
                ol_link_ldbm=ndbm
-               ol_with_ldbm_api=ndbm
+               ol_enable_ldbm_api=ndbm
 
                if test $ol_cv_lib_ndbm != yes ; then
                        LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_ndbm"
 
                if test $ol_cv_lib_ndbm != yes ; then
                        LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_ndbm"
@@ -1972,19 +2085,19 @@ if test $ol_with_ldbm_api = ndbm ; then
        fi
 fi
 
        fi
 fi
 
-if test $ol_link_ldbm = no -a $ol_enable_ldbm != no ; then
+if test $ol_link_ldbm = no && test $ol_enable_ldbm != no ; then
        AC_MSG_ERROR([could not find suitable LDBM backend])
 fi
 
        AC_MSG_ERROR([could not find suitable LDBM backend])
 fi
 
-if test $ol_enable_bdb = yes -o \
-       $ol_enable_hdb = yes -o \
-       $ol_enable_ldbm = yes ; then
+if test $ol_enable_bdb = yes ||
+   test $ol_enable_hdb = yes ||
+   test $ol_enable_ldbm = yes ; then
        SLAPD_LIBS="$SLAPD_LIBS \$(LDBM_LIBS)"
 fi
 
 dnl ----------------------------------------------------------------
 
        SLAPD_LIBS="$SLAPD_LIBS \$(LDBM_LIBS)"
 fi
 
 dnl ----------------------------------------------------------------
 
-if test $ol_enable_dynamic = yes -a $enable_shared = yes ; then
+if test $ol_enable_dynamic = yes && test $enable_shared = yes ; then
        BUILD_LIBS_DYNAMIC=shared
        AC_DEFINE(LDAP_LIBS_DYNAMIC, 1, [define if LDAP libs are dynamic])
        LTSTATIC=""
        BUILD_LIBS_DYNAMIC=shared
        AC_DEFINE(LDAP_LIBS_DYNAMIC, 1, [define if LDAP libs are dynamic])
        LTSTATIC=""
@@ -2000,15 +2113,15 @@ if test $ol_enable_wrappers != no ; then
                AC_MSG_CHECKING([for TCP wrappers library])
                save_LIBS="$LIBS"
                LIBS="$LIBS -lwrap"
                AC_MSG_CHECKING([for TCP wrappers library])
                save_LIBS="$LIBS"
                LIBS="$LIBS -lwrap"
-               AC_TRY_LINK([
+               AC_LINK_IFELSE([AC_LANG_PROGRAM([[
 #include <tcpd.h>
 int allow_severity = 0;
 int deny_severity  = 0;
 
 struct request_info *req;
 #include <tcpd.h>
 int allow_severity = 0;
 int deny_severity  = 0;
 
 struct request_info *req;
-               ],[
+               ]], [[
 hosts_access(req)
 hosts_access(req)
-               ],[AC_MSG_RESULT([-lwrap])
+               ]])],[AC_MSG_RESULT([-lwrap])
                have_wrappers=yes
                LIBS="$save_LIBS"],[
                dnl try with -lnsl
                have_wrappers=yes
                LIBS="$save_LIBS"],[
                dnl try with -lnsl
@@ -2026,8 +2139,7 @@ hosts_access(req)
                LIBS="$save_LIBS -lnsl"],[
                AC_MSG_RESULT(no)
                have_wrappers=no
                LIBS="$save_LIBS -lnsl"],[
                AC_MSG_RESULT(no)
                have_wrappers=no
-               LIBS=$save_LIBS])],[
-               have_wrappers=no])],[have_wrappers=no])
+               LIBS=$save_LIBS])])],[have_wrappers=no])
 
        if test $have_wrappers = yes ; then
                AC_DEFINE(HAVE_TCPD,1, [define if you have -lwrap])
 
        if test $have_wrappers = yes ; then
                AC_DEFINE(HAVE_TCPD,1, [define if you have -lwrap])
@@ -2043,19 +2155,12 @@ fi
 dnl ----------------------------------------------------------------
 if test $ol_enable_syslog != no ; then
        AC_CHECK_FUNC(openlog)
 dnl ----------------------------------------------------------------
 if test $ol_enable_syslog != no ; then
        AC_CHECK_FUNC(openlog)
-       if test $ac_cv_func_openlog = no -a $ol_enable_syslog = yes; then
+       if test $ac_cv_func_openlog = no && test $ol_enable_syslog = yes; then
                AC_MSG_ERROR(could not find syslog, select appropriate options or disable)
        fi
        ol_enable_syslog=$ac_cv_func_openlog
 fi
 
                AC_MSG_ERROR(could not find syslog, select appropriate options or disable)
        fi
        ol_enable_syslog=$ac_cv_func_openlog
 fi
 
-dnl ----------------------------------------------------------------
-dnl dmalloc support (deprecated in favor of -DCSRIMALLOC support)
-dnl if test $ol_enable_dmalloc != no ; then
-dnl    AC_CHECK_HEADERS(dmalloc.h)
-dnl    AC_CHECK_LIB(dmalloc, dmalloc_shutdown)
-dnl fi
-
 dnl ----------------------------------------------------------------
 dnl SQL
 ol_link_sql=no
 dnl ----------------------------------------------------------------
 dnl SQL
 ol_link_sql=no
@@ -2067,16 +2172,34 @@ if test $ol_enable_sql != no ; then
        sql_LIBS="$LIBS"
        LIBS="$LTHREAD_LIBS"
 
        sql_LIBS="$LIBS"
        LIBS="$LTHREAD_LIBS"
 
-       AC_CHECK_LIB(iodbc,SQLDriverConnect,[have_iodbc=yes],[have_iodbc=no])
-       if test $have_iodbc = yes ; then
-               ol_link_sql="-liodbc"
-       else
-               AC_CHECK_LIB(odbc,SQLDriverConnect,[have_odbc=yes],[have_odbc=no])
-               if test $have_odbc = yes ; then
-                       ol_link_sql="-lodbc"
-               fi
+       if test $ol_with_odbc = auto ; then
+               ol_with_odbc="iodbc unixodbc"
        fi
 
        fi
 
+       for odbc in $ol_with_odbc ; do
+               if test $ol_link_sql = no ; then
+                       case $odbc in
+                       iodbc)
+                               AC_CHECK_LIB(iodbc, SQLDriverConnect, [have_iodbc=yes], [have_iodbc=no])
+                               if test $have_iodbc = yes ; then
+                                       ol_link_sql="-liodbc"
+                               fi
+                               ;;
+
+                       unixodbc)
+                               AC_CHECK_LIB(odbc, SQLDriverConnect, [have_odbc=yes], [have_odbc=no])
+                               if test $have_odbc = yes ; then
+                                       ol_link_sql="-lodbc"
+                               fi
+                               ;;
+
+                       *)
+                               AC_MSG_ERROR([unknown ODBC library])
+                               ;;
+                       esac
+               fi
+       done
+
        LIBS="$sql_LIBS"
 
        if test $ol_link_sql != no ; then
        LIBS="$sql_LIBS"
 
        if test $ol_link_sql != no ; then
@@ -2097,7 +2220,8 @@ ol_link_spasswd=no
 if test $ol_with_cyrus_sasl != no ; then
        AC_CHECK_HEADERS(sasl/sasl.h sasl.h)
 
 if test $ol_with_cyrus_sasl != no ; then
        AC_CHECK_HEADERS(sasl/sasl.h sasl.h)
 
-       if test $ac_cv_header_sasl_sasl_h = yes -o $ac_cv_header_sasl_h = yes; then
+       if test $ac_cv_header_sasl_sasl_h = yes ||
+          test $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,
@@ -2145,7 +2269,7 @@ fi
 
 dnl ----------------------------------------------------------------
 dnl Check for entropy sources
 
 dnl ----------------------------------------------------------------
 dnl Check for entropy sources
-if test $cross_compiling != yes -a "$ac_cv_mingw32" != yes ; then
+if test $cross_compiling != yes && test "$ac_cv_mingw32" != yes ; then
        dev=no
        if test -r /dev/urandom ; then
                dev="/dev/urandom";
        dev=no
        if test -r /dev/urandom ; then
                dev="/dev/urandom";
@@ -2216,7 +2340,7 @@ if test $ol_enable_proctitle != no ; then
                        [have_setproctitle=yes
                        LUTIL_LIBS="$LUTIL_LIBS -lutil"],
                        [have_setproctitle=no
                        [have_setproctitle=yes
                        LUTIL_LIBS="$LUTIL_LIBS -lutil"],
                        [have_setproctitle=no
-                       LIBOBJS="$LIBOBJS setproctitle.o"
+                       AC_LIBOBJ(setproctitle)
                        LIBSRCS="$LIBSRCS setproctitle.c"])])
 
        if test $have_setproctitle = yes ; then
                        LIBSRCS="$LIBSRCS setproctitle.c"])])
 
        if test $have_setproctitle = yes ; then
@@ -2226,7 +2350,6 @@ if test $ol_enable_proctitle != no ; then
 fi
 
 dnl ----------------------------------------------------------------
 fi
 
 dnl ----------------------------------------------------------------
-dnl Check for SLPv2 Compliant API Library
 if test $ol_enable_slp != no ; then
        AC_CHECK_HEADERS( slp.h )
 
 if test $ol_enable_slp != no ; then
        AC_CHECK_HEADERS( slp.h )
 
@@ -2243,131 +2366,74 @@ if test $ol_enable_slp != no ; then
 fi
 
 dnl ----------------------------------------------------------------
 fi
 
 dnl ----------------------------------------------------------------
-dnl Check for multiple precision support
-if test "$ol_with_multiple_precision" != "no" ; then
-       ol_have_bignum=no
-       ol_have_gmp=no
-
-       AC_CHECK_HEADERS(openssl/bn.h bn.h)
-       AC_CHECK_HEADERS(openssl/crypto.h crypto.h)
-       AC_CHECK_HEADERS( gmp.h )
-
-       if test "$ol_with_tls" = "found" ; then
-               ol_have_bn_h=no
-               ol_have_crypto_h=no
-
-               if test "$ac_cv_header_openssl_bn_h" = "yes" \
-                               -o "$ac_cv_header_bn_h" = "yes" ; then
-                       ol_have_bn_h=yes
-               fi
-
-               if test "$ac_cv_header_openssl_crypto_h" = "yes" \
-                               -o "$ac_cv_header_crypto_h" = "yes" ; then
-                       ol_have_crypto_h=yes
-               fi
-
-               if test "$ol_have_bn_h" = "yes" \
-                               -a "$ol_have_crypto_h" = "yes" ; then
-                       ol_have_bignum=yes
-               fi
-       fi
+dnl Checks for typedefs, structures, and compiler characteristics.
 
 
-       if test $ac_cv_header_gmp_h = yes ; then
-               AC_CHECK_LIB(gmp, __gmpz_add_ui, [have_gmp=yes], [have_gmp=no])
-               if test $have_gmp = yes ; then
-                       ol_have_gmp=yes
-               fi
-       fi
+AC_CHECK_TYPE(mode_t, int)
+AC_CHECK_TYPE(off_t, long)
+AC_CHECK_TYPE(pid_t, int)
+AC_CHECK_TYPE(ssize_t, [signed int])
+AC_CHECK_TYPE(caddr_t, [char *])
+AC_CHECK_TYPE(size_t, unsigned)
 
 
-       AC_MSG_CHECKING([for multiple precision support])
+AC_CHECK_TYPES([long long])
+AC_CHECK_TYPES([ptrdiff_t])
 
 
-       ol_mp_support="none"
-       case "$ol_with_multiple_precision" in
-       auto)
-               dnl preferred sequence:
-               dnl - OpenSSL's BIGNUM (if libssl is already linked)
-               dnl - GNU's MP
-               dnl - unsigned long
-               if test "$ol_have_bignum" = "yes" ; then
-                       ol_mp_support="bignum"
-               else
-                       if test "$ol_have_gmp" = "yes" ; then
-                               ol_mp_support="gmp"
-                       fi
-               fi
-               ;;
-       bignum)
-               if test "$ol_have_bignum" != "yes" ; then
-                       AC_MSG_ERROR([OpenSSL's BIGNUM not available])
-               fi
-               ol_mp_support="bignum"
-               ;;
-       gmp)
-               if test "$ol_have_gmp" != "yes" ; then
-                       AC_MSG_ERROR([GMP not available])
-               fi
-               ol_mp_support="gmp"
-               ;;
-       yes)
-               if test "$ol_have_bignum" = "yes" ; then
-                       ol_mp_support="bignum"
-               elif test "$ol_have_gmp" = "yes" ; then
-                       ol_mp_support="gmp"
-               else
-                       AC_MSG_ERROR([not available])
-               fi
-               ;;
-       esac
 
 
-       case "$ol_mp_support" in
-       bignum)
-               AC_DEFINE(HAVE_BIGNUM, 1,
-                       [define if you have SSLeay or OpenSSL's BIGNUM])
-               ;;
-       gmp)
-               AC_DEFINE(HAVE_GMP, 1, [define if you have -lgmp])
-               SLAPD_GMP_LIBS=-lgmp
-               ;;
-       none)
-               ;;
-       esac
+AC_CHECK_TYPE([socklen_t],,, [$ac_includes_default
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif])
+
+dnl socklen_t-like type in accept(), default socklen_t or int:
+dnl - The OS might define socklen_t without using it.  POSIX moved from
+dnl   int to size_t to socklen_t, hoping to stay at a 32-bit type, and
+dnl   HP-UX now has selectors for what to use.
+dnl - On Solaris 2.8 the prototype has void *len, but the default is OK.
+AC_MSG_CHECKING([the type of arg 3 to accept()])
+AC_CACHE_VAL(ol_cv_type_ber_socklen_t, [
+       set socklen_t int unsigned "unsigned long" long size_t
+       test "$ac_cv_type_socklen_t" = yes || shift
+       ol_cv_type_ber_socklen_t=$1 guessing="guessing "
+       for lentype in "$@" ; do for addrtype in "struct sockaddr" void ; do
+               AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$ac_includes_default
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+extern int accept(int s, $addrtype *ap, $lentype *lp);
+], [
+accept(0, (struct sockaddr *) 0, ($lentype *) 0);
+])], [ol_cv_type_ber_socklen_t=$lentype guessing= ; break 2])
+       done ; done])
+AC_MSG_RESULT([$guessing$ol_cv_type_ber_socklen_t *])
+AC_DEFINE_UNQUOTED(ber_socklen_t, $ol_cv_type_ber_socklen_t,
+       [Define to the type of arg 3 for `accept'.])
 
 
-       AC_MSG_RESULT($ol_mp_support)
+dnl Modules should use ber_socklen_t, not socklen_t.  Define socklen_t
+dnl for the time being anyway, for backwards compatibility.
+if test "$ac_cv_type_socklen_t" != yes; then
+       AC_DEFINE_UNQUOTED([socklen_t], [$ol_cv_type_ber_socklen_t],
+               [Define like ber_socklen_t if <sys/socket.h> does not define.])
 fi
 
 fi
 
-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
-AM_TYPE_PTRDIFF_T
 AC_TYPE_SIGNAL
 AC_TYPE_SIGNAL
-AC_TYPE_SIZE_T
 
 
-AC_CHECK_TYPE(ssize_t, [signed int])
-AC_CHECK_TYPE(caddr_t, [char *])
+AC_CHECK_TYPE([sig_atomic_t],,
+       [AC_DEFINE_UNQUOTED([sig_atomic_t], [int],
+               [Define to `int' if <signal.h> does not define.])],
+       [$ac_includes_default
+#include <signal.h>
+       ])
 
 
-OL_TYPE_SOCKLEN_T
-AC_STRUCT_ST_BLKSIZE
-AC_HEADER_TIME
-AC_STRUCT_TM
 AC_TYPE_UID_T
 AC_TYPE_UID_T
-OL_TYPE_SIG_ATOMIC_T
-
-dnl AC_TYPE_GETGROUPS
 
 
-OL_STRUCT_PASSWD_PW_GECOS
-OL_STRUCT_PASSWD_PW_PASSWD
+AC_HEADER_TIME
+AC_STRUCT_TM
+AC_CHECK_MEMBERS([struct stat.st_blksize])
+AC_CHECK_MEMBERS([struct passwd.pw_gecos],,,[$ac_includes_default
+#include <pwd.h>])
+AC_CHECK_MEMBERS([struct passwd.pw_passwd],,,[$ac_includes_default
+#include <pwd.h>])
 
 OL_C_UPPER_LOWER
 AC_C_CONST
 
 OL_C_UPPER_LOWER
 AC_C_CONST
@@ -2380,35 +2446,78 @@ else
        AC_C_BIGENDIAN
 fi
 
        AC_C_BIGENDIAN
 fi
 
-AC_COMPILE_CHECK_SIZEOF(short) 
-AC_COMPILE_CHECK_SIZEOF(int) 
-AC_COMPILE_CHECK_SIZEOF(long)
-AC_COMPILE_CHECK_SIZEOF(wchar_t)
+AC_CHECK_SIZEOF(short) 
+AC_CHECK_SIZEOF(int) 
+AC_CHECK_SIZEOF(long)
+AC_CHECK_SIZEOF(long long)
+AC_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.])
 
-       AC_DEFINE(LBER_INT_T,long)
+       AC_DEFINE(LBER_INT_T,long,[define to 32-bit or greater integer type])
 else
 else
-       AC_DEFINE(LBER_INT_T,int)
+       AC_DEFINE(LBER_INT_T,int,[define to 32-bit or greater integer type])
 fi
 
 fi
 
-AC_DEFINE(LBER_LEN_T,long)
-AC_DEFINE(LBER_SOCKET_T,int)
-AC_DEFINE(LBER_TAG_T,long)
+AC_DEFINE(LBER_LEN_T,long,[define to large integer type])
+AC_DEFINE(LBER_SOCKET_T,int,[define to socket descriptor type])
+AC_DEFINE(LBER_TAG_T,long,[define to large integer type])
+
+dnl ----------------------------------------------------------------
+dnl Check for multiple precision support
+if test $ol_with_mp = longlong || test $ol_with_mp = auto ; then
+       if test $ac_cv_sizeof_long_long -gt 4 ; then
+               ol_with_mp=longlong
+               AC_DEFINE(USE_MP_LONG_LONG,1,[define to use 'long long' for MP])
+       elif test $ol_with_mp = longlong ; then
+               AC_MSG_ERROR([long long unusable for multiple precision])
+       fi
+fi
+if test $ol_with_mp = long || test $ol_with_mp = auto ; then
+       if test $ac_cv_sizeof_long -gt 4 ; then
+               ol_with_mp=long
+               AC_DEFINE(USE_MP_LONG,1,[define to use 'long' for MP])
+       elif test $ol_with_mp = long ; then
+               AC_MSG_ERROR([long unusable for multiple precision])
+       fi
+fi
+if test $ol_with_mp = bignum || test $ol_with_mp = auto ; then
+       AC_CHECK_HEADERS(openssl/bn.h)
+       AC_CHECK_HEADERS(openssl/crypto.h)
+       if test "$ac_cv_header_openssl_bn_h" = "yes" &&
+               test "$ac_cv_header_openssl_crypto_h" = "yes" &&
+               test "$ol_with_tls" = "found" ; then
+               ol_with_mp=bignum
+               AC_DEFINE(USE_MP_BIGNUM,1,[define to use OpenSSL BIGNUM for MP])
+       elif test $ol_with_mp = bignum ; then
+               AC_MSG_ERROR([bignum not available])
+       fi
+fi
+if test $ol_with_mp = gmp || test $ol_with_mp = auto ; then
+       AC_CHECK_HEADERS(gmp.h)
+       AC_CHECK_LIB(gmp, __gmpz_add_ui)
+       if test $ac_cv_header_gmp_h = yes && test $ac_cv_lib_gmp___gmpz_add_ui = yes ; then
+               AC_DEFINE(USE_MP_GMP,1,[define to use GMP for MP])
+               ol_with_mp=gmp
+       elif test $ol_with_mp = gmp ; then
+               AC_MSG_ERROR([gmp not available])
+       fi
+fi
+if test $ol_with_mp = auto ; then
+       ol_with_mp=no
+fi
 
 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
+if test $ac_cv_func_memcmp_working = no ; then
        AC_DEFINE(NEED_MEMCMP_REPLACEMENT,1,
                [define if memcmp is not 8-bit clean or is otherwise broken])
 fi
 
        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
 AC_FUNC_STRFTIME
-dnl AM_FUNC_STRTOD
 
 OL_FUNC_INET_ATON
 
 
 OL_FUNC_INET_ATON
 
@@ -2449,9 +2558,11 @@ AC_CHECK_FUNCS(          \
        getspnam                \
        gettimeofday    \
        initgroups              \
        getspnam                \
        gettimeofday    \
        initgroups              \
+       inet_ntoa_b             \
        lockf                   \
        memcpy                  \
        memmove                 \
        lockf                   \
        memcpy                  \
        memmove                 \
+       memrchr                 \
        mkstemp                 \
        mktemp                  \
        pipe                    \
        mkstemp                 \
        mktemp                  \
        pipe                    \
@@ -2477,7 +2588,6 @@ AC_CHECK_FUNCS(           \
        strtoll                 \
        strspn                  \
        sysconf                 \
        strtoll                 \
        strspn                  \
        sysconf                 \
-       usleep                  \
        waitpid                 \
        wait4                   \
        write                   \
        waitpid                 \
        wait4                   \
        write                   \
@@ -2493,13 +2603,22 @@ if test "$ac_cv_func_getopt" != yes; then
        LIBSRCS="$LIBSRCS getopt.c"
 fi
 if test "$ac_cv_func_getpeereid" != yes; then
        LIBSRCS="$LIBSRCS getopt.c"
 fi
 if test "$ac_cv_func_getpeereid" != yes; then
-       OL_MSGHDR_MSG_ACCRIGHTS
-       if test "$ac_cv_func_getpeereid" != yes; then
-               OL_MSGHDR_MSG_CONTROL
+       AC_CHECK_MEMBERS([struct msghdr.msg_accrightslen],,,
+               [$ac_includes_default
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif])
+       if test "$ac_cv_member_struct_msghdr_msg_accrightslen" != yes; then
+               AC_CHECK_MEMBERS([struct msghdr.msg_control],,,
+                       [$ac_includes_default
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif])
        fi
        LIBSRCS="$LIBSRCS getpeereid.c"
 fi
        fi
        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 ||
+   test "$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_snprintf" != yes; then
                AC_DEFINE(snprintf, ber_pvt_snprintf, [define to snprintf routine])
        fi
@@ -2538,14 +2657,16 @@ if test "$ol_enable_syslog" = yes ; then
                [define this to add syslog code])
 fi
 if test "$ol_link_kbind" != no ; then
                [define this to add syslog code])
 fi
 if test "$ol_link_kbind" != no ; then
-       AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND,LDAP_VENDOR_VERSION)
+       AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND,LDAP_VENDOR_VERSION,
+               [define to LDAP VENDOR VERSION])
 fi
 if test "$ol_enable_proctitle" != no ; then
        AC_DEFINE(LDAP_PROCTITLE,1,
                [define this for LDAP process title support])
 fi
 if test "$ol_enable_referrals" != no ; then
 fi
 if test "$ol_enable_proctitle" != no ; then
        AC_DEFINE(LDAP_PROCTITLE,1,
                [define this for LDAP process title support])
 fi
 if test "$ol_enable_referrals" != no ; then
-       AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_REFERRALS,LDAP_VENDOR_VERSION)
+       AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_REFERRALS,LDAP_VENDOR_VERSION,
+               [define to LDAP VENDOR VERSION])
 fi
 if test "$ol_enable_local" != no; then
        AC_DEFINE(LDAP_PF_LOCAL,1,[define to support PF_LOCAL])
 fi
 if test "$ol_enable_local" != no; then
        AC_DEFINE(LDAP_PF_LOCAL,1,[define to support PF_LOCAL])
@@ -2570,6 +2691,9 @@ if test "$ol_enable_rlookups" != no ; then
 fi
 if test "$ol_enable_aci" != no ; then
        AC_DEFINE(SLAPD_ACI_ENABLED,1,[define to support per-object ACIs])
 fi
 if test "$ol_enable_aci" != no ; then
        AC_DEFINE(SLAPD_ACI_ENABLED,1,[define to support per-object ACIs])
+       WITH_ACI_ENABLED=yes
+else
+       WITH_ACI_ENABLED=no
 fi
 
 if test "$ol_link_modules" != no ; then
 fi
 
 if test "$ol_link_modules" != no ; then
@@ -2633,7 +2757,7 @@ if test "$ol_enable_ldap" != no ; then
        AC_DEFINE_UNQUOTED(SLAPD_LDAP,$MFLAG,[define to support LDAP backend])
 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
+if test "$ol_link_ldbm" != no && test $ol_enable_ldbm != no; then
        BUILD_SLAPD=yes
        BUILD_LDBM=$ol_enable_ldbm
        if test "$ol_enable_ldbm" = mod ; then
        BUILD_SLAPD=yes
        BUILD_LDBM=$ol_enable_ldbm
        if test "$ol_enable_ldbm" = mod ; then
@@ -2726,7 +2850,7 @@ if test "$ol_enable_relay" != no ; then
 fi
 
 if test "$ol_enable_shell" != no ; then
 fi
 
 if test "$ol_enable_shell" != no ; then
-       if test "$ol_link_thread" != no ; then
+       if test "$ol_link_threads" != no ; then
                AC_MSG_WARN([Use of --without-threads is recommended with back-shell])
        fi
        BUILD_SLAPD=yes
                AC_MSG_WARN([Use of --without-threads is recommended with back-shell])
        fi
        BUILD_SLAPD=yes
@@ -2766,6 +2890,18 @@ if test "$ol_enable_accesslog" != no ; then
        AC_DEFINE_UNQUOTED(SLAPD_OVER_ACCESSLOG,$MFLAG,[define for In-Directory Access Logging overlay])
 fi
 
        AC_DEFINE_UNQUOTED(SLAPD_OVER_ACCESSLOG,$MFLAG,[define for In-Directory Access Logging overlay])
 fi
 
+if test "$ol_enable_auditlog" != no ; then
+       BUILD_AUDITLOG=$ol_enable_auditlog
+       if test "$ol_enable_auditlog" = mod ; then
+               MFLAG=SLAPD_MOD_DYNAMIC
+               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS auditlog.la"
+       else
+               MFLAG=SLAPD_MOD_STATIC
+               SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS auditlog.o"
+       fi
+       AC_DEFINE_UNQUOTED(SLAPD_OVER_AUDITLOG,$MFLAG,[define for Audit Logging overlay])
+fi
+
 if test "$ol_enable_denyop" != no ; then
        BUILD_DENYOP=$ol_enable_denyop
        if test "$ol_enable_denyop" = mod ; then
 if test "$ol_enable_denyop" != no ; then
        BUILD_DENYOP=$ol_enable_denyop
        if test "$ol_enable_denyop" = mod ; then
@@ -2775,7 +2911,7 @@ if test "$ol_enable_denyop" != no ; then
                MFLAG=SLAPD_MOD_STATIC
                SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS denyop.o"
        fi
                MFLAG=SLAPD_MOD_STATIC
                SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS denyop.o"
        fi
-       AC_DEFINE_UNQUOTED(SLAPD_OVER_DENYOP,$MFLAG,[define for Dynamic Group overlay])
+       AC_DEFINE_UNQUOTED(SLAPD_OVER_DENYOP,$MFLAG,[define for Deny Operation overlay])
 fi
 
 if test "$ol_enable_dyngroup" != no ; then
 fi
 
 if test "$ol_enable_dyngroup" != no ; then
@@ -2802,18 +2938,6 @@ if test "$ol_enable_dynlist" != no ; then
        AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNLIST,$MFLAG,[define for Dynamic List overlay])
 fi
 
        AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNLIST,$MFLAG,[define for Dynamic List overlay])
 fi
 
-if test "$ol_enable_glue" != no ; then
-       BUILD_GLUE=$ol_enable_glue
-       if test "$ol_enable_glue" = mod ; then
-               MFLAG=SLAPD_MOD_DYNAMIC
-               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS glue.la"
-       else
-               MFLAG=SLAPD_MOD_STATIC
-               SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS glue.o"
-       fi
-       AC_DEFINE_UNQUOTED(SLAPD_OVER_GLUE,$MFLAG,[define for Backend Glue overlay])
-fi
-
 if test "$ol_enable_lastmod" != no ; then
        BUILD_LASTMOD=$ol_enable_lastmod
        if test "$ol_enable_lastmod" = mod ; then
 if test "$ol_enable_lastmod" != no ; then
        BUILD_LASTMOD=$ol_enable_lastmod
        if test "$ol_enable_lastmod" = mod ; then
@@ -2923,8 +3047,21 @@ if test "$ol_enable_unique" != no ; then
        AC_DEFINE_UNQUOTED(SLAPD_OVER_UNIQUE,$MFLAG,[define for Attribute Uniqueness overlay])
 fi
 
        AC_DEFINE_UNQUOTED(SLAPD_OVER_UNIQUE,$MFLAG,[define for Attribute Uniqueness overlay])
 fi
 
-if test "$ol_enable_slurpd" != no -a "$ol_link_threads" != no -a \
-       $BUILD_SLAPD = yes ; then
+if test "$ol_enable_valsort" != no ; then
+       BUILD_VALSORT=$ol_enable_valsort
+       if test "$ol_enable_valsort" = mod ; then
+               MFLAG=SLAPD_MOD_DYNAMIC
+               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS valsort.la"
+       else
+               MFLAG=SLAPD_MOD_STATIC
+               SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS valsort.o"
+       fi
+       AC_DEFINE_UNQUOTED(SLAPD_OVER_VALSORT,$MFLAG,[define for Value Sorting overlay])
+fi
+
+if test "$ol_enable_slurpd" != no &&
+   test "$ol_link_threads" != no &&
+   test $BUILD_SLAPD = yes ; then
        BUILD_SLURPD=yes
 fi
 
        BUILD_SLURPD=yes
 fi
 
@@ -2958,6 +3095,8 @@ AC_SUBST(PLAT)
 AC_SUBST(WITH_SASL)
 AC_SUBST(WITH_TLS)
 AC_SUBST(WITH_MODULES_ENABLED)
 AC_SUBST(WITH_SASL)
 AC_SUBST(WITH_TLS)
 AC_SUBST(WITH_MODULES_ENABLED)
+AC_SUBST(WITH_ACI_ENABLED)
+AC_SUBST(BUILD_THREAD)
 AC_SUBST(BUILD_LIBS_DYNAMIC)
 
 AC_SUBST(BUILD_SLAPD)
 AC_SUBST(BUILD_LIBS_DYNAMIC)
 
 AC_SUBST(BUILD_SLAPD)
@@ -2980,10 +3119,10 @@ dnl backends
   AC_SUBST(BUILD_SQL)
 dnl overlays
   AC_SUBST(BUILD_ACCESSLOG)
   AC_SUBST(BUILD_SQL)
 dnl overlays
   AC_SUBST(BUILD_ACCESSLOG)
+  AC_SUBST(BUILD_AUDITLOG)
   AC_SUBST(BUILD_DENYOP)
   AC_SUBST(BUILD_DYNGROUP)
   AC_SUBST(BUILD_DYNLIST)
   AC_SUBST(BUILD_DENYOP)
   AC_SUBST(BUILD_DYNGROUP)
   AC_SUBST(BUILD_DYNLIST)
-  AC_SUBST(BUILD_GLUE)
   AC_SUBST(BUILD_LASTMOD)
   AC_SUBST(BUILD_PPOLICY)
   AC_SUBST(BUILD_PROXYCACHE)
   AC_SUBST(BUILD_LASTMOD)
   AC_SUBST(BUILD_PPOLICY)
   AC_SUBST(BUILD_PROXYCACHE)
@@ -2993,6 +3132,7 @@ dnl overlays
   AC_SUBST(BUILD_SYNCPROV)
   AC_SUBST(BUILD_TRANSLUCENT)
   AC_SUBST(BUILD_UNIQUE)
   AC_SUBST(BUILD_SYNCPROV)
   AC_SUBST(BUILD_TRANSLUCENT)
   AC_SUBST(BUILD_UNIQUE)
+  AC_SUBST(BUILD_VALSORT)
 AC_SUBST(BUILD_SLURPD)
 
 AC_SUBST(LDAP_LIBS)
 AC_SUBST(BUILD_SLURPD)
 
 AC_SUBST(LDAP_LIBS)
@@ -3042,48 +3182,48 @@ dnl ----------------------------------------------------------------
 dnl final output
 dnl
 
 dnl final output
 dnl
 
-AC_OUTPUT( \
-Makefile:build/top.mk:Makefile.in:build/dir.mk \
-doc/Makefile:build/top.mk:doc/Makefile.in:build/dir.mk \
-doc/man/Makefile:build/top.mk:doc/man/Makefile.in:build/dir.mk \
-doc/man/man1/Makefile:build/top.mk:doc/man/man1/Makefile.in:build/man.mk \
-doc/man/man3/Makefile:build/top.mk:doc/man/man3/Makefile.in:build/man.mk \
-doc/man/man5/Makefile:build/top.mk:doc/man/man5/Makefile.in:build/man.mk \
-doc/man/man8/Makefile:build/top.mk:doc/man/man8/Makefile.in:build/man.mk \
-clients/Makefile:build/top.mk:clients/Makefile.in:build/dir.mk \
-clients/tools/Makefile:build/top.mk:clients/tools/Makefile.in:build/rules.mk \
-include/Makefile:build/top.mk:include/Makefile.in \
-libraries/Makefile:build/top.mk:libraries/Makefile.in:build/dir.mk     \
-libraries/liblber/Makefile:build/top.mk:libraries/liblber/Makefile.in:build/lib.mk:build/lib-shared.mk \
-libraries/libldap/Makefile:build/top.mk:libraries/libldap/Makefile.in:build/lib.mk:build/lib-shared.mk \
-libraries/libldap_r/Makefile:build/top.mk:libraries/libldap_r/Makefile.in:build/lib.mk:build/lib-shared.mk     \
-libraries/liblunicode/Makefile:build/top.mk:libraries/liblunicode/Makefile.in:build/lib.mk:build/lib-static.mk \
-libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk:build/lib-static.mk       \
-libraries/librewrite/Makefile:build/top.mk:libraries/librewrite/Makefile.in:build/lib.mk:build/lib-shared.mk \
-servers/Makefile:build/top.mk:servers/Makefile.in:build/dir.mk \
-servers/slapd/Makefile:build/top.mk:servers/slapd/Makefile.in:build/srv.mk \
-servers/slapd/back-bdb/Makefile:build/top.mk:servers/slapd/back-bdb/Makefile.in:build/mod.mk \
-servers/slapd/back-dnssrv/Makefile:build/top.mk:servers/slapd/back-dnssrv/Makefile.in:build/mod.mk \
-servers/slapd/back-hdb/Makefile:build/top.mk:servers/slapd/back-hdb/Makefile.in:build/mod.mk \
-servers/slapd/back-ldap/Makefile:build/top.mk:servers/slapd/back-ldap/Makefile.in:build/mod.mk \
-servers/slapd/back-ldbm/Makefile:build/top.mk:servers/slapd/back-ldbm/Makefile.in:build/mod.mk \
-servers/slapd/back-ldif/Makefile:build/top.mk:servers/slapd/back-ldif/Makefile.in:build/mod.mk \
-servers/slapd/back-meta/Makefile:build/top.mk:servers/slapd/back-meta/Makefile.in:build/mod.mk \
-servers/slapd/back-monitor/Makefile:build/top.mk:servers/slapd/back-monitor/Makefile.in:build/mod.mk \
-servers/slapd/back-null/Makefile:build/top.mk:servers/slapd/back-null/Makefile.in:build/mod.mk \
-servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/back-passwd/Makefile.in:build/mod.mk \
-servers/slapd/back-perl/Makefile:build/top.mk:servers/slapd/back-perl/Makefile.in:build/mod.mk \
-servers/slapd/back-relay/Makefile:build/top.mk:servers/slapd/back-relay/Makefile.in:build/mod.mk \
-servers/slapd/back-shell/Makefile:build/top.mk:servers/slapd/back-shell/Makefile.in:build/mod.mk \
-servers/slapd/back-sql/Makefile:build/top.mk:servers/slapd/back-sql/Makefile.in:build/mod.mk \
-servers/slapd/shell-backends/Makefile:build/top.mk:servers/slapd/shell-backends/Makefile.in:build/srv.mk \
-servers/slapd/slapi/Makefile:build/top.mk:servers/slapd/slapi/Makefile.in:build/lib.mk:build/lib-shared.mk  \
-servers/slapd/overlays/Makefile:build/top.mk:servers/slapd/overlays/Makefile.in:build/lib.mk \
-servers/slurpd/Makefile:build/top.mk:servers/slurpd/Makefile.in:build/srv.mk \
-tests/Makefile:build/top.mk:tests/Makefile.in:build/dir.mk \
-tests/run \
-tests/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk \
-,[
+AC_CONFIG_FILES([Makefile:build/top.mk:Makefile.in:build/dir.mk]
+[doc/Makefile:build/top.mk:doc/Makefile.in:build/dir.mk]
+[doc/man/Makefile:build/top.mk:doc/man/Makefile.in:build/dir.mk]
+[doc/man/man1/Makefile:build/top.mk:doc/man/man1/Makefile.in:build/man.mk]
+[doc/man/man3/Makefile:build/top.mk:doc/man/man3/Makefile.in:build/man.mk]
+[doc/man/man5/Makefile:build/top.mk:doc/man/man5/Makefile.in:build/man.mk]
+[doc/man/man8/Makefile:build/top.mk:doc/man/man8/Makefile.in:build/man.mk]
+[clients/Makefile:build/top.mk:clients/Makefile.in:build/dir.mk]
+[clients/tools/Makefile:build/top.mk:clients/tools/Makefile.in:build/rules.mk]
+[include/Makefile:build/top.mk:include/Makefile.in]
+[libraries/Makefile:build/top.mk:libraries/Makefile.in:build/dir.mk]
+[libraries/liblber/Makefile:build/top.mk:libraries/liblber/Makefile.in:build/lib.mk:build/lib-shared.mk]
+[libraries/libldap/Makefile:build/top.mk:libraries/libldap/Makefile.in:build/lib.mk:build/lib-shared.mk]
+[libraries/libldap_r/Makefile:build/top.mk:libraries/libldap_r/Makefile.in:build/lib.mk:build/lib-shared.mk]
+[libraries/liblunicode/Makefile:build/top.mk:libraries/liblunicode/Makefile.in:build/lib.mk:build/lib-static.mk]
+[libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk:build/lib-static.mk]
+[libraries/librewrite/Makefile:build/top.mk:libraries/librewrite/Makefile.in:build/lib.mk:build/lib-static.mk]
+[servers/Makefile:build/top.mk:servers/Makefile.in:build/dir.mk]
+[servers/slapd/Makefile:build/top.mk:servers/slapd/Makefile.in:build/srv.mk]
+[servers/slapd/back-bdb/Makefile:build/top.mk:servers/slapd/back-bdb/Makefile.in:build/mod.mk]
+[servers/slapd/back-dnssrv/Makefile:build/top.mk:servers/slapd/back-dnssrv/Makefile.in:build/mod.mk]
+[servers/slapd/back-hdb/Makefile:build/top.mk:servers/slapd/back-hdb/Makefile.in:build/mod.mk]
+[servers/slapd/back-ldap/Makefile:build/top.mk:servers/slapd/back-ldap/Makefile.in:build/mod.mk]
+[servers/slapd/back-ldbm/Makefile:build/top.mk:servers/slapd/back-ldbm/Makefile.in:build/mod.mk]
+[servers/slapd/back-ldif/Makefile:build/top.mk:servers/slapd/back-ldif/Makefile.in:build/mod.mk]
+[servers/slapd/back-meta/Makefile:build/top.mk:servers/slapd/back-meta/Makefile.in:build/mod.mk]
+[servers/slapd/back-monitor/Makefile:build/top.mk:servers/slapd/back-monitor/Makefile.in:build/mod.mk]
+[servers/slapd/back-null/Makefile:build/top.mk:servers/slapd/back-null/Makefile.in:build/mod.mk]
+[servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/back-passwd/Makefile.in:build/mod.mk]
+[servers/slapd/back-perl/Makefile:build/top.mk:servers/slapd/back-perl/Makefile.in:build/mod.mk]
+[servers/slapd/back-relay/Makefile:build/top.mk:servers/slapd/back-relay/Makefile.in:build/mod.mk]
+[servers/slapd/back-shell/Makefile:build/top.mk:servers/slapd/back-shell/Makefile.in:build/mod.mk]
+[servers/slapd/back-sql/Makefile:build/top.mk:servers/slapd/back-sql/Makefile.in:build/mod.mk]
+[servers/slapd/shell-backends/Makefile:build/top.mk:servers/slapd/shell-backends/Makefile.in:build/srv.mk]
+[servers/slapd/slapi/Makefile:build/top.mk:servers/slapd/slapi/Makefile.in:build/lib.mk:build/lib-shared.mk]
+[servers/slapd/overlays/Makefile:build/top.mk:servers/slapd/overlays/Makefile.in:build/lib.mk]
+[servers/slurpd/Makefile:build/top.mk:servers/slurpd/Makefile.in:build/srv.mk]
+[tests/Makefile:build/top.mk:tests/Makefile.in:build/dir.mk]
+[tests/run]
+[tests/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk])
+
+AC_CONFIG_COMMANDS([default],[[
 chmod +x tests/run
 date > stamp-h
 BACKENDSC="servers/slapd/backends.c"
 chmod +x tests/run
 date > stamp-h
 BACKENDSC="servers/slapd/backends.c"
@@ -3092,7 +3232,7 @@ rm -f $BACKENDSC
 cat > $BACKENDSC << ENDX
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
 cat > $BACKENDSC << ENDX
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2005 The OpenLDAP Foundation.
+ * Copyright 1998-2007 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -3119,7 +3259,7 @@ ENDX
 
        cat >> $BACKENDSC << ENDX
 
 
        cat >> $BACKENDSC << ENDX
 
-BackendInfo slap_binfo[[]] = {
+BackendInfo slap_binfo[] = {
 ENDX
 
        for b in config ${STATIC_BACKENDS}; do
 ENDX
 
        for b in config ${STATIC_BACKENDS}; do
@@ -3137,6 +3277,63 @@ ENDX
 /* end of generated file */
 ENDX
 fi
 /* end of generated file */
 ENDX
 fi
+OVERLAYSC="servers/slapd/overlays/statover.c"
+echo "Making $OVERLAYSC"
+rm -f $OVERLAYSC
+cat > $OVERLAYSC << ENDX
+/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
+ *
+ * Copyright 1998-2007 The OpenLDAP Foundation.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted only as authorized by the OpenLDAP
+ * Public License.
+ *
+ * A copy of this license is available in the file LICENSE in the
+ * top-level directory of the distribution or, alternatively, at
+ * <http://www.OpenLDAP.org/license.html>.
+ */
+/* This file is automatically generated by configure; please do not edit. */
+
+#include "portable.h"
+#include "slap.h"
+
+ENDX
+if test "${STATIC_OVERLAYS}"; then
+       for o in ${STATIC_OVERLAYS}; do
+               oo=`echo "${o}" | sed -e 's/.o$//' -e 's/_x$//'`
+               cat >> $OVERLAYSC << ENDX
+extern OV_init ${oo}_initialize;
+ENDX
+       done
+fi
+
+cat >> $OVERLAYSC << ENDX
+
+OverlayInit slap_oinfo[] = {
+ENDX
+
+if test "${STATIC_OVERLAYS}"; then
+       for o in ${STATIC_OVERLAYS}; do
+               oo=`echo "${o}" | sed -e 's/.o$//' -e 's/_x$//'`
+               echo "    Add ${oo} ..."
+               cat >> $OVERLAYSC << ENDX
+       { "${oo}", ${oo}_initialize },
+ENDX
+       done
+fi
+
+       cat >> $OVERLAYSC << ENDX
+       { NULL, NULL },
+};
+
+/* end of generated file */
+ENDX
 
 echo Please run \"make depend\" to build dependencies
 
 echo Please run \"make depend\" to build dependencies
-],[STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS"])
+]],[[
+STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS"
+STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS"
+]])
+AC_OUTPUT