]> git.sur5r.net Git - openldap/blobdiff - configure.in
return to releng
[openldap] / configure.in
index b7b21edd04a4cea9bb4274789a7d33226f9188f0..48c5f2cac0063fc1cefcec7b8bfc4e5b45b8af84 100644 (file)
@@ -1,7 +1,7 @@
 dnl $OpenLDAP$
 dnl This work is part of OpenLDAP Software <http://www.openldap.org/>.
 dnl
-dnl Copyright 1998-2004 The OpenLDAP Foundation.
+dnl Copyright 1998-2005 The OpenLDAP Foundation.
 dnl All rights reserved.
 dnl
 dnl Redistribution and use in source and binary forms, with or without
@@ -23,7 +23,7 @@ define([AC_INIT_BINSH],
 
 # This work is part of OpenLDAP Software <http://www.openldap.org/>.
 #
-# Copyright 1998-2004 The OpenLDAP Foundation.
+# Copyright 1998-2005 The OpenLDAP Foundation.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -34,7 +34,7 @@ define([AC_INIT_BINSH],
 # top-level directory of the distribution or, alternatively, at
 # <http://www.OpenLDAP.org/license.html>.
 
-echo "Copyright 1998-2004 The OpenLDAP Foundation. All rights reserved."
+echo "Copyright 1998-2005 The OpenLDAP Foundation. All rights reserved."
 echo " Restrictions apply, see COPYRIGHT and LICENSE files."
 ])dnl
 dnl ----------------------------------------------------------------
@@ -95,15 +95,18 @@ AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION_MAJOR,$OL_MAJOR,Major)
 AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION_MINOR,$OL_MINOR,Minor)
 AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION_PATCH,$OL_PATCH,Patch)
 
-OPENLDAP_LIBVERSION=$OL_API_LIB
+OPENLDAP_LIBRELEASE=$OL_API_LIB_RELEASE
+AC_SUBST(OPENLDAP_LIBRELEASE)dnl
+
+OPENLDAP_LIBVERSION=$OL_API_LIB_VERSION
 AC_SUBST(OPENLDAP_LIBVERSION)dnl
 
 OPENLDAP_RELEASE_DATE="$OL_RELEASE_DATE"
 AC_SUBST(OPENLDAP_RELEASE_DATE)dnl
 
-dnl We use autoconf features new to 2.13.
+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.2 should be installed.
+dnl libtool 1.4.3 should be installed.
 AC_PREREQ(2.13)dnl Required Autoconf version
 
 AC_CONFIG_HEADER(include/portable.h include/ldap_features.h include/lber_types.h)dnl
@@ -150,8 +153,6 @@ dnl OL_ARG_ENABLE(kbind,[  --enable-kbind     enable LDAPv2+ Kerberos IV bind (dep
 ol_enable_kbind=${ol_enable_kbind-no}
 OL_ARG_ENABLE(ipv6,[  --enable-ipv6      enable IPv6 support], auto)dnl
 OL_ARG_ENABLE(local,[  --enable-local    enable AF_LOCAL (AF_UNIX) socket support], auto)dnl
-OL_ARG_ENABLE(x_compile,[  --enable-x-compile    enable cross compiling],
-       no, [yes no])dnl
 
 dnl ----------------------------------------------------------------
 dnl General "with" options
@@ -183,69 +184,52 @@ OL_ARG_ENABLE(slapd,[  --enable-slapd       enable building slapd], yes)dnl
 OL_ARG_ENABLE(aci,[    --enable-aci      enable per-object ACIs (experimental)], no)dnl
 OL_ARG_ENABLE(cleartext,[    --enable-cleartext          enable cleartext passwords], yes)dnl
 OL_ARG_ENABLE(crypt,[    --enable-crypt          enable crypt(3) passwords], no)dnl
-dnl OL_ARG_ENABLE(kpasswd,[    --enable-kpasswd          enable Kerberos password verification], no)dnl
-ol_enable_kpasswd=${ol_enable_kpasswd-no}
 OL_ARG_ENABLE(lmpasswd,[    --enable-lmpasswd    enable LAN Manager passwords], no)dnl
 OL_ARG_ENABLE(spasswd,[    --enable-spasswd      enable (Cyrus) SASL password verification], no)dnl
 OL_ARG_ENABLE(modules,[    --enable-modules      enable dynamic module support], no)dnl
 dnl OL_ARG_ENABLE(multimaster,[    --enable-multimaster  enable multimaster replication], no)dnl
 ol_enable_multimaster=${ol_enable_multimaster-no}
-OL_ARG_ENABLE(rewrite,[    --enable-rewrite      enable DN rewriting in back-ldap and back-meta], no)dnl
+OL_ARG_ENABLE(rewrite,[    --enable-rewrite      enable DN rewriting in back-ldap and the rwm overlay], auto)dnl
 OL_ARG_ENABLE(rlookups,[    --enable-rlookups    enable reverse lookups of client hostnames], no)dnl
 OL_ARG_ENABLE(slapi,[    --enable-slapi        enable SLAPI support (experimental)], no)dnl
 OL_ARG_ENABLE(slp,[    --enable-slp          enable SLPv2 support], no)dnl     
 OL_ARG_ENABLE(wrappers,[    --enable-wrappers    enable tcp wrapper support], no)dnl
 
+dnl ----------------------------------------------------------------
+dnl SLAPD Backend Options
+Backends="bdb dnssrv hdb ldap ldbm meta monitor null \
+       passwd perl shell sql"
 
-dnl SLAPD Backend options
-OL_ARG_ENABLE(bdb,[    --enable-bdb      enable Berkeley DB backend], yes)dnl
-OL_ARG_WITH(bdb_module,[    --with-bdb-module     module type static|dynamic], static,
-       [static dynamic])
-OL_ARG_ENABLE(dnssrv,[    --enable-dnssrv        enable dnssrv backend], no)dnl
-OL_ARG_WITH(dnssrv_module,[    --with-dnssrv-module  module type static|dynamic], static,
-       [static dynamic])
-OL_ARG_ENABLE(hdb,[    --enable-hdb      enable Hierarchical DB backend], no)dnl
-OL_ARG_WITH(hdb_module,[    --with-hdb-module     module type static|dynamic], static,
-       [static dynamic])
-OL_ARG_ENABLE(ldap,[    --enable-ldap    enable ldap backend], no)dnl
-OL_ARG_WITH(ldap_module,[    --with-ldap-module          module type static|dynamic], static,
-       [static dynamic])
-OL_ARG_ENABLE(ldbm,[    --enable-ldbm    enable ldbm backend], no)dnl
-OL_ARG_WITH(ldbm_api,[    --with-ldbm-api       with LDBM API auto|berkeley|bcompat|mdbm|gdbm], auto,
+AC_ARG_WITH(xxslapoverlays,[
+SLAPD Backend Options:])
+
+OL_ARG_ENABLE(bdb,[    --enable-bdb      enable Berkeley DB backend no|yes|mod], yes, [no yes mod])dnl
+OL_ARG_ENABLE(dnssrv,[    --enable-dnssrv        enable dnssrv backend no|yes|mod], no, [no yes mod])dnl
+OL_ARG_ENABLE(hdb,[    --enable-hdb      enable Hierarchical DB backend no|yes|mod], no, [no yes mod])dnl
+OL_ARG_ENABLE(ldap,[    --enable-ldap    enable ldap backend no|yes|mod], no, [no yes mod])dnl
+OL_ARG_ENABLE(ldbm,[    --enable-ldbm    enable ldbm backend no|yes|mod], no, [no yes mod])dnl
+OL_ARG_WITH(ldbm_api,[      --with-ldbm-api     with LDBM API auto|berkeley|bcompat|mdbm|gdbm], auto,
        [auto berkeley bcompat mdbm gdbm])
-OL_ARG_WITH(ldbm_module,[    --with-ldbm-module          module type static|dynamic], static,
-       [static dynamic])
-OL_ARG_WITH(ldbm_type,[    --with-ldbm-type      use LDBM type auto|btree|hash], auto,
+OL_ARG_WITH(ldbm_type,[      --with-ldbm-type    use LDBM type auto|btree|hash], auto,
        [auto btree hash])
-OL_ARG_ENABLE(meta,[    --enable-meta    enable metadirectory backend], no)dnl
-OL_ARG_WITH(meta_module,[    --with-meta-module          module type static|dynamic], static,
-       [static dynamic])
-OL_ARG_ENABLE(monitor,[    --enable-monitor      enable monitor backend], yes)dnl
-OL_ARG_WITH(monitor_module,[    --with-monitor-module module type static|dynamic], static,
-       [static dynamic])
-OL_ARG_ENABLE(null,[    --enable-null    enable null backend], no)dnl
-OL_ARG_WITH(null_module,[    --with-null-module          module type static|dynamic], static,
-       [static dynamic])
-OL_ARG_ENABLE(passwd,[    --enable-passwd        enable passwd backend], no)dnl
-OL_ARG_WITH(passwd_module,[    --with-passwd-module  module type static|dynamic], static,
-       [static dynamic])
-OL_ARG_ENABLE(perl,[    --enable-perl    enable perl backend], no)dnl
-OL_ARG_WITH(perl_module,[    --with-perl-module          module type static|dynamic], static,
-       [static dynamic])
-OL_ARG_ENABLE(shell,[    --enable-shell          enable shell backend], no)dnl
-OL_ARG_WITH(shell_module,[    --with-shell-module        module type static|dynamic], static,
-       [static dynamic])
-OL_ARG_ENABLE(sql,[    --enable-sql      enable sql backend], no)dnl
-OL_ARG_WITH(sql_module,[    --with-sql-module    module type static|dynamic], static,
-       [static dynamic])
+OL_ARG_ENABLE(meta,[    --enable-meta    enable metadirectory backend no|yes|mod], no, [no yes mod])dnl
+OL_ARG_ENABLE(monitor,[    --enable-monitor      enable monitor backend no|yes|mod], yes, [no yes mod])dnl
+OL_ARG_ENABLE(null,[    --enable-null    enable null backend no|yes|mod], no, [no yes mod])dnl
+OL_ARG_ENABLE(passwd,[    --enable-passwd        enable passwd backend no|yes|mod], no, [no yes mod])dnl
+OL_ARG_ENABLE(perl,[    --enable-perl    enable perl backend no|yes|mod], no, [no yes mod])dnl
+OL_ARG_ENABLE(shell,[    --enable-shell          enable shell backend no|yes|mod], no, [no yes mod])dnl
+OL_ARG_ENABLE(sql,[    --enable-sql      enable sql backend no|yes|mod], no, [no yes mod])dnl
 
 dnl ----------------------------------------------------------------
 dnl SLAPD Overlay Options
+Overlays="dyngroup proxycache"
+
 AC_ARG_WITH(xxslapoverlays,[
 SLAPD Overlay Options:])
-OL_ARG_WITH(dyngroup,[    --with-dyngroup        Dynamic Group overlay no|yes|mod], no,
+
+OL_ARG_ENABLE(dyngroup,[    --enable-dyngroup    Dynamic Group overlay no|yes|mod], no,
        [no yes mod])
-OL_ARG_WITH(proxycache,[    --with-proxycache    Proxy Cache overlay no|yes|mod], no,
+OL_ARG_ENABLE(proxycache,[    --enable-proxycache        Proxy Cache overlay no|yes|mod], no,
        [no yes mod])
 
 dnl ----------------------------------------------------------------
@@ -269,42 +253,13 @@ if test $ol_enable_slapd = no ; then
        if test $ol_enable_slapi = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-slapi argument])
        fi
-       if test $ol_enable_bdb = yes ; then
-               AC_MSG_WARN([slapd disabled, ignoring --enable-bdb argument])
-       fi
-       if test $ol_enable_dnssrv = yes ; then
-               AC_MSG_WARN([slapd disabled, ignoring --enable-dnssrv argument])
-       fi
-       if test $ol_enable_hdb = yes ; then
-               AC_MSG_WARN([slapd disabled, ignoring --enable-hdb argument])
-       fi
-       if test $ol_enable_ldap = yes ; then
-               AC_MSG_WARN([slapd disabled, ignoring --enable-ldap argument])
-       fi
-       if test $ol_enable_ldbm = yes ; then
-               AC_MSG_WARN([slapd disabled, ignoring --enable-ldbm argument])
-       fi
-       if test $ol_enable_meta = yes ; then
-               AC_MSG_WARN([slapd disabled, ignoring --enable-meta argument])
-       fi
-       if test $ol_enable_monitor = yes ; then
-               AC_MSG_WARN([slapd disabled, ignoring --enable-monitor argument])
-       fi
-       if test $ol_enable_null = yes ; then
-               AC_MSG_WARN([slapd disabled, ignoring --enable-null argument])
-       fi
-       if test $ol_enable_passwd = yes ; then
-               AC_MSG_WARN([slapd disabled, ignoring --enable-passwd argument])
-       fi
-       if test $ol_enable_perl = yes ; then
-               AC_MSG_WARN([slapd disabled, ignoring --enable-perl argument])
-       fi
-       if test $ol_enable_shell = yes ; then
-               AC_MSG_WARN([slapd disabled, ignoring --enable-shell argument])
-       fi
-       if test $ol_enable_sql = yes ; then
-               AC_MSG_WARN([slapd disabled, ignoring --enable-sql argument])
-       fi
+       for i in $Backends; do
+               eval "ol_tmp=\$ol_enable_$i"
+               if test $ol_tmp != no ; then
+                       AC_MSG_WARN([slapd disabled, ignoring --enable-$i argument])
+                       eval "ol_enable_$i=no"
+               fi
+       done
        if test $ol_enable_modules = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-modules argument])
        fi
@@ -326,69 +281,23 @@ if test $ol_enable_slapd = no ; then
        if test $ol_with_ldbm_type != auto ; then
                AC_MSG_WARN([slapd disabled, ignoring --with-ldbm-type argument])
        fi
-       if test $ol_with_bdb_module != static ; then
-               AC_MSG_WARN([slapd disabled, ignoring --with-bdb-module argument])
-       fi
-       if test $ol_with_dnssrv_module != static ; then
-               AC_MSG_WARN([slapd disabled, ignoring --with-dnssrv-module argument])
-       fi
-       if test $ol_with_hdb_module != static ; then
-               AC_MSG_WARN([slapd disabled, ignoring --with-hdb-module argument])
-       fi
-       if test $ol_with_ldap_module != static ; then
-               AC_MSG_WARN([slapd disabled, ignoring --with-ldap-module argument])
-       fi
-       if test $ol_with_ldbm_module != static ; then
-               AC_MSG_WARN([slapd disabled, ignoring --with-ldbm-module argument])
-       fi
-       if test $ol_with_meta_module != static ; then
-               AC_MSG_WARN([slapd disabled, ignoring --with-meta-module argument])
-       fi
-       if test $ol_with_monitor_module != static ; then
-               AC_MSG_WARN([slapd disabled, ignoring --with-monitor-module argument])
-       fi
-       if test $ol_with_null_module != static ; then
-               AC_MSG_WARN([slapd disabled, ignoring --with-null-module argument])
-       fi
-       if test $ol_with_passwd_module != static ; then
-               AC_MSG_WARN([slapd disabled, ignoring --with-passwd-module argument])
-       fi
-       if test $ol_with_perl_module != static ; then
-               AC_MSG_WARN([slapd disabled, ignoring --with-perl-module argument])
-       fi
-       if test $ol_with_shell_module != static ; then
-               AC_MSG_WARN([slapd disabled, ignoring --with-shell-module argument])
-       fi
-       if test $ol_with_sql_module != static ; then
-               AC_MSG_WARN([slapd disabled, ignoring --with-sql-module argument])
-       fi
        if test $ol_enable_slurpd = yes ; then
                AC_MSG_ERROR([slurpd requires slapd])
        fi
        if test $ol_enable_rewrite = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-rewrite argument])
        fi
-       if test $ol_with_dyngroup != no ; then
-               AC_MSG_WARN([slapd disabled, ignoring --with-dyngroup argument])
-       fi
-       if test $ol_with_proxycache != no ; then
-               AC_MSG_WARN([slapd disabled, ignoring --with-proxycache argument])
-       fi
+       dnl overlays
+       for i in $Overlays; do
+               eval "ol_tmp=\$ol_enable_$i"
+               if test $ol_tmp != no ; then
+                       AC_MSG_WARN([slapd disabled, ignoring --enable-$i argument])
+                       eval "ol_enable_$i=no"
+               fi
+       done
 
        # force settings to no
        ol_enable_slapi=no
-       ol_enable_bdb=no
-       ol_enable_dnssrv=no
-       ol_enable_hdb=no
-       ol_enable_ldap=no
-       ol_enable_ldbm=no
-       ol_enable_meta=no
-       ol_enable_monitor=no
-       ol_enable_null=no
-       ol_enable_passwd=no
-       ol_enable_perl=no
-       ol_enable_shell=no
-       ol_enable_sql=no
 
        ol_enable_modules=no
        ol_enable_multimaster=no
@@ -399,26 +308,10 @@ if test $ol_enable_slapd = no ; then
        ol_with_ldbm_api=no
        ol_with_ldbm_type=no
 
-       ol_with_bdb_module=static
-       ol_with_dnssrv_module=static
-       ol_with_hdb_module=static
-       ol_with_ldap_module=static
-       ol_with_ldbm_module=static
-       ol_with_meta_module=static
-       ol_with_monitor_module=static
-       ol_with_null_module=static
-       ol_with_passwd_module=static
-       ol_with_perl_module=static
-       ol_with_shell_module=static
-       ol_with_sql_module=static
-
        ol_enable_slurpd=no
 
        ol_enable_rewrite=no
 
-       ol_with_dyngroup=no
-       ol_with_proxycache=no
-
 elif test $ol_enable_ldbm = no ; then
        dnl SLAPD without LDBM
 
@@ -430,10 +323,6 @@ elif test $ol_enable_ldbm = no ; then
                AC_MSG_WARN([LDBM disabled, ignoring --with-ldbm-type argument])
        fi
 
-       if test $ol_with_ldbm_module != static ; then
-               AC_MSG_WARN([LDBM disabled, ignoring --with-ldbm-module argument])
-       fi
-
        if test $ol_enable_modules != yes -a \
                $ol_enable_bdb = no -a \
                $ol_enable_dnssrv = no -a \
@@ -457,7 +346,6 @@ elif test $ol_enable_ldbm = no ; then
 
        ol_with_ldbm_api=no
        ol_with_ldbm_type=no
-       ol_with_ldbm_module=static
 
        if test $ol_enable_bdb != no -o $ol_enable_hdb != no; then
                ol_with_ldbm_api=berkeley
@@ -478,22 +366,19 @@ else
                AC_MSG_ERROR([NDBM only supports LDBM type hash])
        fi
 
-       if test $ol_enable_bdb = yes -o $ol_enable_hdb = yes ; then
+       if test $ol_enable_bdb != no -o $ol_enable_hdb != no ; then
                if test $ol_with_ldbm_api = auto ; then
                        ol_with_ldbm_api=berkeley
                elif test $ol_with_ldbm_api != berkeley ; then
                        AC_MSG_ERROR([LDBM API not compatible with BDB/HDB])
                fi
-
-       elif test $ol_enable_bdb = auto ; then
-               if test $ol_with_ldbm_api != berkeley \
-                       -o $ol_with_ldbm_api != auto ; then
-                       AC_MSG_WARN([LDBM API not compatible with BDB, disabling BDB])
-                       ol_enable_bdb=no
-               fi
        fi
 fi
 
+if test $ol_enable_meta = yes -a $ol_enable_ldap = no ; then
+       AC_MSG_ERROR([--enable-meta requires --enable-ldap])
+fi
+
 if test $ol_enable_slurpd = yes ; then
        dnl SLURPD was specifically enabled
        if test $ol_with_threads = no ; then
@@ -507,14 +392,14 @@ if test $ol_enable_lmpasswd = yes ; then
        fi
 fi
 
-if test $ol_enable_kbind = yes -o $ol_enable_kpasswd = yes ; then
+if test $ol_enable_kbind = yes ; then
        if test $ol_with_kerberos = no ; then
                AC_MSG_ERROR([options require --with-kerberos])
        elif test $ol_with_kerberos = auto ; then
                ol_with_kerberos=yes
        fi
 
-elif test $ol_enable_kbind = no -o $ol_enable_kpasswd = no ; then
+elif test $ol_enable_kbind = no ; then
        if test $ol_with_kerberos = auto ; then
                ol_with_kerberos=no
        elif test $ol_with_kerberos != no ; then
@@ -563,19 +448,6 @@ BUILD_PERL=no
 BUILD_SHELL=no
 BUILD_SQL=no
 
-BUILD_BDB_DYNAMIC=static
-BUILD_DNSSRV_DYNAMIC=static
-BUILD_HDB_DYNAMIC=static
-BUILD_LDAP_DYNAMIC=static
-BUILD_LDBM_DYNAMIC=static
-BUILD_META_DYNAMIC=static
-BUILD_MONITOR_DYNAMIC=static
-BUILD_NULL_DYNAMIC=static
-BUILD_PASSWD_DYNAMIC=static
-BUILD_PERL_DYNAMIC=static
-BUILD_SHELL_DYNAMIC=static
-BUILD_SQL_DYNAMIC=static
-
 BUILD_DYNGROUP=no
 BUILD_PROXYCACHE=no
 
@@ -698,7 +570,7 @@ if test $ol_enable_perl != no ; then
                PERL_CPPFLAGS="`$PERLBIN -MExtUtils::Embed -e ccopts`"
                PERL_LDFLAGS="`$PERLBIN -MExtUtils::Embed -e ldopts|sed -e 's/ -lc / /' -e 's/ -lc$//'`"
 
-               if test x"$ol_with_perl_module" = "xstatic" ; then
+               if test x"$ol_enable_perl" = "xyes" ; then
                        SLAPD_PERL_LDFLAGS="$PERL_LDFLAGS"
                else
                        MOD_PERL_LDFLAGS="$PERL_LDFLAGS"
@@ -710,20 +582,6 @@ fi
 
 AC_PROG_CPP
 
-dnl ----------------------------------------------------------------
-dnl Cross compiling checks
-if test $cross_compiling = yes -a $ol_enable_x_compile = yes; then
-       AC_MSG_WARN([cross compiling....  some functionality will be removed.])
-
-elif test $cross_compiling = no -a $ol_enable_x_compile = yes; then
-       AC_MSG_WARN([programs compiled here do run here...])
-       AC_MSG_ERROR([  if not cross compiling, use --disable-x-compile.])
-
-elif test $cross_compiling = yes -a $ol_enable_x_compile = no; then
-       AC_MSG_WARN([programs compiled here do not run here...])
-       AC_MSG_ERROR([  if cross compiling,  add --enable-x-compile.])
-fi
-
 dnl ----------------------------------------------------------------
 dnl Checks for UNIX Variants
 dnl AC_AIX
@@ -793,27 +651,22 @@ if test $ol_enable_modules != no ; then
                AC_MSG_ERROR([could not locate libtool -lltdl])
        fi
        ol_link_modules=yes
+
 else
-       ol_with_bdb_module=static
-       ol_with_dnssrv_module=static
-       ol_with_hdb_module=static
-       ol_with_ldap_module=static
-       ol_with_ldbm_module=static
-       ol_with_meta_module=static
-       ol_with_monitor_module=static
-       ol_with_null_module=static
-       ol_with_passwd_module=static
-       ol_with_perl_module=static
-       ol_with_shell_module=static
-       ol_with_sql_module=static
-       if test $ol_with_dyngroup = mod ; then
-               AC_MSG_WARN([building static dyngroup overlay])
-               ol_with_dyngroup = yes
-       fi
-       if test $ol_with_proxycache = mod ; then
-               AC_MSG_WARN([building static proxycache overlay])
-               ol_with_proxycache = yes
-       fi
+       for i in $Backends; do
+               eval "ol_tmp=\$ol_enable_$i"
+               if test $ol_tmp = mod ; then
+                       AC_MSG_WARN([building static $i backend])
+                       eval "ol_enable_$i=yes"
+               fi
+       done
+       for i in $Overlays; do
+               eval "ol_tmp=\$ol_enable_$i"
+               if test $ol_tmp = mod ; then
+                       AC_MSG_WARN([building static $i overlay])
+                       eval "ol_enable_$i=yes"
+               fi
+       done
 fi
 
 dnl ----------------------------------------------------------------
@@ -887,49 +740,48 @@ AC_CHECK_HEADERS( \
 dnl ----------------------------------------------------------------
 dnl Checks for libraries
 
-AC_CHECK_FUNC(dlopen, :, [AC_CHECK_LIB(dl, dlopen)])
+AC_CHECK_FUNCS( sigaction sigset )
 
 dnl HP-UX requires -lV3
 dnl this is not needed on newer versions of HP-UX
-AC_CHECK_LIB(V3, sigset)
+if test $ac_cv_func_sigaction = no && test $ac_cv_func_sigaction = no ; then
+       AC_CHECK_LIB(V3, sigset)
+fi
 
 dnl The following is INTENTIONALLY scripted out because shell does not
 dnl support variable names with the '@' character, which is what
 dnl autoconf would try to generate if one merely used AC_SEARCH_LIBS
-AC_MSG_CHECKING(for winsock)
+if test "$ac_cv_header_winsock_h" = yes; then
+AC_CACHE_CHECK([for winsock], [ol_cv_winsock],
 save_LIBS="$LIBS"
 for curlib in ws2_32 wsock32; do
        LIBS="$LIBS -l$curlib"
-       AC_TRY_LINK([
-                       char socket@12();
-                       char select@20();
-                       char closesocket@4();
-                       char gethostname@8();
+       AC_TRY_LINK([#include <winsock.h>
                        ],
                        [
-                       socket@12();
-                       select@20();
-                       closesocket@4();
-                       gethostname@8();
+                       socket(0,0,0);
+                       select(0,NULL,NULL,NULL,NULL);
+                       closesocket(0);
+                       gethostname(NULL,0);
                        ],
-                       have_winsock=yes, have_winsock=no)
+                       ol_cv_winsock=yes, ol_cv_winsock=no)
 
-       if test $have_winsock = yes; then
+       if test $ol_cv_winsock = yes; then
                AC_DEFINE(HAVE_WINSOCK, 1, [define if you have winsock])
                ac_cv_func_socket=yes
                ac_cv_func_select=yes
                ac_cv_func_closesocket=yes
                ac_cv_func_gethostname=yes
                if test $curlib = ws2_32; then
-                       have_winsock=winsock2
+                       ol_cv_winsock=winsock2
                        AC_DEFINE(HAVE_WINSOCK2, 1,
                                  [define if you have winsock2])
                fi
                break
        fi
        LIBS="$save_LIBS"
-done
-AC_MSG_RESULT($have_winsock)
+done)
+fi
 
 dnl Find socket()
 dnl Likely combinations:
@@ -998,12 +850,12 @@ if test $have_uuid = no ; then
        save_LIBS="$LIBS"
        LIBS="$LIBS -lrpcrt4"
        AC_TRY_LINK([
-               char UuidCreate@4();
-               char UuidToStringA@8();
+               int __stdcall UuidCreate(void *);
+               int __stdcall UuidToStringA(void *,void **);
                ],
                [
-               UuidCreate@4();
-               UuidToStringA@8();
+               UuidCreate(0);
+               UuidToStringA(0,0);
                ],
                need_rpcrt=yes, need_rpcrt=no)
        if test $need_rpcrt = yes; then
@@ -1044,6 +896,11 @@ if test $ac_cv_func_res_query = no ; then
        ac_cv_func_res_query=$ac_cv_lib_resolv___res_query
 fi
 
+if test $ac_cv_func_res_query = no ; then 
+       AC_CHECK_LIB(resolv, _res_9_query)
+       ac_cv_func_res_query=$ac_cv_lib_resolv_res_9_query
+fi
+
 if test "$ac_cv_func_res_query" = yes ; then
        AC_DEFINE(HAVE_RES_QUERY,1,
                [define if you have res_query()])
@@ -1053,7 +910,7 @@ if test "$ac_cv_func_res_query" = yes ; then
        fi
 fi
 
-if test "$ol_enable_dnssrv" = yes -a "$ol_link_dnssrv" = no ; then
+if test "$ol_enable_dnssrv" != no -a "$ol_link_dnssrv" = no ; then
        AC_MSG_ERROR([DNSSRV requires res_query()])
 fi
 
@@ -1111,7 +968,6 @@ fi
 dnl ----------------------------------------------------------------
 dnl Kerberos
 ol_link_kbind=no
-ol_link_kpasswd=no
 ol_link_krb5=no
 ol_link_krb4=no
 
@@ -1166,10 +1022,6 @@ if test $ol_with_kerberos = yes -o $ol_with_kerberos = auto \
                        AC_DEFINE(HAVE_KRB5, 1,
                                [define if you have Kerberos V])
 
-                       if test $ol_enable_kpasswd != no ; then
-                               ol_link_kpasswd=yes;
-                       fi
-
                        if test $ol_with_kerberos = k5only ; then
                                ol_with_kerberos=found
                        fi
@@ -1266,10 +1118,6 @@ if test $ol_with_kerberos = yes -o $ol_with_kerberos = auto \
        fi
 fi
 
-if test $ol_link_krb4 = yes -a $ol_enable_kpasswd != no ; then
-       ol_link_kpasswd=yes
-fi
-
 if test $ol_link_krb4 = yes -a $ol_enable_kbind != no ; then
        ol_link_kbind=yes
 
@@ -1988,25 +1836,20 @@ if test $ol_with_ldbm_api = auto \
        fi
 fi
 
-if test $ol_enable_bdb = yes -a $ol_link_ldbm != berkeley ; then
-       AC_MSG_ERROR(BDB: BerkeleyDB not available)
-elif test $ol_enable_bdb != no -a $ol_link_ldbm = berkeley ; then
-       OL_BDB_COMPAT
-
-       if test $ol_cv_bdb_compat = yes ; then
-               ol_enable_bdb=yes
-       elif test $ol_enable_bdb = yes ; then
-               AC_MSG_ERROR(BDB: BerkeleyDB version incompatible)
+if test $ol_enable_bdb != no -o $ol_enable_hdb != no; then
+       if test $ol_link_ldbm != berkeley ; then
+               AC_MSG_ERROR(BDB/HDB: BerkeleyDB not available)
        else
-               ol_enable_bdb=no
+               OL_BDB_COMPAT
+
+               if test $ol_cv_bdb_compat != yes ; then
+                       AC_MSG_ERROR([BDB/HDB: BerkeleyDB version incompatible])
+               fi
        fi
 fi
-if test $ol_enable_hdb = yes -a $ol_link_ldbm != berkeley ; then
-       AC_MSG_ERROR(HDB: BerkeleyDB not available)
-fi
 
 if test $ol_link_ldbm = no -a $ol_with_ldbm_type = btree ; then
-       AC_MSG_WARN(Could not find LDBM with BTREE support)
+       AC_MSG_WARN([Could not find LDBM with BTREE support])
        ol_with_ldbm_api=none
 fi
 
@@ -2049,15 +1892,21 @@ if test $ol_with_ldbm_api = ndbm ; then
 fi
 
 if test $ol_link_ldbm = no -a $ol_enable_ldbm != no ; then
-       AC_MSG_WARN(could not find suitable LDBM backend)
+       AC_MSG_WARN([could not find suitable LDBM backend])
        if test $ol_enable_ldbm = yes ; then
-               AC_MSG_ERROR(select appropriate LDBM options or disable)
+               AC_MSG_ERROR([select appropriate LDBM options or disable])
        fi
 
        AC_MSG_WARN(disabling LDBM)
        ol_enable_ldbm=no
 fi
 
+if test $ol_enable_bdb = yes -o \
+       $ol_enable_hdb = yes -o \
+       $ol_enable_ldbm = yes ; then
+       SLAPD_LIBS="$SLAPD_LIBS \$(LDBM_LIBS)"
+fi
+
 dnl ----------------------------------------------------------------
 
 if test $ol_enable_dynamic = yes -a $enable_shared = yes ; then
@@ -2188,7 +2037,7 @@ if test $ol_with_cyrus_sasl != no ; then
                OL_SASL_COMPAT
                if test $ol_cv_sasl_compat = no ; then
                        ol_link_sasl=no
-                       AC_MSG_ERROR([Cyrus SASL library located but incompatible])
+                       AC_MSG_ERROR([Cyrus SASL library located but is incompatible])
                fi
 
                AC_DEFINE(HAVE_CYRUS_SASL,1,[define if you have Cyrus SASL])
@@ -2266,12 +2115,12 @@ if test $ol_enable_crypt != no ; then
        if test $have_crypt = yes ; then
                AC_DEFINE(HAVE_CRYPT,1, [define if crypt(3) is available])
        else
-               AC_MSG_WARN(could not find crypt)
+               AC_MSG_WARN([could not find crypt])
                if test $ol_enable_crypt = yes ; then
-                       AC_MSG_ERROR(could not find crypt, select appropriate options or disable)
+                       AC_MSG_ERROR([could not find crypt, select appropriate options or disable])
                fi
 
-               AC_MSG_WARN(disabling crypt support)
+               AC_MSG_WARN([disabling crypt support])
                ol_enable_crypt=no
        fi
 fi
@@ -2349,6 +2198,7 @@ AC_C_CONST
 OL_C_VOLATILE
 
 if test $cross_compiling = yes ; then
+       AC_MSG_WARN([Crossing compiling... all bets are off!])
        AC_DEFINE(CROSS_COMPILING, 1, [define if cross compiling])
 else
        AC_C_BIGENDIAN
@@ -2357,6 +2207,7 @@ fi
 AC_COMPILE_CHECK_SIZEOF(short) 
 AC_COMPILE_CHECK_SIZEOF(int) 
 AC_COMPILE_CHECK_SIZEOF(long)
+AC_COMPILE_CHECK_SIZEOF(wchar_t)
 
 if test "$ac_cv_sizeof_int" -lt 4 ; then
        AC_MSG_WARN([OpenLDAP requires 'int' to be 32 bits or greater.])
@@ -2373,6 +2224,12 @@ AC_DEFINE(LBER_TAG_T,long)
 dnl ----------------------------------------------------------------
 dnl Checks for library functions.
 AC_FUNC_MEMCMP
+
+if test $ac_cv_func_memcmp_clean = no ; then
+       AC_DEFINE(NEED_MEMCMP_REPLACEMENT,1,
+               [define if memcmp is not 8-bit clean or is otherwise broken])
+fi
+
 dnl AM_FUNC_MKTIME dnl checks for sys/time.h and unistd.h
 AC_FUNC_STRFTIME
 dnl AM_FUNC_STRTOD
@@ -2431,9 +2288,7 @@ AC_CHECK_FUNCS(           \
        setsid                  \
        setuid                  \
        seteuid                 \
-       sigaction               \
        signal                  \
-       sigset                  \
        strdup                  \
        strerror                \
        strpbrk                 \
@@ -2483,7 +2338,7 @@ dnl ----------------------------------------------------------------
 dnl Sort out defines
 
 if test "$ol_enable_slapi" != no ; then
-       dnl This check is donel also if --enable-modules is used;
+       dnl This check is done also if --enable-modules is used;
        dnl it is duplicated here, 'cause it'd be cached anyway
        AC_CHECK_HEADERS(ltdl.h)
 
@@ -2530,9 +2385,6 @@ fi
 if test "$ol_enable_crypt" != no ; then
        AC_DEFINE(SLAPD_CRYPT,1,[define to support crypt(3) passwords])
 fi
-if test "$ol_link_kpasswd" != no ; then
-       AC_DEFINE(SLAPD_KPASSWD,1,[define to support Kerberos passwords])
-fi
 if test "$ol_link_spasswd" != no ; then
        AC_DEFINE(SLAPD_SPASSWD,1,[define to support SASL passwords])
 fi
@@ -2556,198 +2408,168 @@ AC_DEFINE(SLAPD_MOD_STATIC,1,[statically linked module])
 AC_DEFINE(SLAPD_MOD_DYNAMIC,2,[dynamically linked module])
 
 if test "$ol_enable_bdb" != no ; then
-       AC_DEFINE(SLAPD_BDB,1,[define to support BDB backend])
        BUILD_SLAPD=yes
-       BUILD_BDB=yes
-       if test "$ol_with_bdb_module" != static ; then
-               AC_DEFINE(SLAPD_BDB_DYNAMIC,1,
-                       [define to support dynamic BDB backend])
-               BUILD_BDB=mod
-               BUILD_BDB_DYNAMIC=shared
+       BUILD_BDB=$ol_enable_bdb
+       if test "$ol_enable_bdb" = mod ; then
                SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-bdb"
+               MFLAG=SLAPD_MOD_DYNAMIC
        else
                SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-bdb"
+               MFLAG=SLAPD_MOD_STATIC
        fi
+       AC_DEFINE_UNQUOTED(SLAPD_BDB,$MFLAG,[define to support BDB backend])
 fi
 
-if test "$ol_link_dnssrv" != no ; then
-       AC_DEFINE(SLAPD_DNSSRV,1,[define to support DNS SRV backend])
+if test "$ol_enable_dnssrv" != no ; then
        BUILD_SLAPD=yes
-       BUILD_DNSSRV=yes
-       if test "$ol_with_dnssrv_module" != static ; then
-               AC_DEFINE(SLAPD_DNSSRV_DYNAMIC,1,
-                       [define to support dynamic DNS SRV backend])
-               BUILD_DNSSRV=mod
-               BUILD_DNSSRV_DYNAMIC=shared
+       BUILD_DNSSRV=$ol_enable_dnssrv
+       if test "$ol_enable_dnssrv" = mod ; then
                SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-dnssrv"
+               MFLAG=SLAPD_MOD_DYNAMIC
        else
                SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-dnssrv"
+               MFLAG=SLAPD_MOD_STATIC
        fi
+       AC_DEFINE_UNQUOTED(SLAPD_DNSSRV,$MFLAG,[define to support DNS SRV backend])
 fi
 
 if test "$ol_enable_hdb" != no ; then
-       AC_DEFINE(SLAPD_HDB,1,[define to support HDB backend])
        BUILD_SLAPD=yes
-       BUILD_HDB=yes
-       if test "$ol_with_hdb_module" != static ; then
-               AC_DEFINE(SLAPD_HDB_DYNAMIC,1,
-                       [define to support dynamic HDB backend])
-               BUILD_HDB=mod
-               BUILD_HDB_DYNAMIC=shared
+       BUILD_HDB=$ol_enable_hdb
+       if test "$ol_enable_hdb" = mod ; then
                SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-hdb"
+               MFLAG=SLAPD_MOD_DYNAMIC
        else
                SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-hdb"
+               MFLAG=SLAPD_MOD_STATIC
        fi
+       AC_DEFINE_UNQUOTED(SLAPD_HDB,$MFLAG,[define to support HDB backend])
 fi
 
 if test "$ol_enable_ldap" != no ; then
-       AC_DEFINE(SLAPD_LDAP,1,[define to support LDAP backend])
        BUILD_SLAPD=yes
-       BUILD_LDAP=yes
-       if test "$ol_with_ldap_module" != static ; then
-               AC_DEFINE(SLAPD_LDAP_DYNAMIC,1,
-                       [define to support dynamic LDAP backend])
-               BUILD_LDAP=mod
-               BUILD_LDAP_DYNAMIC=shared
+       BUILD_LDAP=$ol_enable_ldap
+       if test "$ol_enable_ldap" = mod ; then
                SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldap"
+               MFLAG=SLAPD_MOD_DYNAMIC
        else
                SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldap"
+               MFLAG=SLAPD_MOD_STATIC
        fi
+       AC_DEFINE_UNQUOTED(SLAPD_LDAP,$MFLAG,[define to support LDAP backend])
 fi
 
 if test "$ol_link_ldbm" != no -a $ol_enable_ldbm != no; then
-       AC_DEFINE(SLAPD_LDBM,1,[define to support LDBM backend])
        BUILD_SLAPD=yes
-       BUILD_LDBM=yes
-       if test "$ol_with_ldbm_module" != static ; then
-               AC_DEFINE(SLAPD_LDBM_DYNAMIC,1,
-                       [define to support dynamic LDBM backend])
-               BUILD_LDBM=mod
-               BUILD_LDBM_DYNAMIC=shared
+       BUILD_LDBM=$ol_enable_ldbm
+       if test "$ol_enable_ldbm" = mod ; then
                SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldbm"
+               MFLAG=SLAPD_MOD_DYNAMIC
        else
                SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldbm"
+               MFLAG=SLAPD_MOD_STATIC
        fi
+       AC_DEFINE_UNQUOTED(SLAPD_LDBM,$MFLAG,[define to support LDBM backend])
 fi
 
 if test "$ol_enable_meta" != no ; then
-       if test "$ol_enable_ldap" = no ; then
-               AC_MSG_ERROR([need --enable-ldap to use --enable-meta])
-       fi
-       if test "$ol_enable_rewrite" = no ; then
-               AC_MSG_ERROR([need --enable-rewrite to use --enable-meta])
-       fi
-       AC_DEFINE(SLAPD_META,1,[define to support LDAP Metadirectory backend])
        BUILD_SLAPD=yes
-       BUILD_META=yes
+       BUILD_META=$ol_enable_meta
        BUILD_REWRITE=yes
-       if test "$ol_with_meta_module" != static ; then
-               AC_DEFINE(SLAPD_META_DYNAMIC,1,
-                       [define to support dynamic LDAP Metadirectory backend])
-               BUILD_META=mod
-               BUILD_META_DYNAMIC=shared
+       if test "$ol_enable_meta" = mod ; then
                SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-meta"
+               MFLAG=SLAPD_MOD_DYNAMIC
        else
                SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-meta"
+               MFLAG=SLAPD_MOD_STATIC
        fi
+       AC_DEFINE_UNQUOTED(SLAPD_META,$MFLAG,[define to support LDAP Metadirectory backend])
 fi
 
 if test "$ol_enable_monitor" != no ; then
-       AC_DEFINE(SLAPD_MONITOR,1,[define to support cn=Monitor backend])
        BUILD_SLAPD=yes
-       BUILD_MONITOR=yes
-       if test "$ol_with_monitor_module" != static ; then
-               AC_DEFINE(SLAPD_MONITOR_DYNAMIC,1,
-                       [define to support dynamic cn=Monitor backend])
-               BUILD_MONITOR=mod
-               BUILD_MONITOR_DYNAMIC=shared
+       BUILD_MONITOR=$ol_enable_monitor
+       if test "$ol_enable_monitor" = mod ; then
                SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-monitor"
+               MFLAG=SLAPD_MOD_DYNAMIC
        else
                SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-monitor"
+               MFLAG=SLAPD_MOD_STATIC
        fi
+       AC_DEFINE_UNQUOTED(SLAPD_MONITOR,$MFLAG,[define to support cn=Monitor backend])
 fi
 
 if test "$ol_enable_null" != no ; then
-       AC_DEFINE(SLAPD_NULL,1,[define to support NULL backend])
        BUILD_SLAPD=yes
-       BUILD_NULL=yes
-       if test "$ol_with_null_module" != static ; then
-               AC_DEFINE(SLAPD_NULL_DYNAMIC,1,
-                       [define to support dynamic NULL backend])
-               BUILD_NULL=mod
-               BUILD_NULL_DYNAMIC=shared
+       BUILD_NULL=$ol_enable_null
+       if test "$ol_enable_null" = mod ; then
                SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-null"
+               MFLAG=SLAPD_MOD_DYNAMIC
        else
                SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-null"
+               MFLAG=SLAPD_MOD_STATIC
        fi
+       AC_DEFINE_UNQUOTED(SLAPD_NULL,$MFLAG,[define to support NULL backend])
 fi
 
 if test "$ol_enable_passwd" != no ; then
-       AC_DEFINE(SLAPD_PASSWD,1,[define to support PASSWD backend])
        BUILD_SLAPD=yes
-       BUILD_PASSWD=yes
-       if test "$ol_with_passwd_module" != static ; then
-               AC_DEFINE(SLAPD_PASSWD_DYNAMIC,1,
-                       [define to support dynamic PASSWD backend])
-               BUILD_PASSWD=mod
-               BUILD_PASSWD_DYNAMIC=shared
+       BUILD_PASSWD=$ol_enable_passwd
+       if test "$ol_enable_passwd" = mod ; then
                SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-passwd"
+               MFLAG=SLAPD_MOD_DYNAMIC
        else
                SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-passwd"
+               MFLAG=SLAPD_MOD_STATIC
        fi
+       AC_DEFINE_UNQUOTED(SLAPD_PASSWD,$MFLAG,[define to support PASSWD backend])
 fi
 
 if test "$ol_link_perl" != no ; then
-       AC_DEFINE(SLAPD_PERL,1,[define to support PERL backend])
        BUILD_SLAPD=yes
-       BUILD_PERL=yes
-       if test "$ol_with_perl_module" != static ; then
-               AC_DEFINE(SLAPD_PERL_DYNAMIC,1,
-                       [define to support dynamic PERL backend])
-               BUILD_PERL=mod
-               BUILD_PERL_DYNAMIC=shared
+       BUILD_PERL=$ol_enable_perl
+       if test "$ol_enable_perl" = mod ; then
                SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-perl"
+               MFLAG=SLAPD_MOD_DYNAMIC
        else
                SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-perl"
+               MFLAG=SLAPD_MOD_STATIC
        fi
+       AC_DEFINE_UNQUOTED(SLAPD_PERL,$MFLAG,[define to support PERL backend])
 fi
 
 if test "$ol_enable_shell" != no ; then
        if test "$ol_link_thread" != no ; then
                AC_MSG_WARN([Use of --without-threads is recommended with back-shell])
        fi
-       AC_DEFINE(SLAPD_SHELL,1,[define to support SHELL backend])
        BUILD_SLAPD=yes
-       BUILD_SHELL=yes
-       if test "$ol_with_shell_module" != static ; then
-               AC_DEFINE(SLAPD_SHELL_DYNAMIC,1,
-                       [define to support dynamic SHELL backend])
-               BUILD_SHELL=mod
-               BUILD_SHELL_DYNAMIC=shared
+       BUILD_SHELL=$ol_enable_shell
+       if test "$ol_enable_shell" = mod ; then
                SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-shell"
+               MFLAG=SLAPD_MOD_DYNAMIC
        else
                SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-shell"
+               MFLAG=SLAPD_MOD_STATIC
        fi
+       AC_DEFINE_UNQUOTED(SLAPD_SHELL,$MFLAG,[define to support SHELL backend])
 fi
 
 if test "$ol_link_sql" != no ; then
-       AC_DEFINE(SLAPD_SQL,1,[define to support SQL backend])
        BUILD_SLAPD=yes
-       BUILD_SQL=yes
-       if test "$ol_with_sql_module" != static; then
-               AC_DEFINE(SLAPD_SQL_DYNAMIC,1,
-                       [define to support dynamic SQL backend])
-               BUILD_SQL=mod
-               BUILD_SQL_DYNAMIC=shared
+       BUILD_SQL=$ol_enable_sql
+       if test "$ol_enable_sql" = mod; then
                SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-sql"
+               MFLAG=SLAPD_MOD_DYNAMIC
        else
                SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-sql"
+               MFLAG=SLAPD_MOD_STATIC
        fi
+       AC_DEFINE_UNQUOTED(SLAPD_SQL,$MFLAG,[define to support SQL backend])
 fi
 
-if test "$ol_with_dyngroup" != no ; then
-       BUILD_DYNGROUP=$ol_with_dyngroup
-       if test "$ol_with_dyngroup" = mod ; then
+if test "$ol_enable_dyngroup" != no ; then
+       BUILD_DYNGROUP=$ol_enable_dyngroup
+       if test "$ol_enable_dyngroup" = mod ; then
                MFLAG=SLAPD_MOD_DYNAMIC
                SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dyngroup.la"
        else
@@ -2756,9 +2578,9 @@ if test "$ol_with_dyngroup" != no ; then
        AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNGROUP,$MFLAG,[define for Dynamic Group overlay])
 fi
 
-if test "$ol_with_proxycache" != no ; then
-       BUILD_PROXYCACHE=$ol_with_proxycache
-       if test "$ol_with_proxycache" = mod ; then
+if test "$ol_enable_proxycache" != no ; then
+       BUILD_PROXYCACHE=$ol_enable_proxycache
+       if test "$ol_enable_proxycache" = mod ; then
                MFLAG=SLAPD_MOD_DYNAMIC
                SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS pcache.la"
        else
@@ -2809,8 +2631,10 @@ AC_SUBST(WITH_TLS)
 AC_SUBST(BUILD_LIBS_DYNAMIC)
 
 AC_SUBST(BUILD_SLAPD)
+dnl slapi
   AC_SUBST(BUILD_SLAPI)
   AC_SUBST(SLAPD_SLAPI_DEPEND)
+dnl backends
   AC_SUBST(BUILD_BDB)
   AC_SUBST(BUILD_DNSSRV)
   AC_SUBST(BUILD_HDB)
@@ -2823,18 +2647,7 @@ AC_SUBST(BUILD_SLAPD)
   AC_SUBST(BUILD_PERL)
   AC_SUBST(BUILD_SHELL)
   AC_SUBST(BUILD_SQL)
-  AC_SUBST(BUILD_BDB_DYNAMIC)
-  AC_SUBST(BUILD_DNSSRV_DYNAMIC)
-  AC_SUBST(BUILD_HDB_DYNAMIC)
-  AC_SUBST(BUILD_LDAP_DYNAMIC)
-  AC_SUBST(BUILD_LDBM_DYNAMIC)
-  AC_SUBST(BUILD_META_DYNAMIC)
-  AC_SUBST(BUILD_MONITOR_DYNAMIC)
-  AC_SUBST(BUILD_NULL_DYNAMIC)
-  AC_SUBST(BUILD_PASSWD_DYNAMIC)
-  AC_SUBST(BUILD_PERL_DYNAMIC)
-  AC_SUBST(BUILD_SHELL_DYNAMIC)
-  AC_SUBST(BUILD_SQL_DYNAMIC)
+dnl overlays
   AC_SUBST(BUILD_DYNGROUP)
   AC_SUBST(BUILD_PROXYCACHE)
 AC_SUBST(BUILD_SLURPD)
@@ -2919,7 +2732,6 @@ servers/slapd/back-sql/Makefile:build/top.mk:servers/slapd/back-sql/Makefile.in:
 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/slapd/tools/Makefile:build/top.mk:servers/slapd/tools/Makefile.in \
 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 \