]> git.sur5r.net Git - openldap/blobdiff - configure.in
removed default arguments from cpp-Files (to build on newer gcc)
[openldap] / configure.in
index b1d0f6f418d2f4bc1517688c5aca40f198cca427..e76123546d41aaad19704c5bc0cdd0230f8f879b 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,
@@ -186,6 +199,9 @@ OL_ARG_WITH(meta_module,[    --with-meta-module       module type], static,
 OL_ARG_ENABLE(monitor,[    --enable-monitor      enable monitor backend], no)dnl
 OL_ARG_WITH(monitor_module,[    --with-monitor-module module type], static,
        [static dynamic])
 OL_ARG_ENABLE(monitor,[    --enable-monitor      enable monitor backend], no)dnl
 OL_ARG_WITH(monitor_module,[    --with-monitor-module module type], 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,
+       [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,
        [static dynamic])
@@ -204,11 +220,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
@@ -237,6 +255,9 @@ if test $ol_enable_slapd = no ; then
        if test $ol_enable_monitor = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-monitor 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_passwd = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-passwd argument])
        fi
@@ -294,6 +315,9 @@ dnl fi
        if test $ol_with_monitor_module != static ; then
                AC_MSG_WARN([slapd disabled, ignoring --with-monitor-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_passwd_module != static ; then
                AC_MSG_WARN([slapd disabled, ignoring --with-passwd-module argument])
        fi
@@ -323,6 +347,7 @@ dnl fi
        ol_enable_ldbm=no
        ol_enable_meta=no
        ol_enable_monitor=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_passwd=no
        ol_enable_perl=no
        ol_enable_shell=no
@@ -346,6 +371,7 @@ dnl ol_enable_multimaster=no
        ol_with_ldbm_module=static
        ol_with_meta_module=static
        ol_with_monitor_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_passwd_module=static
        ol_with_perl_module=static
        ol_with_shell_module=static
@@ -377,6 +403,7 @@ elif test $ol_enable_ldbm = no ; then
                $ol_enable_ldap = no -a \
                $ol_enable_meta = no -a \
                $ol_enable_monitor = no -a \
                $ol_enable_ldap = no -a \
                $ol_enable_meta = no -a \
                $ol_enable_monitor = no -a \
+               $ol_enable_null = no -a \
                $ol_enable_passwd = no -a \
                $ol_enable_perl = no -a \
                $ol_enable_shell = no -a \
                $ol_enable_passwd = no -a \
                $ol_enable_perl = no -a \
                $ol_enable_shell = no -a \
@@ -491,6 +518,7 @@ BUILD_LDAP=no
 BUILD_LDBM=no
 BUILD_META=no
 BUILD_MONITOR=no
 BUILD_LDBM=no
 BUILD_META=no
 BUILD_MONITOR=no
+BUILD_NULL=no
 BUILD_PASSWD=no
 BUILD_PERL=no
 BUILD_SHELL=no
 BUILD_PASSWD=no
 BUILD_PERL=no
 BUILD_SHELL=no
@@ -503,6 +531,7 @@ BUILD_LDAP_DYNAMIC=static
 BUILD_LDBM_DYNAMIC=static
 BUILD_META_DYNAMIC=static
 BUILD_MONITOR_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_PASSWD_DYNAMIC=static
 BUILD_PERL_DYNAMIC=static
 BUILD_SHELL_DYNAMIC=static
@@ -539,7 +568,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])
 
@@ -607,10 +636,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)
@@ -657,9 +682,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
@@ -723,6 +748,7 @@ else
        ol_with_ldbm_module=static
        ol_with_meta_module=static
        ol_with_monitor_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_passwd_module=static
        ol_with_perl_module=static
        ol_with_shell_module=static
@@ -780,7 +806,6 @@ AC_CHECK_HEADERS(   \
        sys/errno.h             \
        sys/ioctl.h             \
        sys/param.h             \
        sys/errno.h             \
        sys/ioctl.h             \
        sys/param.h             \
-       sys/queue.h             \
        sys/resource.h  \
        sys/select.h    \
        sys/socket.h    \
        sys/resource.h  \
        sys/select.h    \
        sys/socket.h    \
@@ -801,6 +826,7 @@ 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)
 
 dnl The following is INTENTIONALLY scripted out because shell does not
 AC_CHECK_LIB(V3, sigset)
 
 dnl The following is INTENTIONALLY scripted out because shell does not
@@ -883,6 +909,46 @@ if test "$ol_cv_c_posix_regex" = no ; then
        AC_MSG_ERROR([broken POSIX regex!])
 fi
 
        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      need to check for both res_query and __res_query
 dnl ----------------------------------------------------------------
 dnl Check for resolver routines
 dnl      need to check for both res_query and __res_query
@@ -930,16 +996,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>
@@ -999,11 +1063,15 @@ if test $ol_with_kerberos = yes -o $ol_with_kerberos = auto \
                                [-l$krb5crypto -lcom_err])
 
                elif test $krb5_impl = heimdal; then
                                [-l$krb5crypto -lcom_err])
 
                elif test $krb5_impl = heimdal; then
+                       AC_CHECK_LIB(des, main,
+                               [krb5crypto=des],
+                               [krb5crypto=crypto])
+
                        AC_CHECK_LIB(krb5, main,
                                [have_krb5=yes
                        AC_CHECK_LIB(krb5, main,
                                [have_krb5=yes
-                               KRB5_LIBS="-lkrb5 -ldes -lasn1 -lroken -lcom_err"],
+                               KRB5_LIBS="-lkrb5 -l$krb5crypto -lasn1 -lroken -lcom_err"],
                                [have_krb5=no],
                                [have_krb5=no],
-                               [-ldes -lasn1 -lroken -lcom_err])
+                               [-l$krb5crypto -lasn1 -lroken -lcom_err])
 
                        AC_DEFINE(HAVE_HEIMDAL_KERBEROS, 1,
                                [define if you have HEIMDAL Kerberos])
 
                        AC_DEFINE(HAVE_HEIMDAL_KERBEROS, 1,
                                [define if you have HEIMDAL Kerberos])
@@ -1048,7 +1116,7 @@ if test $ol_link_krb5 = yes -a \( $ol_with_kerberos = yes -o \
                elif test $krb5_impl = heimdal; then
                        AC_CHECK_LIB(krb4, main, [have_k425=yes
                                KRB4_LIBS="-lkrb4"], [have_k425=no],
                elif test $krb5_impl = heimdal; then
                        AC_CHECK_LIB(krb4, main, [have_k425=yes
                                KRB4_LIBS="-lkrb4"], [have_k425=no],
-                               [-lkrb5 -ldes -lasn1 -lroken -lcom_err])
+                               [-lkrb5 -l$krb5crypto -lasn1 -lroken -lcom_err])
 
                else
                        have_425=no
 
                else
                        have_425=no
@@ -1183,7 +1251,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
@@ -1191,7 +1259,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])
@@ -1576,11 +1644,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 cthread.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
@@ -1601,6 +1669,7 @@ 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
 
@@ -1619,6 +1688,7 @@ if test $ol_with_threads = auto -o $ol_with_threads = yes \
                if test $ol_link_threads = yes ; then
                        LTHREAD_LIBS="-lthreads"
                        ol_link_threads=mach
                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
@@ -1647,6 +1717,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
@@ -1862,9 +1933,17 @@ if test $ol_with_ldbm_api = auto \
 fi
 
 if test $ol_enable_bdb = yes -a $ol_link_ldbm != berkeley ; then
 fi
 
 if test $ol_enable_bdb = yes -a $ol_link_ldbm != berkeley ; then
-       AC_MSG_ERROR(BerkeleyDB not availabl)
-elif test $ol_enable_bdb != no -a $ol_link_ldbm != no ; then
-       ol_enable_bdb=yes
+       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
 fi
 
 if test $ol_link_ldbm = no -a $ol_with_ldbm_type = btree ; then
@@ -1930,32 +2009,46 @@ fi
 
 dnl ----------------------------------------------------------------
 if test $ol_enable_wrappers != no ; then
 
 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
@@ -2062,17 +2155,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
@@ -2085,9 +2174,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
@@ -2099,7 +2191,7 @@ fi
 
 dnl ----------------------------------------------------------------
 dnl Check for entropy sources
 
 dnl ----------------------------------------------------------------
 dnl Check for entropy sources
-if test $cross_compiling != yes -a $ac_cv_mingw32 != yes ; then
+if test $cross_compiling != yes -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";
@@ -2317,6 +2409,8 @@ AC_CHECK_FUNCS(           \
        lockf                   \
        memcpy                  \
        memmove                 \
        lockf                   \
        memcpy                  \
        memmove                 \
+       mkstemp                 \
+       mktemp                  \
        pipe                    \
        read                    \
        recv                    \
        pipe                    \
        read                    \
        recv                    \
@@ -2524,6 +2618,22 @@ if test "$ol_enable_monitor" != no ; then
        fi
 fi
 
        fi
 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
+               SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-null/back_null.la"
+               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-null"
+       else
+               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-null"
+       fi
+fi
+
 if test "$ol_enable_passwd" != no ; then
        AC_DEFINE(SLAPD_PASSWD,1,[define to support PASSWD backend])
        BUILD_SLAPD=yes
 if test "$ol_enable_passwd" != no ; then
        AC_DEFINE(SLAPD_PASSWD,1,[define to support PASSWD backend])
        BUILD_SLAPD=yes
@@ -2612,7 +2722,6 @@ 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 ----------------------------------------------------------------
@@ -2641,6 +2750,7 @@ AC_SUBST(BUILD_SLAPD)
   AC_SUBST(BUILD_LDBM)
   AC_SUBST(BUILD_META)
   AC_SUBST(BUILD_MONITOR)
   AC_SUBST(BUILD_LDBM)
   AC_SUBST(BUILD_META)
   AC_SUBST(BUILD_MONITOR)
+  AC_SUBST(BUILD_NULL)
   AC_SUBST(BUILD_PASSWD)
   AC_SUBST(BUILD_PERL)
   AC_SUBST(BUILD_SHELL)
   AC_SUBST(BUILD_PASSWD)
   AC_SUBST(BUILD_PERL)
   AC_SUBST(BUILD_SHELL)
@@ -2652,6 +2762,7 @@ AC_SUBST(BUILD_SLAPD)
   AC_SUBST(BUILD_LDBM_DYNAMIC)
   AC_SUBST(BUILD_META_DYNAMIC)
   AC_SUBST(BUILD_MONITOR_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_PASSWD_DYNAMIC)
   AC_SUBST(BUILD_PERL_DYNAMIC)
   AC_SUBST(BUILD_SHELL_DYNAMIC)
@@ -2697,6 +2808,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
@@ -2734,6 +2850,7 @@ servers/slapd/back-ldap/Makefile:build/top.mk:servers/slapd/back-ldap/Makefile.i
 servers/slapd/back-ldbm/Makefile:build/top.mk:servers/slapd/back-ldbm/Makefile.in:build/mod.mk \
 servers/slapd/back-meta/Makefile:build/top.mk:servers/slapd/back-meta/Makefile.in:build/mod.mk \
 servers/slapd/back-monitor/Makefile:build/top.mk:servers/slapd/back-monitor/Makefile.in:build/mod.mk \
 servers/slapd/back-ldbm/Makefile:build/top.mk:servers/slapd/back-ldbm/Makefile.in:build/mod.mk \
 servers/slapd/back-meta/Makefile:build/top.mk:servers/slapd/back-meta/Makefile.in:build/mod.mk \
 servers/slapd/back-monitor/Makefile:build/top.mk:servers/slapd/back-monitor/Makefile.in:build/mod.mk \
+servers/slapd/back-null/Makefile:build/top.mk:servers/slapd/back-null/Makefile.in:build/mod.mk \
 servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/back-passwd/Makefile.in:build/mod.mk \
 servers/slapd/back-perl/Makefile:build/top.mk:servers/slapd/back-perl/Makefile.in:build/mod.mk \
 servers/slapd/back-shell/Makefile:build/top.mk:servers/slapd/back-shell/Makefile.in:build/mod.mk \
 servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/back-passwd/Makefile.in:build/mod.mk \
 servers/slapd/back-perl/Makefile:build/top.mk:servers/slapd/back-perl/Makefile.in:build/mod.mk \
 servers/slapd/back-shell/Makefile:build/top.mk:servers/slapd/back-shell/Makefile.in:build/mod.mk \
@@ -2746,5 +2863,5 @@ tests/Makefile:build/top.mk:tests/Makefile.in:build/dir.mk \
 tests/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk \
 ,[
 date > stamp-h
 tests/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk \
 ,[
 date > stamp-h
-echo Please \"make depend\" to build dependencies
+echo Please run \"make depend\" to build dependencies
 ])
 ])