]> git.sur5r.net Git - openldap/blobdiff - configure.in
Changed to use lower case for case folding
[openldap] / configure.in
index 9395e81d46fbcc1d066feb3700d4cbb6686fa2a8..68d7e632745d3aa40a436da09b802aca42338c44 100644 (file)
@@ -1,6 +1,6 @@
 dnl $OpenLDAP$
 dnl
 dnl $OpenLDAP$
 dnl
-dnl Copyright 1998-2001 The OpenLDAP Foundation.  All Rights Reserved.
+dnl Copyright 1998-2002 The OpenLDAP Foundation.  All Rights Reserved.
 dnl 
 dnl Redistribution and use in source and binary forms, with or without
 dnl modification, are permitted only as authorized by the OpenLDAP
 dnl 
 dnl Redistribution and use in source and binary forms, with or without
 dnl modification, are permitted only as authorized by the OpenLDAP
@@ -16,7 +16,7 @@ define([AC_INIT_BINSH],
 # $]OpenLDAP[$
 # from] translit([$OpenLDAP$], $")] [
 
 # $]OpenLDAP[$
 # from] translit([$OpenLDAP$], $")] [
 
-# Copyright 1998-2001 The OpenLDAP Foundation.  All Rights Reserved.
+# Copyright 1998-2002 The OpenLDAP Foundation.  All Rights Reserved.
 # 
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted only as authorized by the OpenLDAP
 # 
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted only as authorized by the OpenLDAP
@@ -24,8 +24,8 @@ define([AC_INIT_BINSH],
 # http://www.OpenLDAP.org/license.html or in file LICENSE in the
 # top-level directory of the distribution.
 
 # http://www.OpenLDAP.org/license.html or in file LICENSE in the
 # top-level directory of the distribution.
 
-echo "Copyright 1998-2001 The OpenLDAP Foundation,  All Rights Reserved."
-echo "Restrictions apply, see COPYRIGHT and LICENSE files."
+echo "Copyright 1998-2002 The OpenLDAP Foundation,  All Rights Reserved."
+echo " Restrictions apply, see COPYRIGHT and LICENSE files."
 ])dnl
 dnl ----------------------------------------------------------------
 dnl Disable config.cache!
 ])dnl
 dnl ----------------------------------------------------------------
 dnl Disable config.cache!
@@ -51,7 +51,19 @@ if test -z "$OL_STRING"; then
        AC_MSG_ERROR([could not determine version])
 fi
 
        AC_MSG_ERROR([could not determine version])
 fi
 
-echo "Configuring $OL_STRING ..."
+if test -f "$ac_aux_dir/shtool" -a ! -d $ac_aux_dir/shtool; then
+       ac_cv_shtool="$ac_aux_dir/shtool"
+else
+       AC_MSG_ERROR([no shtool found in $ac_aux_dir])
+fi
+
+SHTOOL="$ac_cv_shtool"
+dnl AC_SUBST(SHTOOL)dnl
+
+TB=`$SHTOOL echo -e %B`
+TN=`$SHTOOL echo -e %b`
+
+echo "Configuring $TB$OL_STRING$TN ..."
 
 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
@@ -73,7 +85,7 @@ AC_SUBST(OPENLDAP_LIBVERSION)dnl
 
 dnl We use autoconf features new to 2.13.
 dnl aclocal.m4 should be built using aclocal from automake 1.4
 
 dnl We use autoconf features new to 2.13.
 dnl aclocal.m4 should be built using aclocal from automake 1.4
-dnl libtool 1.3.3 should be installed.
+dnl libtool 1.4.2 should be installed.
 AC_PREREQ(2.13)dnl Required Autoconf version
 
 AC_CONFIG_HEADER(include/portable.h include/ldap_features.h include/lber_types.h)dnl
 AC_PREREQ(2.13)dnl Required Autoconf version
 
 AC_CONFIG_HEADER(include/portable.h include/ldap_features.h include/lber_types.h)dnl
@@ -147,7 +159,8 @@ dnl ----------------------------------------------------------------
 
 dnl ----------------------------------------------------------------
 dnl SLAPD OPTIONS
 
 dnl ----------------------------------------------------------------
 dnl SLAPD OPTIONS
-AC_ARG_WITH(xxslapdoptions,[SLAPD (Standalone LDAP Daemon) Options:])
+AC_ARG_WITH(xxslapdoptions,[
+SLAPD (Standalone LDAP Daemon) Options:])
 OL_ARG_ENABLE(slapd,[  --enable-slapd    enable building slapd], yes)dnl
 OL_ARG_ENABLE(aci,[    --enable-aci      enable per-object ACIs (experimental)], no)dnl
 OL_ARG_ENABLE(cleartext,[    --enable-cleartext          enable cleartext passwords], yes)dnl
 OL_ARG_ENABLE(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
@@ -164,7 +177,7 @@ OL_ARG_ENABLE(slp, [    --enable-slp          enable SLPv2 support], no)dnl
 OL_ARG_ENABLE(wrappers,[    --enable-wrappers    enable tcp wrapper support], no)dnl
 
 dnl SLAPD Backend options
 OL_ARG_ENABLE(wrappers,[    --enable-wrappers    enable tcp wrapper support], no)dnl
 
 dnl SLAPD Backend options
-OL_ARG_ENABLE(bdb,[    --enable-bdb      enable Berkeley DB backend], no)dnl
+OL_ARG_ENABLE(bdb,[    --enable-bdb      enable Berkeley DB backend], yes)dnl
 OL_ARG_WITH(bdb_module,[    --with-bdb-module     module type], static,
        [static dynamic])
 OL_ARG_ENABLE(dnssrv,[    --enable-dnssrv        enable dnssrv backend], no)dnl
 OL_ARG_WITH(bdb_module,[    --with-bdb-module     module type], static,
        [static dynamic])
 OL_ARG_ENABLE(dnssrv,[    --enable-dnssrv        enable dnssrv backend], no)dnl
@@ -173,7 +186,7 @@ OL_ARG_WITH(dnssrv_module,[    --with-dnssrv-module  module type], static,
 OL_ARG_ENABLE(ldap,[    --enable-ldap    enable ldap backend], no)dnl
 OL_ARG_WITH(ldap_module,[    --with-ldap-module          module type], static,
        [static dynamic])
 OL_ARG_ENABLE(ldap,[    --enable-ldap    enable ldap backend], no)dnl
 OL_ARG_WITH(ldap_module,[    --with-ldap-module          module type], static,
        [static dynamic])
-OL_ARG_ENABLE(ldbm,[    --enable-ldbm    enable ldbm backend], yes)dnl
+OL_ARG_ENABLE(ldbm,[    --enable-ldbm    enable ldbm backend], no)dnl
 OL_ARG_WITH(ldbm_api,[    --with-ldbm-api       with LDBM API], auto,
        [auto berkeley bcompat mdbm gdbm])
 OL_ARG_WITH(ldbm_module,[    --with-ldbm-module          module type], static,
 OL_ARG_WITH(ldbm_api,[    --with-ldbm-api       with LDBM API], auto,
        [auto berkeley bcompat mdbm gdbm])
 OL_ARG_WITH(ldbm_module,[    --with-ldbm-module          module type], static,
@@ -184,7 +197,7 @@ OL_ARG_ENABLE(meta,[    --enable-meta         enable metadirectory backend], no)dnl
 OL_ARG_WITH(meta_module,[    --with-meta-module          module type], static,
        [static dynamic])
 OL_ARG_ENABLE(monitor,[    --enable-monitor      enable monitor backend], no)dnl
 OL_ARG_WITH(meta_module,[    --with-meta-module          module type], static,
        [static dynamic])
 OL_ARG_ENABLE(monitor,[    --enable-monitor      enable monitor backend], no)dnl
-OL_ARG_WITH(monitor_module,[    --with-monitor-module    module type], static,
+OL_ARG_WITH(monitor_module,[    --with-monitor-module module type], static,
        [static dynamic])
 OL_ARG_ENABLE(passwd,[    --enable-passwd        enable passwd backend], no)dnl
 OL_ARG_WITH(passwd_module,[    --with-passwd-module  module type], static,
        [static dynamic])
 OL_ARG_ENABLE(passwd,[    --enable-passwd        enable passwd backend], no)dnl
 OL_ARG_WITH(passwd_module,[    --with-passwd-module  module type], static,
@@ -204,11 +217,13 @@ OL_ARG_WITH(tcl_module,[    --with-tcl-module       module type], static,
 
 dnl ----------------------------------------------------------------
 dnl SLURPD OPTIONS
 
 dnl ----------------------------------------------------------------
 dnl SLURPD OPTIONS
-AC_ARG_WITH(xxslurpdoptions,[SLURPD (Replication Daemon) Options:])
+AC_ARG_WITH(xxslurpdoptions,[
+SLURPD (Replication Daemon) Options:])
 OL_ARG_ENABLE(slurpd,[  --enable-slurpd          enable building slurpd], auto)dnl
 
 dnl ----------------------------------------------------------------
 OL_ARG_ENABLE(slurpd,[  --enable-slurpd          enable building slurpd], auto)dnl
 
 dnl ----------------------------------------------------------------
-AC_ARG_WITH(xxliboptions,[Library Generation & Linking Options])
+AC_ARG_WITH(xxliboptions,[
+Library Generation & Linking Options])
 AC_ENABLE_STATIC
 dnl AC_DISABLE_SHARED
 AC_ENABLE_SHARED
 AC_ENABLE_STATIC
 dnl AC_DISABLE_SHARED
 AC_ENABLE_SHARED
@@ -234,7 +249,7 @@ if test $ol_enable_slapd = no ; then
        if test $ol_enable_meta = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-meta argument])
        fi
        if test $ol_enable_meta = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-meta argument])
        fi
-       if test $ol_enable_module = yes ; then
+       if test $ol_enable_monitor = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-monitor argument])
        fi
        if test $ol_enable_passwd = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-monitor argument])
        fi
        if test $ol_enable_passwd = yes ; then
@@ -382,13 +397,23 @@ elif test $ol_enable_ldbm = no ; then
                $ol_enable_shell = no -a \
                $ol_enable_sql = no -a \
                $ol_enable_tcl = no ; then
                $ol_enable_shell = no -a \
                $ol_enable_sql = no -a \
                $ol_enable_tcl = no ; then
-               AC_MSG_ERROR([slapd requires a backend])
+
+               if test $ol_enable_slapd = yes ; then
+                       AC_MSG_ERROR([slapd requires a backend])
+               else
+                       AC_MSG_WARN([skipping slapd, no backend specified])
+                       ol_enable_slapd=no
+               fi
        fi
 
        ol_with_ldbm_api=no
        ol_with_ldbm_type=no
        ol_with_ldbm_module=static
 
        fi
 
        ol_with_ldbm_api=no
        ol_with_ldbm_type=no
        ol_with_ldbm_module=static
 
+       if test $ol_enable_bdb != no ; then
+               ol_with_ldbm_api=berkeley
+       fi
+
 else
        dnl SLAPD with LDBM
        if test $ol_with_ldbm_api = gdbm -a \
 else
        dnl SLAPD with LDBM
        if test $ol_with_ldbm_api = gdbm -a \
@@ -403,6 +428,21 @@ else
                $ol_with_ldbm_type = btree ; then
                AC_MSG_ERROR([NDBM only supports LDBM type hash])
        fi
                $ol_with_ldbm_type = btree ; then
                AC_MSG_ERROR([NDBM only supports LDBM type hash])
        fi
+
+       if test $ol_enable_bdb = yes ; then
+               if test $ol_with_ldbm_api = auto ; then
+                       ol_with_ldbm_api=berkeley
+               elif test $ol_with_ldbm_api != berkeley ; then
+                       AC_MSG_ERROR([LDBM API not compatible with BDB])
+               fi
+
+       elif test $ol_enable_bdb = auto ; then
+               if test $ol_with_ldbm_api != berkeley \
+                       -o $ol_with_ldbm_api != auto ; then
+                       AC_MSG_WARN([LDBM API not compatible with BDB, disabling BDB])
+                       ol_enable_bdb=no
+               fi
+       fi
 fi
 
 if test $ol_enable_slurpd = yes ; then
 fi
 
 if test $ol_enable_slurpd = yes ; then
@@ -421,13 +461,17 @@ fi
 if test $ol_enable_kbind = yes -o $ol_enable_kpasswd = yes ; then
        if test $ol_with_kerberos = no ; then
                AC_MSG_ERROR([options require --with-kerberos])
 if test $ol_enable_kbind = yes -o $ol_enable_kpasswd = 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
        fi
-       ol_with_kerberos=yes
+
 elif test $ol_enable_kbind = no -o $ol_enable_kpasswd = no ; then
 elif test $ol_enable_kbind = no -o $ol_enable_kpasswd = no ; then
-       if test $ol_with_kerberos != no -a $ol_with_kerberos != auto ; then
+       if test $ol_with_kerberos = auto ; then
+               ol_with_kerberos=no
+       elif test $ol_with_kerberos != no ; then
                AC_MSG_WARN([Kerberos detection enabled unnecessarily]);
                AC_MSG_WARN([Kerberos detection enabled unnecessarily]);
+               ol_with_kerberos=no
        fi
        fi
-       ol_with_kerberos=no
 fi
 
 if test $ol_enable_spasswd = yes ; then
 fi
 
 if test $ol_enable_spasswd = yes ; then
@@ -443,6 +487,7 @@ dnl ----------------------------------------------------------------
 dnl Initialize vars
 LDAP_LIBS=
 LDIF_LIBS=
 dnl Initialize vars
 LDAP_LIBS=
 LDIF_LIBS=
+LDBM_LIB=
 LDBM_LIBS=
 LTHREAD_LIBS=
 LUTIL_LIBS=
 LDBM_LIBS=
 LTHREAD_LIBS=
 LUTIL_LIBS=
@@ -483,6 +528,9 @@ SLAPD_MODULES_LDFLAGS=
 SLAPD_MODULES_CPPFLAGS=
 SLAPD_MODULES_LIST=
 
 SLAPD_MODULES_CPPFLAGS=
 SLAPD_MODULES_LIST=
 
+SLAPD_STATIC_BACKENDS=
+SLAPD_DYNAMIC_BACKENDS=
+
 SLAPD_PERL_LDFLAGS=
 MOD_PERL_LDFLAGS=
 PERL_CPPFLAGS=
 SLAPD_PERL_LDFLAGS=
 MOD_PERL_LDFLAGS=
 PERL_CPPFLAGS=
@@ -506,7 +554,7 @@ SLAPD_SLP_LIBS=
 dnl ================================================================
 dnl Checks for programs
 
 dnl ================================================================
 dnl Checks for programs
 
-dnl AC_PROG_INSTALL
+AC_PROG_INSTALL
 
 AC_DEFINE(HAVE_MKVERSION, 1, [define this if you have mkversion])
 
 
 AC_DEFINE(HAVE_MKVERSION, 1, [define this if you have mkversion])
 
@@ -564,6 +612,8 @@ dnl The default CFLAGS is empty NOT whatever AC_PROG_CC sets.
 dnl (for now, let autoconf sort this out)
 dnl CFLAGS=${CFLAGS-""}
 
 dnl (for now, let autoconf sort this out)
 dnl CFLAGS=${CFLAGS-""}
 
+AC_CHECK_PROGS(AR,ar gar,ar)
+
 AC_LIBTOOL_WIN32_DLL
 AC_LIBTOOL_DLOPEN
 AC_PROG_LIBTOOL
 AC_LIBTOOL_WIN32_DLL
 AC_LIBTOOL_DLOPEN
 AC_PROG_LIBTOOL
@@ -572,10 +622,6 @@ AC_PROG_AWK
 OL_PROG_LN_H
 AC_PROG_LN_S
 
 OL_PROG_LN_H
 AC_PROG_LN_S
 
-if test "$LN_H" = "cp" -a "$LN_S" = "ln"; then
-       LN_S="$LN_H"
-fi
-
 AC_PATH_PROG(SENDMAIL, sendmail, /usr/lib/sendmail,
        $PATH:/usr/libexec:/usr/lib:/usr/sbin:/usr/etc:/etc)
 AC_PATH_PROG(EDITOR, vi, /usr/ucb/vi, $PATH:/usr/ucb)
 AC_PATH_PROG(SENDMAIL, sendmail, /usr/lib/sendmail,
        $PATH:/usr/libexec:/usr/lib:/usr/sbin:/usr/etc:/etc)
 AC_PATH_PROG(EDITOR, vi, /usr/ucb/vi, $PATH:/usr/ucb)
@@ -622,9 +668,9 @@ fi
 
 dnl ----------------------------------------------------------------
 dnl Checks for UNIX Variants
 
 dnl ----------------------------------------------------------------
 dnl Checks for UNIX Variants
-AC_AIX
-AC_ISC_POSIX
-AC_MINIX
+dnl AC_AIX
+dnl AC_ISC_POSIX
+dnl AC_MINIX
 
 dnl ----------------------------------------------------------------
 dnl Checks for system services
 
 dnl ----------------------------------------------------------------
 dnl Checks for system services
@@ -673,8 +719,8 @@ if test $ol_enable_modules != no ; then
        fi
 
        AC_CHECK_LIB(ltdl, lt_dlinit, [
        fi
 
        AC_CHECK_LIB(ltdl, lt_dlinit, [
-           MODULES_LIBS=-lltdl
-           AC_DEFINE(HAVE_LIBLTDL,1,[define if you have libtool -ltdl])
+               MODULES_LIBS=-lltdl
+               AC_DEFINE(HAVE_LIBLTDL,1,[define if you have libtool -ltdl])
        ])
 
        if test "$ac_cv_lib_ltdl_lt_dlinit" = no ; then
        ])
 
        if test "$ac_cv_lib_ltdl_lt_dlinit" = no ; then
@@ -755,6 +801,7 @@ AC_CHECK_HEADERS(   \
        termios.h               \
        unistd.h                \
        winsock.h               \
        termios.h               \
        unistd.h                \
        winsock.h               \
+       winsock2.h              \
 )
 
 
 )
 
 
@@ -764,26 +811,46 @@ dnl Checks for libraries
 AC_CHECK_FUNC(dlopen, :, [AC_CHECK_LIB(dl, dlopen)])
 
 dnl HP-UX requires -lV3
 AC_CHECK_FUNC(dlopen, :, [AC_CHECK_LIB(dl, dlopen)])
 
 dnl HP-UX requires -lV3
+dnl this is not needed on newer versions of HP-UX
 AC_CHECK_LIB(V3, sigset)
 
 AC_CHECK_LIB(V3, sigset)
 
-dnl Gotta check for winsock manually
-if test $ac_cv_header_winsock_h = yes; then
-       AC_CACHE_CHECK([for winsock], [ol_cv_winsock], 
-       AC_TRY_LINK([#include <winsock.h>],[
-                       socket(0,0,0);
-                       select(0,NULL,NULL,NULL,NULL);
-                       closesocket(0);
-                       gethostname(NULL,0);
-       ],[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])
+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)
+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();
+                       ],
+                       [
+                       socket@12();
+                       select@20();
+                       closesocket@4();
+                       gethostname@8();
+                       ],
+                       have_winsock=yes, have_winsock=no)
+
+       if test $have_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
                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
+                       AC_DEFINE(HAVE_WINSOCK2, 1,
+                                 [define if you have winsock2])
+               fi
+               break
        fi
        fi
-fi
+       LIBS="$save_LIBS"
+done
+AC_MSG_RESULT($have_winsock)
 
 dnl Find socket()
 dnl Likely combinations:
 
 dnl Find socket()
 dnl Likely combinations:
@@ -804,10 +871,10 @@ dnl require select
 AC_CHECK_FUNC(select, :, AC_MSG_ERROR([select() required.]))
 
 if test "${ac_cv_header_winsock_h}" != yes; then
 AC_CHECK_FUNC(select, :, AC_MSG_ERROR([select() required.]))
 
 if test "${ac_cv_header_winsock_h}" != yes; then
-    dnl Select arg types
-    dnl (if this detection becomes permenent, it and the select() detection
-    dnl should be done before the yielding select test) 
-    AC_FUNC_SELECT_ARGTYPES
+       dnl Select arg types
+       dnl (if this detection becomes permenent, it and the select() detection
+       dnl should be done before the yielding select test) 
+       AC_FUNC_SELECT_ARGTYPES
 fi
 
 dnl check to see if system call automatically restart
 fi
 
 dnl check to see if system call automatically restart
@@ -819,17 +886,65 @@ AC_CHECK_HEADERS( regex.h )
 if test "$ac_cv_header_regex_h" != yes ; then
        AC_MSG_ERROR([POSIX regex.h required.])
 fi
 if test "$ac_cv_header_regex_h" != yes ; then
        AC_MSG_ERROR([POSIX regex.h required.])
 fi
-AC_CHECK_FUNC(regfree, :, AC_MSG_ERROR([POSIX regex required.]))
+AC_SEARCH_LIBS(regfree, [regex gnuregex],
+       :, AC_MSG_ERROR([POSIX regex required.]))
 
 OL_POSIX_REGEX
 if test "$ol_cv_c_posix_regex" = no ; then
        AC_MSG_ERROR([broken POSIX regex!])
 fi
 
 
 OL_POSIX_REGEX
 if test "$ol_cv_c_posix_regex" = no ; then
        AC_MSG_ERROR([broken POSIX regex!])
 fi
 
+dnl ----------------------------------------------------------------
+dnl UUID Support
+
+have_uuid=no
+AC_CHECK_HEADERS(sys/uuid.h)
+if test $ac_cv_header_sys_uuid_h = yes ; then
+       save_LIBS="$LIBS"
+       AC_SEARCH_LIBS(uuid_to_str, uuid, [have_uuid=yes], :)
+       LIBS="$save_LIBS"
+
+       if test have_uuid = yes ; then
+               AC_DEFINE(HAVE_UUID_TO_STR,1,
+                       [define if you have uuid_to_str()])
+
+               test "$ac_cv_search_uuid_to_str" = "none required" || \
+                       SLAPD_LIBS="$SLAPD_LIBS $ac_cv_search_uuid_to_str"
+       fi
+fi
+
+dnl For windows, check for the need of RPCRT for UUID function support
+if test $have_uuid = no ; then
+       AC_MSG_CHECKING(to see if -lrpcrt4 is needed for win32 UUID support)
+       save_LIBS="$LIBS"
+       LIBS="$LIBS -lrpcrt4"
+       AC_TRY_LINK([
+               char UuidCreate@4();
+               char UuidToStringA@8();
+               ],
+               [
+               UuidCreate@4();
+               UuidToStringA@8();
+               ],
+               need_rpcrt=yes, need_rpcrt=no)
+       if test $need_rpcrt = yes; then
+               SLAPD_LIBS="$SLAPD_LIBS -lrpcrt4"
+       fi
+       LIBS="$save_LIBS"
+       AC_MSG_RESULT($need_rpcrt)
+fi
+
 dnl ----------------------------------------------------------------
 dnl Check for resolver routines
 dnl ----------------------------------------------------------------
 dnl Check for resolver routines
+dnl      need to check for both res_query and __res_query
+dnl   need to check -lc, -lbind, and -lresolv
 ol_link_dnssrv=no
 AC_CHECK_FUNC(res_query,:)
 ol_link_dnssrv=no
 AC_CHECK_FUNC(res_query,:)
+if test $ac_cv_func_res_query = no ; then 
+       AC_CHECK_FUNC(__res_query,:)
+       ac_cv_func_res_query=$ac_cv_func___res_query
+fi
+
 if test $ac_cv_func_res_query = no ; then 
        AC_CHECK_LIB(bind, res_query)
        ac_cv_func_res_query=$ac_cv_lib_bind_res_query
 if test $ac_cv_func_res_query = no ; then 
        AC_CHECK_LIB(bind, res_query)
        ac_cv_func_res_query=$ac_cv_lib_bind_res_query
@@ -845,6 +960,11 @@ if test $ac_cv_func_res_query = no ; then
        ac_cv_func_res_query=$ac_cv_lib_resolv_res_query
 fi
 
        ac_cv_func_res_query=$ac_cv_lib_resolv_res_query
 fi
 
+if test $ac_cv_func_res_query = no ; then 
+       AC_CHECK_LIB(resolv, __res_query)
+       ac_cv_func_res_query=$ac_cv_lib_resolv___res_query
+fi
+
 if test "$ac_cv_func_res_query" = yes ; then
        AC_DEFINE(HAVE_RES_QUERY,1,
                [define if you have res_query()])
 if test "$ac_cv_func_res_query" = yes ; then
        AC_DEFINE(HAVE_RES_QUERY,1,
                [define if you have res_query()])
@@ -861,16 +981,14 @@ fi
 dnl ----------------------------------------------------------------
 dnl PF_INET6 support requires getaddrinfo and INET6_ADDRSTRLEN
 dnl PF_LOCAL may use getaddrinfo in available
 dnl ----------------------------------------------------------------
 dnl PF_INET6 support requires getaddrinfo and INET6_ADDRSTRLEN
 dnl PF_LOCAL may use getaddrinfo in available
-AC_CHECK_FUNCS( getaddrinfo inet_ntop )
+AC_CHECK_FUNCS( getaddrinfo 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 $ol_enable_ipv6 = yes ; then
                AC_MSG_ERROR([IPv6 support requires getaddrinfo() and inet_ntop()])
        fi
 
 ol_link_ipv6=no
 if test $ac_cv_func_getaddrinfo = no -o $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
-else
-       AC_CHECK_FUNCS( gai_strerror )
-
+elif test $ol_enable_ipv6 != no ; then
        AC_CACHE_CHECK([INET6_ADDRSTRLEN],[ol_cv_inet6_addrstrlen],[
                AC_EGREP_CPP(__has_inet6_addrstrlen__,[
 #                      include <netinet/in.h>
        AC_CACHE_CHECK([INET6_ADDRSTRLEN],[ol_cv_inet6_addrstrlen],[
                AC_EGREP_CPP(__has_inet6_addrstrlen__,[
 #                      include <netinet/in.h>
@@ -919,11 +1037,15 @@ if test $ol_with_kerberos = yes -o $ol_with_kerberos = auto \
                fi
 
                if test $krb5_impl = mit; then
                fi
 
                if test $krb5_impl = mit; then
+                       AC_CHECK_LIB(k5crypto, main,
+                               [krb5crypto=k5crypto],
+                               [krb5crypto=crypto])
+
                        AC_CHECK_LIB(krb5, main,
                                [have_krb5=yes
                        AC_CHECK_LIB(krb5, main,
                                [have_krb5=yes
-                               KRB5_LIBS="-lkrb5 -lcrypto -lcom_err"],
+                               KRB5_LIBS="-lkrb5 -l$krb5crypto -lcom_err"],
                                [have_krb5=no],
                                [have_krb5=no],
-                               [-lcrypto -lcom_err])
+                               [-l$krb5crypto -lcom_err])
 
                elif test $krb5_impl = heimdal; then
                        AC_CHECK_LIB(krb5, main,
 
                elif test $krb5_impl = heimdal; then
                        AC_CHECK_LIB(krb5, main,
@@ -934,6 +1056,7 @@ if test $ol_with_kerberos = yes -o $ol_with_kerberos = auto \
 
                        AC_DEFINE(HAVE_HEIMDAL_KERBEROS, 1,
                                [define if you have HEIMDAL Kerberos])
 
                        AC_DEFINE(HAVE_HEIMDAL_KERBEROS, 1,
                                [define if you have HEIMDAL Kerberos])
+
                else
                        have_krb5=no
                        AC_MSG_WARN([Unrecongized Kerberos5 Implementation])
                else
                        have_krb5=no
                        AC_MSG_WARN([Unrecongized Kerberos5 Implementation])
@@ -969,7 +1092,7 @@ if test $ol_link_krb5 = yes -a \( $ol_with_kerberos = yes -o \
                if test $krb5_impl = mit; then
                        AC_CHECK_LIB(krb4, main, [have_k425=yes
                                KRB4_LIBS="-lkrb4 -ldes425"], [have_k425=no],
                if test $krb5_impl = mit; then
                        AC_CHECK_LIB(krb4, main, [have_k425=yes
                                KRB4_LIBS="-lkrb4 -ldes425"], [have_k425=no],
-                               [-ldes425 -lkrb5 -lcrypto -lcom_err])
+                               [-ldes425 -lkrb5 -l$krb5crypto -lcom_err])
 
                elif test $krb5_impl = heimdal; then
                        AC_CHECK_LIB(krb4, main, [have_k425=yes
 
                elif test $krb5_impl = heimdal; then
                        AC_CHECK_LIB(krb4, main, [have_k425=yes
@@ -1109,7 +1232,7 @@ if test $ol_with_tls != no ; then
        fi
 
 else
        fi
 
 else
-       AC_WARN([TLS privacy protection not supported!])
+       AC_WARN([TLS data protection not supported!])
 fi
 
 if test $ol_link_tls = yes ; then
 fi
 
 if test $ol_link_tls = yes ; then
@@ -1117,7 +1240,7 @@ if test $ol_link_tls = yes ; then
 
 elif test $ol_with_tls = auto ; then
        AC_WARN([Could not locate TLS/SSL package])
 
 elif test $ol_with_tls = auto ; then
        AC_WARN([Could not locate TLS/SSL package])
-       AC_WARN([TLS privacy protection not supported!])
+       AC_WARN([TLS data protection not supported!])
 
 elif test $ol_with_tls != no ; then
        AC_ERROR([Could not locate TLS/SSL package])
 
 elif test $ol_with_tls != no ; then
        AC_ERROR([Could not locate TLS/SSL package])
@@ -1184,9 +1307,9 @@ if test $ol_with_threads = auto -o $ol_with_threads = yes \
        OL_NT_THREADS
 
        if test "$ol_cv_nt_threads" = yes ; then
        OL_NT_THREADS
 
        if test "$ol_cv_nt_threads" = yes ; then
-       ol_link_threads=nt
-       ol_with_threads=found
-       ol_with_yielding_select=yes
+               ol_link_threads=nt
+               ol_with_threads=found
+               ol_with_yielding_select=yes
 
                AC_DEFINE(HAVE_NT_SERVICE_MANAGER,1,[if you have NT Service Manager])
                AC_DEFINE(HAVE_NT_EVENT_LOG,1,[if you have NT Event Log])
 
                AC_DEFINE(HAVE_NT_SERVICE_MANAGER,1,[if you have NT Service Manager])
                AC_DEFINE(HAVE_NT_EVENT_LOG,1,[if you have NT Event Log])
@@ -1502,11 +1625,11 @@ if test $ol_with_threads = auto -o $ol_with_threads = yes \
        -o $ol_with_threads = mach ; then
 
        dnl check for Mach CThreads
        -o $ol_with_threads = mach ; then
 
        dnl check for Mach CThreads
-       AC_CHECK_HEADERS(mach/cthreads.h)
+       AC_CHECK_HEADERS(mach/cthreads.h cthreads.h)
        if test $ac_cv_header_mach_cthreads_h = yes ; then
                ol_with_threads=found
 
        if test $ac_cv_header_mach_cthreads_h = yes ; then
                ol_with_threads=found
 
-               dnl check for cthread support in current $LIBS
+               dnl check for cthreads support in current $LIBS
                AC_CHECK_FUNC(cthread_fork,[ol_link_threads=yes])
 
                if test $ol_link_threads = no ; then
                AC_CHECK_FUNC(cthread_fork,[ol_link_threads=yes])
 
                if test $ol_link_threads = no ; then
@@ -1527,21 +1650,40 @@ if test $ol_with_threads = auto -o $ol_with_threads = yes \
                        if test $ol_cv_cthread_all_load = yes ; then
                                LTHREAD_LIBS="$LTHREAD_LIBS -all_load"
                                ol_link_threads=mach
                        if test $ol_cv_cthread_all_load = yes ; then
                                LTHREAD_LIBS="$LTHREAD_LIBS -all_load"
                                ol_link_threads=mach
+                               ol_with_threads=found
                        fi
                fi
 
                        fi
                fi
 
-               if test $ol_link_threads != no ; then
-                       : check for cthread specific functionality here
-                       AC_DEFINE(HAVE_MACH_CTHREADS,1,
-                               [define if you have Mach Cthreads])
+       elif test $ac_cv_header_cthreads_h = yes ; then
+               dnl Hurd variant of Mach Cthreads
+               dnl uses <cthreads.h> and -lthreads
+
+               ol_with_threads=found
+               dnl save the flags
+               save_LIBS="$LIBS"
+               LIBS="$LIBS -lthreads"
+               AC_CHECK_FUNC(cthread_fork,[ol_link_threads=yes])
+               LIBS="$save_LIBS"
+
+               if test $ol_link_threads = yes ; then
+                       LTHREAD_LIBS="-lthreads"
+                       ol_link_threads=mach
+                       ol_with_threads=found
                else
                        AC_MSG_ERROR([could not link with Mach CThreads])
                fi
                else
                        AC_MSG_ERROR([could not link with Mach CThreads])
                fi
-       fi
 
 
-       if test $ol_with_threads = mach ; then
+       elif test $ol_with_threads = mach ; then
                AC_MSG_ERROR([could not locate Mach CThreads])
        fi
                AC_MSG_ERROR([could not locate Mach CThreads])
        fi
+
+       if test $ol_link_threads = mach ; then
+               AC_DEFINE(HAVE_MACH_CTHREADS,1,
+                       [define if you have Mach Cthreads])
+       elif test $ol_with_threads = found ; then
+               AC_MSG_ERROR([could not link with Mach CThreads])
+       fi
 fi
 
 if test $ol_with_threads = auto -o $ol_with_threads = yes \
 fi
 
 if test $ol_with_threads = auto -o $ol_with_threads = yes \
@@ -1556,6 +1698,7 @@ if test $ol_with_threads = auto -o $ol_with_threads = yes \
                        AC_DEFINE(HAVE_GNU_PTH,1,[if you have GNU Pth])
                        LTHREAD_LIBS="$LTHREAD_LIBS -lpth"
                        ol_link_threads=pth
                        AC_DEFINE(HAVE_GNU_PTH,1,[if you have GNU Pth])
                        LTHREAD_LIBS="$LTHREAD_LIBS -lpth"
                        ol_link_threads=pth
+                       ol_with_threads=found
 
                        if test $ol_with_yielding_select = auto ; then
                                ol_with_yielding_select=yes
 
                        if test $ol_with_yielding_select = auto ; then
                                ol_with_yielding_select=yes
@@ -1699,7 +1842,7 @@ dnl
 dnl    dnl check for reentrant/threadsafe functions
 dnl    dnl
 dnl    dnl note: these should only be used when linking
 dnl    dnl check for reentrant/threadsafe functions
 dnl    dnl
 dnl    dnl note: these should only be used when linking
-dnl    dnl       with $LTHREAD_LIBS
+dnl    dnl             with $LTHREAD_LIBS
 dnl    dnl
 dnl    save_CPPFLAGS="$CPPFLAGS"
 dnl    save_LIBS="$LIBS"
 dnl    dnl
 dnl    save_CPPFLAGS="$CPPFLAGS"
 dnl    save_LIBS="$LIBS"
@@ -1752,7 +1895,7 @@ 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=db
+               ol_with_ldbm_api=berkeley
 
                if test $ol_with_ldbm_type = hash ; then
                        AC_DEFINE(LDBM_USE_DBHASH,1,
 
                if test $ol_with_ldbm_type = hash ; then
                        AC_DEFINE(LDBM_USE_DBHASH,1,
@@ -1770,6 +1913,20 @@ if test $ol_with_ldbm_api = auto \
        fi
 fi
 
        fi
 fi
 
+if test $ol_enable_bdb = yes -a $ol_link_ldbm != berkeley ; then
+       AC_MSG_ERROR(BDB: BerkeleyDB not available)
+elif test $ol_enable_bdb != no -a $ol_link_ldbm = berkeley ; then
+       OL_BDB_COMPAT
+
+       if test $ol_cv_bdb_compat = yes ; then
+               ol_enable_bdb=yes
+       elif test $ol_enable_bdb = yes ; then
+               AC_MSG_ERROR(BDB: BerkeleyDB version incompatible)
+       else
+               ol_enable_bdb=no
+       fi
+fi
+
 if test $ol_link_ldbm = no -a $ol_with_ldbm_type = btree ; then
        AC_MSG_WARN(Could not find LDBM with BTREE support)
        ol_with_ldbm_api=none
 if test $ol_link_ldbm = no -a $ol_with_ldbm_type = btree ; then
        AC_MSG_WARN(Could not find LDBM with BTREE support)
        ol_with_ldbm_api=none
@@ -1825,39 +1982,54 @@ fi
 
 dnl ----------------------------------------------------------------
 if test $ol_enable_dynamic = yes -a $enable_shared = yes ; then
 
 dnl ----------------------------------------------------------------
 if test $ol_enable_dynamic = yes -a $enable_shared = yes ; then
-       LINK_BINS_DYNAMIC="yes"
+       BUILD_LIBS_DYNAMIC=shared
+       AC_DEFINE(LDAP_LIBS_DYNAMIC, 1, [define if LDAP libs are dynamic])
 else
 else
-       LINK_BINS_DYNAMIC="no"
+       BUILD_LIBS_DYNAMIC=static
 fi
 
 dnl ----------------------------------------------------------------
 if test $ol_enable_wrappers != no ; then
 fi
 
 dnl ----------------------------------------------------------------
 if test $ol_enable_wrappers != no ; then
-       AC_CHECK_HEADERS(tcpd.h)
+       AC_CHECK_HEADERS(tcpd.h,[
+               AC_MSG_CHECKING([for TCP wrappers library])
+               save_LIBS="$LIBS"
+               LIBS="$LIBS -lwrap"
+               AC_TRY_LINK([
+#include <tcpd.h>
+int allow_severity = 0;
+int deny_severity  = 0;
 
 
-       if test $ac_cv_header_tcpd_h != yes ; then
-               have_wrappers=no
-       else
-               AC_TRY_COMPILE([
+struct request_info *req;
+               ],[
+hosts_access(req)
+               ],[AC_MSG_RESULT([-lwrap])
+               have_wrappers=yes
+               LIBS="$save_LIBS"],[
+               dnl try with -lnsl
+               LIBS="$LIBS -lnsl"
+               AC_TRY_LINK([
+#include <tcpd.h>
 int allow_severity = 0;
 int deny_severity  = 0;
 int allow_severity = 0;
 int deny_severity  = 0;
-               ],[hosts_access()],[have_wrappers=yes],[have_wrappers=no])
-       fi
+
+struct request_info *req;
+               ],[
+hosts_access(req)
+               ],[AC_MSG_RESULT([-lwrap -lnsl])
+               have_wrappers=yes
+               LIBS="$save_LIBS -lnsl"],[
+               AC_MSG_RESULT(no)
+               have_wrappers=no
+               LIBS=$save_LIBS])],[
+               have_wrappers=no])],[have_wrappers=no])
 
        if test $have_wrappers = yes ; then
                AC_DEFINE(HAVE_TCPD,1, [define if you have -lwrap])
                WRAP_LIBS="-lwrap"
 
        if test $have_wrappers = yes ; then
                AC_DEFINE(HAVE_TCPD,1, [define if you have -lwrap])
                WRAP_LIBS="-lwrap"
-
-               dnl We add another check for -lnsl since some libwrap's
-               dnl need it, but it isn't always included from above
-               AC_CHECK_LIB(nsl, main)
+       elif test $ol_enable_wrappers = yes ; then
+               AC_MSG_ERROR([could not find TCP wrappers, select apppropriate options ore disable])
        else
        else
-               AC_MSG_WARN(could not find -lwrap)
-               if test $ol_enable_wrappers = yes ; then
-                       AC_MSG_ERROR(could not find wrappers, select appropriate options or disable)
-               fi
-
-               AC_MSG_WARN(disabling wrappers support)
-               ol_enable_wrappers=no
+               AC_MSG_WARN([could not find TCP wrappers, support disabled])
                WRAP_LIBS=""
        fi
 fi
                WRAP_LIBS=""
        fi
 fi
@@ -1912,9 +2084,9 @@ if test $ol_enable_tcl != no ; then
                        AC_CHECK_LIB($lib,main,
                          [have_tcl=yes
                           if test x"$ol_with_tcl_module" = "xstatic" ; then
                        AC_CHECK_LIB($lib,main,
                          [have_tcl=yes
                           if test x"$ol_with_tcl_module" = "xstatic" ; then
-                              SLAPD_LIBS="$SLAPD_LIBS -l${lib}"
+                                       SLAPD_LIBS="$SLAPD_LIBS -l${lib}"
                           else
                           else
-                              MOD_TCL_LIB="-l${lib}"
+                                       MOD_TCL_LIB="-l${lib}"
                           fi;break],[have_tcl=no])
                done
        fi
                           fi;break],[have_tcl=no])
                done
        fi
@@ -1964,17 +2136,13 @@ dnl
 ol_link_sasl=no
 ol_link_spasswd=no
 if test $ol_with_cyrus_sasl != no ; then
 ol_link_sasl=no
 ol_link_spasswd=no
 if test $ol_with_cyrus_sasl != no ; then
-       AC_CHECK_HEADERS(sasl.h)
-
-       if test $ac_cv_header_sasl_h = yes ; then
-               AC_CHECK_LIB(sasl, sasl_client_init,
-                       [have_cyrus_sasl=yes], [have_cyrus_sasl=no])
+       AC_CHECK_HEADERS(sasl/sasl.h sasl.h)
 
 
-               if test $have_cyrus_sasl != no ; then
-                       SASL_LIBS="-lsasl"
-                       AC_DEFINE(HAVE_CYRUS_SASL,1,[define if you have Cyrus SASL])
-                       ol_link_sasl=yes
-               fi
+       if test $ac_cv_header_sasl_sasl_h = yes -o $ac_cv_header_sasl_h = yes; then
+               AC_CHECK_LIB(sasl2, sasl_client_init,
+                       [ol_link_sasl="-lsasl2"],
+                       [AC_CHECK_LIB(sasl, sasl_client_init,
+                               [ol_link_sasl="-lsasl"])])
        fi
 
        if test $ol_link_sasl = no ; then
        fi
 
        if test $ol_link_sasl = no ; then
@@ -1987,9 +2155,12 @@ if test $ol_with_cyrus_sasl != no ; then
                                AC_MSG_WARN([Strong authentication not supported!])
                        fi
                fi
                                AC_MSG_WARN([Strong authentication not supported!])
                        fi
                fi
-
-       elif test $ol_enable_spasswd != no ; then
-               ol_link_spasswd=yes
+       else
+               AC_DEFINE(HAVE_CYRUS_SASL,1,[define if you have Cyrus SASL])
+               SASL_LIBS="$ol_link_sasl"
+               if test $ol_enable_spasswd != no ; then
+                       ol_link_spasswd=yes
+               fi
        fi
 
 else
        fi
 
 else
@@ -2001,7 +2172,7 @@ fi
 
 dnl ----------------------------------------------------------------
 dnl Check for entropy sources
 
 dnl ----------------------------------------------------------------
 dnl Check for entropy sources
-if test $cross_compiling != yes ; then
+if test $cross_compiling != yes -a "$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";
@@ -2219,6 +2390,8 @@ AC_CHECK_FUNCS(           \
        lockf                   \
        memcpy                  \
        memmove                 \
        lockf                   \
        memcpy                  \
        memmove                 \
+       mkstemp                 \
+       mktemp                  \
        pipe                    \
        read                    \
        recv                    \
        pipe                    \
        read                    \
        recv                    \
@@ -2242,6 +2415,7 @@ AC_CHECK_FUNCS(           \
        strtoul                 \
        strspn                  \
        sysconf                 \
        strtoul                 \
        strspn                  \
        sysconf                 \
+       usleep                  \
        waitpid                 \
        wait4                   \
        write                   \
        waitpid                 \
        wait4                   \
        write                   \
@@ -2253,7 +2427,7 @@ dnl We actually may need to replace more than this.
 AC_REPLACE_FUNCS(getopt)
 
 if test "$ac_cv_func_getopt" != yes; then
 AC_REPLACE_FUNCS(getopt)
 
 if test "$ac_cv_func_getopt" != yes; then
-    LIBSRCS="$LIBSRCS getopt.c"
+       LIBSRCS="$LIBSRCS getopt.c"
 fi
 
 dnl ----------------------------------------------------------------
 fi
 
 dnl ----------------------------------------------------------------
@@ -2332,6 +2506,9 @@ if test "$ol_enable_bdb" != no ; then
                BUILD_BDB=mod
                BUILD_BDB_DYNAMIC=shared
                SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-bdb/back_bdb.la"
                BUILD_BDB=mod
                BUILD_BDB_DYNAMIC=shared
                SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-bdb/back_bdb.la"
+               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-bdb"
+       else
+               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-bdb"
        fi
 fi
 
        fi
 fi
 
@@ -2345,6 +2522,9 @@ if test "$ol_link_dnssrv" != no ; then
                BUILD_DNSSRV=mod
                BUILD_DNSSRV_DYNAMIC=shared
                SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-dnssrv/back_dnssrv.la"
                BUILD_DNSSRV=mod
                BUILD_DNSSRV_DYNAMIC=shared
                SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-dnssrv/back_dnssrv.la"
+               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-dnssrv"
+       else
+               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-dnssrv"
        fi
 fi
 
        fi
 fi
 
@@ -2358,19 +2538,26 @@ if test "$ol_enable_ldap" != no ; then
                BUILD_LDAP=mod
                BUILD_LDAP_DYNAMIC=shared
                SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-ldap/back_ldap.la"
                BUILD_LDAP=mod
                BUILD_LDAP_DYNAMIC=shared
                SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-ldap/back_ldap.la"
+               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldap"
+       else
+               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldap"
        fi
 fi
 
        fi
 fi
 
-if test "$ol_link_ldbm" != no ; then
+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
        AC_DEFINE(SLAPD_LDBM,1,[define to support LDBM backend])
        BUILD_SLAPD=yes
        BUILD_LDBM=yes
+       LDBM_LIB="-lldbm"
        if test "$ol_with_ldbm_module" != static ; then
                AC_DEFINE(SLAPD_LDBM_DYNAMIC,1,
                        [define to support dynamic LDBM backend])
                BUILD_LDBM=mod
                BUILD_LDBM_DYNAMIC=shared
                SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-ldbm/back_ldbm.la"
        if test "$ol_with_ldbm_module" != static ; then
                AC_DEFINE(SLAPD_LDBM_DYNAMIC,1,
                        [define to support dynamic LDBM backend])
                BUILD_LDBM=mod
                BUILD_LDBM_DYNAMIC=shared
                SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-ldbm/back_ldbm.la"
+               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldbm"
+       else
+               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldbm"
        fi
 fi
 
        fi
 fi
 
@@ -2390,6 +2577,9 @@ if test "$ol_enable_meta" != no ; then
                BUILD_META=mod
                BUILD_META_DYNAMIC=shared
                SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-meta/back_meta.la"
                BUILD_META=mod
                BUILD_META_DYNAMIC=shared
                SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-meta/back_meta.la"
+               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-meta"
+       else
+               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-meta"
        fi
 fi
 
        fi
 fi
 
@@ -2403,6 +2593,9 @@ if test "$ol_enable_monitor" != no ; then
                BUILD_MONITOR=mod
                BUILD_MONITOR_DYNAMIC=shared
                SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-monitor/back_monitor.la"
                BUILD_MONITOR=mod
                BUILD_MONITOR_DYNAMIC=shared
                SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-monitor/back_monitor.la"
+               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-monitor"
+       else
+               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-monitor"
        fi
 fi
 
        fi
 fi
 
@@ -2416,6 +2609,9 @@ if test "$ol_enable_passwd" != no ; then
                BUILD_PASSWD=mod
                BUILD_PASSWD_DYNAMIC=shared
                SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-passwd/back_passwd.la"
                BUILD_PASSWD=mod
                BUILD_PASSWD_DYNAMIC=shared
                SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-passwd/back_passwd.la"
+               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-passwd"
+       else
+               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-passwd"
        fi
 fi
 
        fi
 fi
 
@@ -2429,6 +2625,9 @@ if test "$ol_link_perl" != no ; then
                BUILD_PERL=mod
                BUILD_PERL_DYNAMIC=shared
                SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-perl/back_perl.la"
                BUILD_PERL=mod
                BUILD_PERL_DYNAMIC=shared
                SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-perl/back_perl.la"
+               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-perl"
+       else
+               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-perl"
        fi
 fi
 
        fi
 fi
 
@@ -2442,6 +2641,9 @@ if test "$ol_enable_shell" != no ; then
                BUILD_SHELL=mod
                BUILD_SHELL_DYNAMIC=shared
                SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-shell/back_shell.la"
                BUILD_SHELL=mod
                BUILD_SHELL_DYNAMIC=shared
                SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-shell/back_shell.la"
+               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-shell"
+       else
+               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-shell"
        fi
 fi
 
        fi
 fi
 
@@ -2455,6 +2657,9 @@ if test "$ol_enable_tcl" != no ; then
                BUILD_TCL=mod
                BUILD_TCL_DYNAMIC=shared
                SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-tcl/back_tcl.la"
                BUILD_TCL=mod
                BUILD_TCL_DYNAMIC=shared
                SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-tcl/back_tcl.la"
+               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-tcl"
+       else
+               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-tcl"
        fi
 fi
 
        fi
 fi
 
@@ -2468,6 +2673,9 @@ if test "$ol_link_sql" != no ; then
                BUILD_SQL=mod
                BUILD_SQL_DYNAMIC=shared
                SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-sql/back_sql.la"
                BUILD_SQL=mod
                BUILD_SQL_DYNAMIC=shared
                SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-sql/back_sql.la"
+               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-sql"
+       else
+               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-sql"
        fi
 fi
 
        fi
 fi
 
@@ -2479,33 +2687,26 @@ fi
 if test "$ol_enable_rewrite" != no ; then
        AC_DEFINE(ENABLE_REWRITE,1,[define to enable rewriting in back-ldap and back-meta])
        BUILD_REWRITE=yes
 if test "$ol_enable_rewrite" != no ; then
        AC_DEFINE(ENABLE_REWRITE,1,[define to enable rewriting in back-ldap and back-meta])
        BUILD_REWRITE=yes
-       SLAPD_LIBS="$SLAPD_LIBS -lrewrite"
 fi
 
 dnl ----------------------------------------------------------------
 
 fi
 
 dnl ----------------------------------------------------------------
 
-if test "$LINK_BINS_DYNAMIC" = yes; then
-    LIB_LINKAGE=DYN
-    LT_LIB_LINKAGE=shared
-else
-    LIB_LINKAGE=STAT
-    LT_LIB_LINKAGE=static
-fi
+dnl
+dnl For Windows build, we don't want to include -dlopen flags.
+dnl They hurt more than they help.
+dnl
 
 if test "$ac_cv_mingw32" = yes ; then
 
 if test "$ac_cv_mingw32" = yes ; then
-    PLAT=NT
-    DYN_EXT=dll
+       PLAT=NT
+       SLAPD_MODULES_LDFLAGS=
+       SLAPD_MODULES_LIST=
 else
 else
-    PLAT=UNIX
-    DYN_EXT=so
+       PLAT=UNIX
 fi
 
 AC_SUBST(LIBSRCS)
 fi
 
 AC_SUBST(LIBSRCS)
-
 AC_SUBST(PLAT)
 AC_SUBST(PLAT)
-AC_SUBST(LIB_LINKAGE)
-AC_SUBST(LT_LIB_LINKAGE)
-AC_SUBST(DYN_EXT)
+AC_SUBST(BUILD_LIBS_DYNAMIC)
 
 AC_SUBST(BUILD_SLAPD)
   AC_SUBST(BUILD_BDB)
 
 AC_SUBST(BUILD_SLAPD)
   AC_SUBST(BUILD_BDB)
@@ -2532,6 +2733,8 @@ AC_SUBST(BUILD_SLAPD)
   AC_SUBST(BUILD_TCL_DYNAMIC)
 AC_SUBST(BUILD_SLURPD)
 
   AC_SUBST(BUILD_TCL_DYNAMIC)
 AC_SUBST(BUILD_SLURPD)
 
+AC_SUBST(LDBM_LIB)
+
 AC_SUBST(LDAP_LIBS)
 AC_SUBST(LDIF_LIBS)
 AC_SUBST(SLAPD_LIBS)
 AC_SUBST(LDAP_LIBS)
 AC_SUBST(LDIF_LIBS)
 AC_SUBST(SLAPD_LIBS)
@@ -2541,12 +2744,14 @@ AC_SUBST(LTHREAD_LIBS)
 AC_SUBST(LUTIL_LIBS)
 AC_SUBST(WRAP_LIBS)
 AC_SUBST(MOD_TCL_LIB)
 AC_SUBST(LUTIL_LIBS)
 AC_SUBST(WRAP_LIBS)
 AC_SUBST(MOD_TCL_LIB)
-AC_SUBST(LINK_BINS_DYNAMIC)
 
 AC_SUBST(SLAPD_MODULES_CPPFLAGS)
 AC_SUBST(SLAPD_MODULES_LDFLAGS)
 AC_SUBST(SLAPD_MODULES_LIST)
 
 
 AC_SUBST(SLAPD_MODULES_CPPFLAGS)
 AC_SUBST(SLAPD_MODULES_LDFLAGS)
 AC_SUBST(SLAPD_MODULES_LIST)
 
+AC_SUBST(SLAPD_STATIC_BACKENDS)
+AC_SUBST(SLAPD_DYNAMIC_BACKENDS)
+
 AC_SUBST(PERL_CPPFLAGS)
 AC_SUBST(SLAPD_PERL_LDFLAGS)
 AC_SUBST(MOD_PERL_LDFLAGS)
 AC_SUBST(PERL_CPPFLAGS)
 AC_SUBST(SLAPD_PERL_LDFLAGS)
 AC_SUBST(MOD_PERL_LDFLAGS)
@@ -2566,6 +2771,11 @@ AC_SUBST(SLAPD_SQL_LDFLAGS)
 AC_SUBST(SLAPD_SQL_LIBS)
 AC_SUBST(SLAPD_SQL_INCLUDES)
 
 AC_SUBST(SLAPD_SQL_LIBS)
 AC_SUBST(SLAPD_SQL_INCLUDES)
 
+dnl ----------------------------------------------------------------
+dnl final help output
+AC_ARG_WITH(xxinstall,[
+See INSTALL file for further details.])
+
 dnl ----------------------------------------------------------------
 dnl final output
 dnl
 dnl ----------------------------------------------------------------
 dnl final output
 dnl
@@ -2594,7 +2804,7 @@ libraries/libldbm/Makefile:build/top.mk:libraries/libldbm/Makefile.in:build/lib.
 libraries/libldif/Makefile:build/top.mk:libraries/libldif/Makefile.in:build/lib.mk:build/lib-static.mk \
 libraries/liblunicode/Makefile:build/top.mk:libraries/liblunicode/Makefile.in:build/lib.mk:build/lib-static.mk \
 libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk:build/lib-static.mk       \
 libraries/libldif/Makefile:build/top.mk:libraries/libldif/Makefile.in:build/lib.mk:build/lib-static.mk \
 libraries/liblunicode/Makefile:build/top.mk:libraries/liblunicode/Makefile.in:build/lib.mk:build/lib-static.mk \
 libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk:build/lib-static.mk       \
-libraries/librewrite/Makefile:build/top.mk:libraries/librewrite/Makefile.in:build/lib.mk:build/lib-static.mk    \
+libraries/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/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 \
@@ -2613,9 +2823,7 @@ 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/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.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/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk \
-contrib/Makefile:build/top.mk:contrib/Makefile.in:build/dir.mk \
-contrib/saucer/Makefile:build/top.mk:contrib/saucer/Makefile.in:build/rules.mk \
 ,[
 date > stamp-h
 ,[
 date > stamp-h
-echo Please \"make depend\" to build dependencies
+echo Please run \"make depend\" to build dependencies
 ])
 ])