]> git.sur5r.net Git - openldap/blobdiff - configure
ITS#4750 only read LDAP_CONF_FILE if geteuid() != getuid()
[openldap] / configure
index c39d776501e90dcdbae8e257e24eb2c059b05c1d..c4495fcc7c35d2060df3c2a868fbfb04b6a0cd3c 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.in OpenLDAP: pkg/ldap/configure.in,v 1.666 2008/08/30 22:18:08 hyc Exp .
+# From configure.in OpenLDAP: pkg/ldap/configure.in,v 1.673 2008/11/21 01:03:57 hyc Exp .
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.59.
 #
@@ -465,7 +465,7 @@ ac_includes_default="\
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar OPENLDAP_LIBRELEASE OPENLDAP_LIBVERSION OPENLDAP_RELEASE_DATE top_builddir ldap_subdir CC AR CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE EGREP LN_S ECHO ac_ct_AR RANLIB ac_ct_RANLIB DLLTOOL ac_ct_DLLTOOL AS ac_ct_AS OBJDUMP ac_ct_OBJDUMP CPP LIBTOOL PERLBIN OL_MKDEP OL_MKDEP_FLAGS LTSTATIC MYSQL LIBOBJS LIBSRCS PLAT WITH_SASL WITH_TLS WITH_MODULES_ENABLED WITH_ACI_ENABLED BUILD_THREAD BUILD_LIBS_DYNAMIC BUILD_SLAPD BUILD_SLAPI SLAPD_SLAPI_DEPEND BUILD_BDB BUILD_DNSSRV BUILD_HDB BUILD_LDAP BUILD_META BUILD_MONITOR BUILD_NDB BUILD_NULL BUILD_PASSWD BUILD_RELAY BUILD_PERL BUILD_SHELL BUILD_SOCK BUILD_SQL BUILD_ACCESSLOG BUILD_AUDITLOG BUILD_CONSTRAINT BUILD_DDS BUILD_DENYOP BUILD_DYNGROUP BUILD_DYNLIST BUILD_LASTMOD BUILD_MEMBEROF BUILD_PPOLICY BUILD_PROXYCACHE BUILD_REFINT BUILD_RETCODE BUILD_RWM BUILD_SEQMOD BUILD_SYNCPROV BUILD_TRANSLUCENT BUILD_UNIQUE BUILD_VALSORT LDAP_LIBS SLAPD_LIBS BDB_LIBS SLAPD_NDB_LIBS SLAPD_NDB_INCS LTHREAD_LIBS LUTIL_LIBS WRAP_LIBS SLAPD_MODULES_CPPFLAGS SLAPD_MODULES_LDFLAGS SLAPD_NO_STATIC SLAPD_STATIC_BACKENDS SLAPD_DYNAMIC_BACKENDS SLAPD_STATIC_OVERLAYS SLAPD_DYNAMIC_OVERLAYS PERL_CPPFLAGS SLAPD_PERL_LDFLAGS MOD_PERL_LDFLAGS KRB4_LIBS KRB5_LIBS SASL_LIBS TLS_LIBS MODULES_LIBS SLAPI_LIBS LIBSLAPI LIBSLAPITOOLS AUTH_LIBS ICU_LIBS SLAPD_SLP_LIBS SLAPD_GMP_LIBS SLAPD_SQL_LDFLAGS SLAPD_SQL_LIBS SLAPD_SQL_INCLUDES LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar OPENLDAP_LIBRELEASE OPENLDAP_LIBVERSION OPENLDAP_RELEASE_DATE top_builddir ldap_subdir CC AR CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE EGREP LN_S ECHO ac_ct_AR RANLIB ac_ct_RANLIB DLLTOOL ac_ct_DLLTOOL AS ac_ct_AS OBJDUMP ac_ct_OBJDUMP CPP LIBTOOL PERLBIN OL_MKDEP OL_MKDEP_FLAGS LTSTATIC MYSQL LIBOBJS LIBSRCS PLAT WITH_SASL WITH_TLS WITH_MODULES_ENABLED WITH_ACI_ENABLED BUILD_THREAD BUILD_LIBS_DYNAMIC BUILD_SLAPD BUILD_SLAPI SLAPD_SLAPI_DEPEND BUILD_BDB BUILD_DNSSRV BUILD_HDB BUILD_LDAP BUILD_META BUILD_MONITOR BUILD_NDB BUILD_NULL BUILD_PASSWD BUILD_RELAY BUILD_PERL BUILD_SHELL BUILD_SOCK BUILD_SQL BUILD_ACCESSLOG BUILD_AUDITLOG BUILD_COLLECT BUILD_CONSTRAINT BUILD_DDS BUILD_DENYOP BUILD_DYNGROUP BUILD_DYNLIST BUILD_LASTMOD BUILD_MEMBEROF BUILD_PPOLICY BUILD_PROXYCACHE BUILD_REFINT BUILD_RETCODE BUILD_RWM BUILD_SEQMOD BUILD_SYNCPROV BUILD_TRANSLUCENT BUILD_UNIQUE BUILD_VALSORT LDAP_LIBS SLAPD_LIBS BDB_LIBS SLAPD_NDB_LIBS SLAPD_NDB_INCS LTHREAD_LIBS LUTIL_LIBS WRAP_LIBS SLAPD_MODULES_CPPFLAGS SLAPD_MODULES_LDFLAGS SLAPD_NO_STATIC SLAPD_STATIC_BACKENDS SLAPD_DYNAMIC_BACKENDS SLAPD_STATIC_OVERLAYS SLAPD_DYNAMIC_OVERLAYS PERL_CPPFLAGS SLAPD_PERL_LDFLAGS MOD_PERL_LDFLAGS KRB4_LIBS KRB5_LIBS SASL_LIBS GSSAPI_LIBS TLS_LIBS MODULES_LIBS SLAPI_LIBS LIBSLAPI LIBSLAPITOOLS AUTH_LIBS ICU_LIBS SLAPD_SLP_LIBS SLAPD_GMP_LIBS SLAPD_SQL_LDFLAGS SLAPD_SQL_LIBS SLAPD_SQL_INCLUDES LTLIBOBJS'
 ac_subst_files=''
 
 # Initialize some variables set by options.
@@ -1030,7 +1030,7 @@ SLAPD (Standalone LDAP Daemon) Options:
 
 SLAPD Backend Options:
     --enable-backends    enable all available backends no|yes|mod
-    --enable-bdb         enable Berkeley DB backend no|yes|mod [yes]
+    --enable-bdb         enable Berkeley DB backend no|yes|mod [no]
     --enable-dnssrv      enable dnssrv backend no|yes|mod [no]
     --enable-hdb         enable Hierarchical DB backend no|yes|mod [yes]
     --enable-ldap        enable ldap backend no|yes|mod [no]
@@ -1049,8 +1049,10 @@ SLAPD Overlay Options:
     --enable-overlays    enable all available overlays no|yes|mod
     --enable-accesslog   In-Directory Access Logging overlay no|yes|mod [no]
     --enable-auditlog    Audit Logging overlay no|yes|mod [no]
+    --enable-collect     Collect overlay no|yes|mod [no]
     --enable-constraint          Attribute Constraint overlay no|yes|mod [no]
     --enable-dds         Dynamic Directory Services overlay no|yes|mod [no]
+    --enable-deref       Dereference overlay no|yes|mod [no]
     --enable-dyngroup    Dynamic Group overlay no|yes|mod [no]
     --enable-dynlist     Dynamic List overlay no|yes|mod [no]
     --enable-memberof    Reverse Group Membership overlay no|yes|mod [no]
@@ -1082,6 +1084,7 @@ Optional Packages:
   --with-subdir=DIR       change default subdirectory used for installs
   --with-cyrus-sasl      with Cyrus SASL support [auto]
   --with-fetch           with fetch(3) URL support [auto]
+  --with-gssapi                  with GSSAPI support [auto]
   --with-threads         with threads [auto]
   --with-tls             with TLS/SSL support auto|openssl|gnutls [auto]
   --with-yielding-select  with implicitly yielding select [auto]
@@ -2357,6 +2360,29 @@ else
        ol_with_fetch="auto"
 fi; # end --with-fetch
 
+# OpenLDAP --with-gssapi
+
+# Check whether --with-gssapi or --without-gssapi was given.
+if test "${with_gssapi+set}" = set; then
+  withval="$with_gssapi"
+
+       ol_arg=invalid
+       for ol_val in auto yes no  ; do
+               if test "$withval" = "$ol_val" ; then
+                       ol_arg="$ol_val"
+               fi
+       done
+       if test "$ol_arg" = "invalid" ; then
+               { { echo "$as_me:$LINENO: error: bad value $withval for --with-gssapi" >&5
+echo "$as_me: error: bad value $withval for --with-gssapi" >&2;}
+   { (exit 1); exit 1; }; }
+       fi
+       ol_with_gssapi="$ol_arg"
+
+else
+       ol_with_gssapi="auto"
+fi; # end --with-gssapi
+
 # OpenLDAP --with-threads
 
 # Check whether --with-threads or --without-threads was given.
@@ -2841,7 +2867,7 @@ echo "$as_me: error: bad value $enableval for --enable-bdb" >&2;}
        ol_enable_bdb="$ol_arg"
 
 else
-       ol_enable_bdb=${ol_enable_backends:-yes}
+       ol_enable_bdb=${ol_enable_backends:-no}
 fi;
 # end --enable-bdb
 # OpenLDAP --enable-dnssrv
@@ -3146,8 +3172,10 @@ fi;
 
 Overlays="accesslog \
        auditlog \
+       collect \
        constraint \
        dds \
+       deref \
        dyngroup \
        dynlist \
        memberof \
@@ -3237,6 +3265,30 @@ else
 fi;
 # end --enable-auditlog
 
+# OpenLDAP --enable-collect
+
+       # Check whether --enable-collect or --disable-collect was given.
+if test "${enable_collect+set}" = set; then
+  enableval="$enable_collect"
+
+       ol_arg=invalid
+       for ol_val in no yes mod ; do
+               if test "$enableval" = "$ol_val" ; then
+                       ol_arg="$ol_val"
+               fi
+       done
+       if test "$ol_arg" = "invalid" ; then
+               { { echo "$as_me:$LINENO: error: bad value $enableval for --enable-collect" >&5
+echo "$as_me: error: bad value $enableval for --enable-collect" >&2;}
+   { (exit 1); exit 1; }; }
+       fi
+       ol_enable_collect="$ol_arg"
+
+else
+       ol_enable_collect=${ol_enable_overlays:-no}
+fi;
+# end --enable-collect
+
 # OpenLDAP --enable-constraint
 
        # Check whether --enable-constraint or --disable-constraint was given.
@@ -3285,6 +3337,30 @@ else
 fi;
 # end --enable-dds
 
+# OpenLDAP --enable-deref
+
+       # Check whether --enable-deref or --disable-deref was given.
+if test "${enable_deref+set}" = set; then
+  enableval="$enable_deref"
+
+       ol_arg=invalid
+       for ol_val in no yes mod ; do
+               if test "$enableval" = "$ol_val" ; then
+                       ol_arg="$ol_val"
+               fi
+       done
+       if test "$ol_arg" = "invalid" ; then
+               { { echo "$as_me:$LINENO: error: bad value $enableval for --enable-deref" >&5
+echo "$as_me: error: bad value $enableval for --enable-deref" >&2;}
+   { (exit 1); exit 1; }; }
+       fi
+       ol_enable_deref="$ol_arg"
+
+else
+       ol_enable_deref=${ol_enable_overlays:-no}
+fi;
+# end --enable-deref
+
 # OpenLDAP --enable-dyngroup
 
        # Check whether --enable-dyngroup or --disable-dyngroup was given.
@@ -3845,6 +3921,7 @@ SLAPD_SQL_INCLUDES=
 KRB4_LIBS=
 KRB5_LIBS=
 SASL_LIBS=
+GSSAPI_LIBS=
 TLS_LIBS=
 MODULES_LIBS=
 SLAPI_LIBS=
@@ -5650,7 +5727,7 @@ ia64-*-hpux*)
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 5653 "configure"' > conftest.$ac_ext
+  echo '#line 5730 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -7630,11 +7707,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:7633: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:7710: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:7637: \$? = $ac_status" >&5
+   echo "$as_me:7714: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -7892,11 +7969,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:7895: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:7972: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:7899: \$? = $ac_status" >&5
+   echo "$as_me:7976: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -7954,11 +8031,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:7957: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:8034: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:7961: \$? = $ac_status" >&5
+   echo "$as_me:8038: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -10202,7 +10279,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 10205 "configure"
+#line 10282 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10300,7 +10377,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 10303 "configure"
+#line 10380 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -18492,15 +18569,13 @@ echo "$as_me: error: AF_LOCAL domain support requires sys/un.h" >&2;}
        fi
 fi
 
+ol_link_gssapi=no
 
-if test $ol_with_tls = yes ; then
-       ol_with_tls=auto
-fi
+case $ol_with_gssapi in yes | auto)
 
-ol_link_tls=no
-if test $ol_with_tls = openssl || test $ol_with_tls = auto ; then
+       ol_header_gssapi=no
 
-for ac_header in openssl/ssl.h
+for ac_header in gssapi/gssapi.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
 if eval "test \"\${$as_ac_Header+set}\" = set"; then
 
 done
 
+       if test $ac_cv_header_gssapi_gssapi_h = yes ; then
+               ol_header_gssapi=yes
+       else
 
-       if test $ac_cv_header_openssl_ssl_h = yes ; then
-               echo "$as_me:$LINENO: checking for SSL_library_init in -lssl" >&5
-echo $ECHO_N "checking for SSL_library_init in -lssl... $ECHO_C" >&6
-if test "${ac_cv_lib_ssl_SSL_library_init+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lssl -lcrypto $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char SSL_library_init ();
-int
-main ()
-{
-SSL_library_init ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_lib_ssl_SSL_library_init=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_ssl_SSL_library_init=no
-fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_ssl_SSL_library_init" >&5
-echo "${ECHO_T}$ac_cv_lib_ssl_SSL_library_init" >&6
-if test $ac_cv_lib_ssl_SSL_library_init = yes; then
-  have_openssl=yes
-                       need_rsaref=no
-else
-  have_openssl=no
-fi
-
-
-               if test $have_openssl = no ; then
-                       echo "$as_me:$LINENO: checking for ssl3_accept in -lssl" >&5
-echo $ECHO_N "checking for ssl3_accept in -lssl... $ECHO_C" >&6
-if test "${ac_cv_lib_ssl_ssl3_accept+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lssl -lcrypto -lRSAglue -lrsaref $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char ssl3_accept ();
-int
-main ()
-{
-ssl3_accept ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_lib_ssl_ssl3_accept=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_ssl_ssl3_accept=no
-fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_ssl_ssl3_accept" >&5
-echo "${ECHO_T}$ac_cv_lib_ssl_ssl3_accept" >&6
-if test $ac_cv_lib_ssl_ssl3_accept = yes; then
-  have_openssl=yes
-                               need_rsaref=yes
-else
-  have_openssl=no
-fi
-
-               fi
-
-               if test $have_openssl = yes ; then
-                       ol_with_tls=openssl
-                       ol_link_tls=yes
-
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_OPENSSL 1
-_ACEOF
-
-
-                       if test $need_rsaref = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_RSAREF 1
-_ACEOF
-
-
-                               TLS_LIBS="-lssl -lcrypto -lRSAglue -lrsaref"
-                       else
-                               TLS_LIBS="-lssl -lcrypto"
-                       fi
-
-                       echo "$as_me:$LINENO: checking OpenSSL library version (CRL checking capability)" >&5
-echo $ECHO_N "checking OpenSSL library version (CRL checking capability)... $ECHO_C" >&6
-if test "${ol_cv_ssl_crl_compat+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-               cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#ifdef HAVE_OPENSSL_SSL_H
-#include <openssl/ssl.h>
-#endif
-
-/* Require 0.9.7d+ */
-#if OPENSSL_VERSION_NUMBER >= 0x0090704fL
-       char *__ssl_compat = "0.9.7d";
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "__ssl_compat" >/dev/null 2>&1; then
-  ol_cv_ssl_crl_compat=yes
-else
-  ol_cv_ssl_crl_compat=no
-fi
-rm -f conftest*
-
-fi
-echo "$as_me:$LINENO: result: $ol_cv_ssl_crl_compat" >&5
-echo "${ECHO_T}$ol_cv_ssl_crl_compat" >&6
-
-                       if test $ol_cv_ssl_crl_compat = yes ; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_OPENSSL_CRL 1
-_ACEOF
-
-                       fi
-               fi
-       fi
-fi
-
-if test $ol_link_tls = no ; then
-       if test $ol_with_tls = gnutls || test $ol_with_tls = auto ; then
-
-for ac_header in gnutls/gnutls.h
+for ac_header in gssapi.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
 if eval "test \"\${$as_ac_Header+set}\" = set"; then
 
 done
 
+               if test $ac_cv_header_gssapi_h = yes ; then
+                       ol_header_gssapi=yes
+               fi
 
-               if test $ac_cv_header_gnutls_gnutls_h = yes ; then
-                       echo "$as_me:$LINENO: checking for gnutls_init in -lgnutls" >&5
-echo $ECHO_N "checking for gnutls_init in -lgnutls... $ECHO_C" >&6
-if test "${ac_cv_lib_gnutls_gnutls_init+set}" = set; then
+                                                               saveLIBS="$LIBS"
+               LIBS="$LIBS $GSSAPI_LIBS"
+
+for ac_func in gss_oid_to_str
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+if eval "test \"\${$as_ac_var+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lgnutls  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
+  cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
 
 /* Override any gcc2 internal prototype to avoid an error.  */
 #ifdef __cplusplus
 extern "C"
+{
 #endif
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
-char gnutls_init ();
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+char (*f) () = $ac_func;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
 int
 main ()
 {
-gnutls_init ();
+return f != $ac_func;
   ;
   return 0;
 }
@@ -19070,135 +18965,126 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_lib_gnutls_gnutls_init=yes
+  eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_gnutls_gnutls_init=no
+eval "$as_ac_var=no"
 fi
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_gnutls_gnutls_init" >&5
-echo "${ECHO_T}$ac_cv_lib_gnutls_gnutls_init" >&6
-if test $ac_cv_lib_gnutls_gnutls_init = yes; then
-  have_gnutls=yes
-else
-  have_gnutls=no
-fi
-
-
-                       if test $have_gnutls = yes ; then
-                               ol_with_tls=gnutls
-                               ol_link_tls=yes
-
-                               TLS_LIBS="-lgnutls"
-
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GNUTLS 1
-_ACEOF
-
-                       fi
-               fi
-       fi
 fi
-
-WITH_TLS=no
-if test $ol_link_tls = yes ; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_TLS 1
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
 
-       WITH_TLS=yes
-elif test $ol_with_tls = auto ; then
-       { echo "$as_me:$LINENO: WARNING: Could not locate TLS/SSL package" >&5
-echo "$as_me: WARNING: Could not locate TLS/SSL package" >&2;}
-       { echo "$as_me:$LINENO: WARNING: TLS data protection not supported!" >&5
-echo "$as_me: WARNING: TLS data protection not supported!" >&2;}
-elif test $ol_with_tls != no ; then
-       { { echo "$as_me:$LINENO: error: Could not locate TLS/SSL package" >&5
-echo "$as_me: error: Could not locate TLS/SSL package" >&2;}
-   { (exit 1); exit 1; }; }
-else
-       { echo "$as_me:$LINENO: WARNING: TLS data protection not supported!" >&5
-echo "$as_me: WARNING: TLS data protection not supported!" >&2;}
 fi
+done
 
-if test $ol_enable_lmpasswd != no; then
-       if test $ol_link_tls != yes ; then
-               { { echo "$as_me:$LINENO: error: LAN Manager passwords require OpenSSL" >&5
-echo "$as_me: error: LAN Manager passwords require OpenSSL" >&2;}
-   { (exit 1); exit 1; }; }
+               LIBS="$saveLIBS"
        fi
 
+       if test $ol_header_gssapi = yes ; then
+                                               echo "$as_me:$LINENO: checking for gss_wrap in -lgssapi" >&5
+echo $ECHO_N "checking for gss_wrap in -lgssapi... $ECHO_C" >&6
+if test "${ac_cv_lib_gssapi_gss_wrap+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lgssapi  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
-cat >>confdefs.h <<\_ACEOF
-#define SLAPD_LMHASH 1
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char gss_wrap ();
+int
+main ()
+{
+gss_wrap ();
+  ;
+  return 0;
+}
 _ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_gssapi_gss_wrap=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
+ac_cv_lib_gssapi_gss_wrap=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_gssapi_gss_wrap" >&5
+echo "${ECHO_T}$ac_cv_lib_gssapi_gss_wrap" >&6
+if test $ac_cv_lib_gssapi_gss_wrap = yes; then
+  ol_link_gssapi=yes;GSSAPI_LIBS="-lgssapi"
+else
+  ol_link_gssapi=no
 fi
 
-ol_link_threads=no
-
-case $ol_with_threads in auto | yes | nt)
-
-
-       echo "$as_me:$LINENO: checking for _beginthread" >&5
-echo $ECHO_N "checking for _beginthread... $ECHO_C" >&6
-if test "${ac_cv_func__beginthread+set}" = set; then
+               if test $ol_link_gssapi != yes ; then
+                       echo "$as_me:$LINENO: checking for gss_wrap in -lgssapi_krb5" >&5
+echo $ECHO_N "checking for gss_wrap in -lgssapi_krb5... $ECHO_C" >&6
+if test "${ac_cv_lib_gssapi_krb5_gss_wrap+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lgssapi_krb5  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-/* Define _beginthread to an innocuous variant, in case <limits.h> declares _beginthread.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define _beginthread innocuous__beginthread
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char _beginthread (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef _beginthread
 
 /* Override any gcc2 internal prototype to avoid an error.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
-char _beginthread ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined (__stub__beginthread) || defined (__stub____beginthread)
-choke me
-#else
-char (*f) () = _beginthread;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
+char gss_wrap ();
 int
 main ()
 {
-return f != _beginthread;
+gss_wrap ();
   ;
   return 0;
 }
@@ -19225,59 +19111,59 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_func__beginthread=yes
+  ac_cv_lib_gssapi_krb5_gss_wrap=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_func__beginthread=no
+ac_cv_lib_gssapi_krb5_gss_wrap=no
 fi
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_gssapi_krb5_gss_wrap" >&5
+echo "${ECHO_T}$ac_cv_lib_gssapi_krb5_gss_wrap" >&6
+if test $ac_cv_lib_gssapi_krb5_gss_wrap = yes; then
+  ol_link_gssapi=yes;GSSAPI_LIBS="-lgssapi_krb5"
+else
+  ol_link_gssapi=no
 fi
-echo "$as_me:$LINENO: result: $ac_cv_func__beginthread" >&5
-echo "${ECHO_T}$ac_cv_func__beginthread" >&6
-
-
-       if test $ac_cv_func__beginthread = yes ; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_NT_THREADS 1
-_ACEOF
 
-               ol_cv_nt_threads=yes
+               fi
        fi
 
+       ;;
+esac
 
-       if test "$ol_cv_nt_threads" = yes ; then
-               ol_link_threads=nt
-               ol_with_threads=found
-               ol_with_yielding_select=yes
-
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_NT_SERVICE_MANAGER 1
-_ACEOF
-
+WITH_GSSAPI=no
+if test $ol_link_gssapi = yes; then
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_NT_EVENT_LOG 1
-_ACEOF
-
-       fi
-
-       if test $ol_with_threads = nt ; then
-               { { echo "$as_me:$LINENO: error: could not locate NT Threads" >&5
-echo "$as_me: error: could not locate NT Threads" >&2;}
+#define HAVE_GSSAPI 1
+_ACEOF
+
+       WITH_GSSAPI=yes
+elif test $ol_with_gssapi = auto ; then
+       { echo "$as_me:$LINENO: WARNING: Could not locate GSSAPI package" >&5
+echo "$as_me: WARNING: Could not locate GSSAPI package" >&2;}
+       { echo "$as_me:$LINENO: WARNING: GSSAPI authentication not supported!" >&5
+echo "$as_me: WARNING: GSSAPI authentication not supported!" >&2;}
+elif test $ol_with_gssapi = yes ; then
+       { { echo "$as_me:$LINENO: error: GSSAPI detection failed" >&5
+echo "$as_me: error: GSSAPI detection failed" >&2;}
    { (exit 1); exit 1; }; }
-       fi
-       ;;
-esac
+fi
 
-case $ol_with_threads in auto | yes | posix)
 
+if test $ol_with_tls = yes ; then
+       ol_with_tls=auto
+fi
 
-for ac_header in pthread.h
+ol_link_tls=no
+if test $ol_with_tls = openssl || test $ol_with_tls = auto ; then
+
+for ac_header in openssl/ssl.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
 if eval "test \"\${$as_ac_Header+set}\" = set"; then
 done
 
 
-       if test $ac_cv_header_pthread_h = yes ; then
-               echo "$as_me:$LINENO: checking POSIX thread version" >&5
-echo $ECHO_N "checking POSIX thread version... $ECHO_C" >&6
-if test "${ol_cv_pthread_version+set}" = set; then
+       if test $ac_cv_header_openssl_ssl_h = yes ; then
+               echo "$as_me:$LINENO: checking for SSL_library_init in -lssl" >&5
+echo $ECHO_N "checking for SSL_library_init in -lssl... $ECHO_C" >&6
+if test "${ac_cv_lib_ssl_SSL_library_init+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-
-       cat >conftest.$ac_ext <<_ACEOF
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lssl -lcrypto $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-#              include <pthread.h>
-
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char SSL_library_init ();
 int
 main ()
 {
-
-               int i = PTHREAD_CREATE_JOINABLE;
-
+SSL_library_init ();
   ;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -19469,201 +19359,194 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
+        { ac_try='test -s conftest$ac_exeext'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-
-       cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <pthread.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "pthread_detach" >/dev/null 2>&1; then
-  ol_cv_pthread_version=10
-else
-  ol_cv_pthread_version=8
-fi
-rm -f conftest*
-
+  ac_cv_lib_ssl_SSL_library_init=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-
-       cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#              include <pthread.h>
-#              ifdef PTHREAD_CREATE_UNDETACHED
-               draft7
-#              endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "draft7" >/dev/null 2>&1; then
-  ol_cv_pthread_version=7
+ac_cv_lib_ssl_SSL_library_init=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_ssl_SSL_library_init" >&5
+echo "${ECHO_T}$ac_cv_lib_ssl_SSL_library_init" >&6
+if test $ac_cv_lib_ssl_SSL_library_init = yes; then
+  have_openssl=yes
+                       need_rsaref=no
 else
+  have_openssl=no
+fi
 
-       cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <pthread.h>
 
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "pthread_attr_init" >/dev/null 2>&1; then
-  ol_cv_pthread_version=6
+               if test $have_openssl = no ; then
+                       echo "$as_me:$LINENO: checking for ssl3_accept in -lssl" >&5
+echo $ECHO_N "checking for ssl3_accept in -lssl... $ECHO_C" >&6
+if test "${ac_cv_lib_ssl_ssl3_accept+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-
-       cat >conftest.$ac_ext <<_ACEOF
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lssl -lcrypto -lRSAglue -lrsaref $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-#              include <pthread.h>
-#ifdef         PTHREAD_MUTEX_INITIALIZER
-               draft5
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
 #endif
-
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char ssl3_accept ();
+int
+main ()
+{
+ssl3_accept ();
+  ;
+  return 0;
+}
 _ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "draft5" >/dev/null 2>&1; then
-  ol_cv_pthread_version=5
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_ssl_ssl3_accept=yes
 else
-  ol_cv_pthread_version=4
-fi
-rm -f conftest*
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
+ac_cv_lib_ssl_ssl3_accept=no
 fi
-rm -f conftest*
-
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
 fi
-rm -f conftest*
-
+echo "$as_me:$LINENO: result: $ac_cv_lib_ssl_ssl3_accept" >&5
+echo "${ECHO_T}$ac_cv_lib_ssl_ssl3_accept" >&6
+if test $ac_cv_lib_ssl_ssl3_accept = yes; then
+  have_openssl=yes
+                               need_rsaref=yes
+else
+  have_openssl=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 
-fi
-echo "$as_me:$LINENO: result: $ol_cv_pthread_version" >&5
-echo "${ECHO_T}$ol_cv_pthread_version" >&6
+               fi
 
+               if test $have_openssl = yes ; then
+                       ol_with_tls=openssl
+                       ol_link_tls=yes
 
-               if test $ol_cv_pthread_version != 0 ; then
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_PTHREADS $ol_cv_pthread_version
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_OPENSSL 1
 _ACEOF
 
-               else
-                       { { echo "$as_me:$LINENO: error: unknown pthread version" >&5
-echo "$as_me: error: unknown pthread version" >&2;}
-   { (exit 1); exit 1; }; }
-               fi
 
-               # consider threads found
-               ol_with_threads=found
+                       if test $need_rsaref = yes; then
 
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_RSAREF 1
+_ACEOF
 
-       echo "$as_me:$LINENO: checking for LinuxThreads pthread.h" >&5
-echo $ECHO_N "checking for LinuxThreads pthread.h... $ECHO_C" >&6
-if test "${ol_cv_header_linux_threads+set}" = set; then
+
+                               TLS_LIBS="-lssl -lcrypto -lRSAglue -lrsaref"
+                       else
+                               TLS_LIBS="-lssl -lcrypto"
+                       fi
+
+                       echo "$as_me:$LINENO: checking OpenSSL library version (CRL checking capability)" >&5
+echo $ECHO_N "checking OpenSSL library version (CRL checking capability)... $ECHO_C" >&6
+if test "${ol_cv_ssl_crl_compat+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
+
+               cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <pthread.h>
+
+#ifdef HAVE_OPENSSL_SSL_H
+#include <openssl/ssl.h>
+#endif
+
+/* Require 0.9.7d+ */
+#if OPENSSL_VERSION_NUMBER >= 0x0090704fL
+       char *__ssl_compat = "0.9.7d";
+#endif
+
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "pthread_kill_other_threads_np" >/dev/null 2>&1; then
-  ol_cv_header_linux_threads=yes
+  $EGREP "__ssl_compat" >/dev/null 2>&1; then
+  ol_cv_ssl_crl_compat=yes
 else
-  ol_cv_header_linux_threads=no
+  ol_cv_ssl_crl_compat=no
 fi
 rm -f conftest*
 
-
 fi
-echo "$as_me:$LINENO: result: $ol_cv_header_linux_threads" >&5
-echo "${ECHO_T}$ol_cv_header_linux_threads" >&6
-       if test $ol_cv_header_linux_threads = yes; then
+echo "$as_me:$LINENO: result: $ol_cv_ssl_crl_compat" >&5
+echo "${ECHO_T}$ol_cv_ssl_crl_compat" >&6
+
+                       if test $ol_cv_ssl_crl_compat = yes ; then
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_LINUX_THREADS 1
+#define HAVE_OPENSSL_CRL 1
 _ACEOF
 
+                       fi
+               fi
        fi
+fi
 
+if test $ol_link_tls = no ; then
+       if test $ol_with_tls = gnutls || test $ol_with_tls = auto ; then
 
-       echo "$as_me:$LINENO: checking for GNU Pth pthread.h" >&5
-echo $ECHO_N "checking for GNU Pth pthread.h... $ECHO_C" >&6
-if test "${ol_cv_header_gnu_pth_pthread_h+set}" = set; then
+for ac_header in gnutls/gnutls.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <pthread.h>
-#ifdef _POSIX_THREAD_IS_GNU_PTH
-       __gnu_pth__;
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "__gnu_pth__" >/dev/null 2>&1; then
-  ol_cv_header_gnu_pth_pthread_h=yes
-else
-  ol_cv_header_gnu_pth_pthread_h=no
-fi
-rm -f conftest*
-
-
-fi
-echo "$as_me:$LINENO: result: $ol_cv_header_gnu_pth_pthread_h" >&5
-echo "${ECHO_T}$ol_cv_header_gnu_pth_pthread_h" >&6
-
-
-               if test $ol_cv_header_gnu_pth_pthread_h = no ; then
-
-for ac_header in sched.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
-  # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
+  # Is the header compilable?
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 
 done
 
-               fi
-
 
-                               echo "$as_me:$LINENO: checking for pthread_create in default libraries" >&5
-echo $ECHO_N "checking for pthread_create in default libraries... $ECHO_C" >&6
-if test "${ol_cv_pthread_create+set}" = set; then
+               if test $ac_cv_header_gnutls_gnutls_h = yes ; then
+                       echo "$as_me:$LINENO: checking for gnutls_init in -lgnutls" >&5
+echo $ECHO_N "checking for gnutls_init in -lgnutls... $ECHO_C" >&6
+if test "${ac_cv_lib_gnutls_gnutls_init+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-
-                       if test "$cross_compiling" = yes; then
-  cat >conftest.$ac_ext <<_ACEOF
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lgnutls  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* pthread test headers */
-#include <pthread.h>
-#if HAVE_PTHREADS < 7
-#include <errno.h>
-#endif
-#ifndef NULL
-#define NULL (void*)0
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
 #endif
-
-static void *task(p)
-       void *p;
-{
-       return (void *) (p == NULL);
-}
-
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char gnutls_init ();
 int
 main ()
 {
-
-       /* pthread test function */
-#ifndef PTHREAD_CREATE_DETACHED
-#define        PTHREAD_CREATE_DETACHED 1
-#endif
-       pthread_t t;
-       int status;
-       int detach = PTHREAD_CREATE_DETACHED;
-
-#if HAVE_PTHREADS > 4
-       /* Final pthreads */
-       pthread_attr_t attr;
-
-       status = pthread_attr_init(&attr);
-       if( status ) return status;
-
-#if HAVE_PTHREADS < 7
-       status = pthread_attr_setdetachstate(&attr, &detach);
-       if( status < 0 ) status = errno;
-#else
-       status = pthread_attr_setdetachstate(&attr, detach);
-#endif
-       if( status ) return status;
-       status = pthread_create( &t, &attr, task, NULL );
-#if HAVE_PTHREADS < 7
-       if( status < 0 ) status = errno;
-#endif
-       if( status ) return status;
-#else
-       /* Draft 4 pthreads */
-       status = pthread_create( &t, pthread_attr_default, task, NULL );
-       if( status ) return errno;
-
-       /* give thread a chance to complete */
-       /* it should remain joinable and hence detachable */
-       sleep( 1 );
-
-       status = pthread_detach( &t );
-       if( status ) return errno;
-#endif
-
-#ifdef HAVE_LINUX_THREADS
-       pthread_kill_other_threads_np();
-#endif
-
-       return 0;
-
+gnutls_init ();
   ;
   return 0;
 }
@@ -19905,210 +19733,135 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_pthread_create=yes
+  ac_cv_lib_gnutls_gnutls_init=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ol_cv_pthread_create=no
+ac_cv_lib_gnutls_gnutls_init=no
 fi
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_gnutls_gnutls_init" >&5
+echo "${ECHO_T}$ac_cv_lib_gnutls_gnutls_init" >&6
+if test $ac_cv_lib_gnutls_gnutls_init = yes; then
+  have_gnutls=yes
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* pthread test headers */
-#include <pthread.h>
-#if HAVE_PTHREADS < 7
-#include <errno.h>
-#endif
-#ifndef NULL
-#define NULL (void*)0
-#endif
-
-static void *task(p)
-       void *p;
-{
-       return (void *) (p == NULL);
-}
+  have_gnutls=no
+fi
 
 
-int main(argc, argv)
-       int argc;
-       char **argv;
-{
+                       if test $have_gnutls = yes ; then
+                               ol_with_tls=gnutls
+                               ol_link_tls=yes
 
-       /* pthread test function */
-#ifndef PTHREAD_CREATE_DETACHED
-#define        PTHREAD_CREATE_DETACHED 1
-#endif
-       pthread_t t;
-       int status;
-       int detach = PTHREAD_CREATE_DETACHED;
+                               TLS_LIBS="-lgnutls"
 
-#if HAVE_PTHREADS > 4
-       /* Final pthreads */
-       pthread_attr_t attr;
 
-       status = pthread_attr_init(&attr);
-       if( status ) return status;
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_GNUTLS 1
+_ACEOF
 
-#if HAVE_PTHREADS < 7
-       status = pthread_attr_setdetachstate(&attr, &detach);
-       if( status < 0 ) status = errno;
-#else
-       status = pthread_attr_setdetachstate(&attr, detach);
-#endif
-       if( status ) return status;
-       status = pthread_create( &t, &attr, task, NULL );
-#if HAVE_PTHREADS < 7
-       if( status < 0 ) status = errno;
-#endif
-       if( status ) return status;
-#else
-       /* Draft 4 pthreads */
-       status = pthread_create( &t, pthread_attr_default, task, NULL );
-       if( status ) return errno;
+                       fi
+               fi
+       fi
+fi
 
-       /* give thread a chance to complete */
-       /* it should remain joinable and hence detachable */
-       sleep( 1 );
+WITH_TLS=no
+if test $ol_link_tls = yes ; then
 
-       status = pthread_detach( &t );
-       if( status ) return errno;
-#endif
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_TLS 1
+_ACEOF
 
-#ifdef HAVE_LINUX_THREADS
-       pthread_kill_other_threads_np();
-#endif
+       WITH_TLS=yes
+elif test $ol_with_tls = auto ; then
+       { echo "$as_me:$LINENO: WARNING: Could not locate TLS/SSL package" >&5
+echo "$as_me: WARNING: Could not locate TLS/SSL package" >&2;}
+       { echo "$as_me:$LINENO: WARNING: TLS data protection not supported!" >&5
+echo "$as_me: WARNING: TLS data protection not supported!" >&2;}
+elif test $ol_with_tls != no ; then
+       { { echo "$as_me:$LINENO: error: Could not locate TLS/SSL package" >&5
+echo "$as_me: error: Could not locate TLS/SSL package" >&2;}
+   { (exit 1); exit 1; }; }
+else
+       { echo "$as_me:$LINENO: WARNING: TLS data protection not supported!" >&5
+echo "$as_me: WARNING: TLS data protection not supported!" >&2;}
+fi
 
-       return 0;
+if test $ol_enable_lmpasswd != no; then
+       if test $ol_link_tls != yes ; then
+               { { echo "$as_me:$LINENO: error: LAN Manager passwords require OpenSSL" >&5
+echo "$as_me: error: LAN Manager passwords require OpenSSL" >&2;}
+   { (exit 1); exit 1; }; }
+       fi
 
-}
 
+cat >>confdefs.h <<\_ACEOF
+#define SLAPD_LMHASH 1
 _ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ol_cv_pthread_create=yes
-else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-( exit $ac_status )
-ol_cv_pthread_create=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
-echo "$as_me:$LINENO: result: $ol_cv_pthread_create" >&5
-echo "${ECHO_T}$ol_cv_pthread_create" >&6
 
-               if test $ol_cv_pthread_create != no ; then
-                       ol_link_threads=posix
-                       ol_link_pthreads=""
-               fi
+ol_link_threads=no
 
-               # Pthread try link: -kthread (ol_cv_pthread_kthread)
-if test "$ol_link_threads" = no ; then
-       # try -kthread
-       echo "$as_me:$LINENO: checking for pthread link with -kthread" >&5
-echo $ECHO_N "checking for pthread link with -kthread... $ECHO_C" >&6
-if test "${ol_cv_pthread_kthread+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+case $ol_with_threads in auto | yes | nt)
 
-               # save the flags
-               ol_LIBS="$LIBS"
-               LIBS="-kthread $LIBS"
 
-               if test "$cross_compiling" = yes; then
+       echo "$as_me:$LINENO: checking for _beginthread" >&5
+echo $ECHO_N "checking for _beginthread... $ECHO_C" >&6
+if test "${ac_cv_func__beginthread+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+/* Define _beginthread to an innocuous variant, in case <limits.h> declares _beginthread.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define _beginthread innocuous__beginthread
 
-/* pthread test headers */
-#include <pthread.h>
-#if HAVE_PTHREADS < 7
-#include <errno.h>
-#endif
-#ifndef NULL
-#define NULL (void*)0
-#endif
-
-static void *task(p)
-       void *p;
-{
-       return (void *) (p == NULL);
-}
-
-int
-main ()
-{
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char _beginthread (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
 
-       /* pthread test function */
-#ifndef PTHREAD_CREATE_DETACHED
-#define        PTHREAD_CREATE_DETACHED 1
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
 #endif
-       pthread_t t;
-       int status;
-       int detach = PTHREAD_CREATE_DETACHED;
-
-#if HAVE_PTHREADS > 4
-       /* Final pthreads */
-       pthread_attr_t attr;
 
-       status = pthread_attr_init(&attr);
-       if( status ) return status;
+#undef _beginthread
 
-#if HAVE_PTHREADS < 7
-       status = pthread_attr_setdetachstate(&attr, &detach);
-       if( status < 0 ) status = errno;
-#else
-       status = pthread_attr_setdetachstate(&attr, detach);
-#endif
-       if( status ) return status;
-       status = pthread_create( &t, &attr, task, NULL );
-#if HAVE_PTHREADS < 7
-       if( status < 0 ) status = errno;
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+{
 #endif
-       if( status ) return status;
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char _beginthread ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub__beginthread) || defined (__stub____beginthread)
+choke me
 #else
-       /* Draft 4 pthreads */
-       status = pthread_create( &t, pthread_attr_default, task, NULL );
-       if( status ) return errno;
-
-       /* give thread a chance to complete */
-       /* it should remain joinable and hence detachable */
-       sleep( 1 );
-
-       status = pthread_detach( &t );
-       if( status ) return errno;
+char (*f) () = _beginthread;
 #endif
-
-#ifdef HAVE_LINUX_THREADS
-       pthread_kill_other_threads_np();
+#ifdef __cplusplus
+}
 #endif
 
-       return 0;
-
+int
+main ()
+{
+return f != _beginthread;
   ;
   return 0;
 }
@@ -20135,143 +19888,588 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_pthread_kthread=yes
+  ac_cv_func__beginthread=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ol_cv_pthread_kthread=no
+ac_cv_func__beginthread=no
 fi
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func__beginthread" >&5
+echo "${ECHO_T}$ac_cv_func__beginthread" >&6
 
-/* pthread test headers */
-#include <pthread.h>
-#if HAVE_PTHREADS < 7
-#include <errno.h>
-#endif
-#ifndef NULL
-#define NULL (void*)0
-#endif
 
-static void *task(p)
-       void *p;
-{
-       return (void *) (p == NULL);
-}
+       if test $ac_cv_func__beginthread = yes ; then
 
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_NT_THREADS 1
+_ACEOF
 
-int main(argc, argv)
-       int argc;
-       char **argv;
-{
+               ol_cv_nt_threads=yes
+       fi
 
-       /* pthread test function */
-#ifndef PTHREAD_CREATE_DETACHED
-#define        PTHREAD_CREATE_DETACHED 1
-#endif
-       pthread_t t;
-       int status;
-       int detach = PTHREAD_CREATE_DETACHED;
 
-#if HAVE_PTHREADS > 4
-       /* Final pthreads */
-       pthread_attr_t attr;
+       if test "$ol_cv_nt_threads" = yes ; then
+               ol_link_threads=nt
+               ol_with_threads=found
+               ol_with_yielding_select=yes
 
-       status = pthread_attr_init(&attr);
-       if( status ) return status;
 
-#if HAVE_PTHREADS < 7
-       status = pthread_attr_setdetachstate(&attr, &detach);
-       if( status < 0 ) status = errno;
-#else
-       status = pthread_attr_setdetachstate(&attr, detach);
-#endif
-       if( status ) return status;
-       status = pthread_create( &t, &attr, task, NULL );
-#if HAVE_PTHREADS < 7
-       if( status < 0 ) status = errno;
-#endif
-       if( status ) return status;
-#else
-       /* Draft 4 pthreads */
-       status = pthread_create( &t, pthread_attr_default, task, NULL );
-       if( status ) return errno;
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_NT_SERVICE_MANAGER 1
+_ACEOF
 
-       /* give thread a chance to complete */
-       /* it should remain joinable and hence detachable */
-       sleep( 1 );
 
-       status = pthread_detach( &t );
-       if( status ) return errno;
-#endif
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_NT_EVENT_LOG 1
+_ACEOF
 
-#ifdef HAVE_LINUX_THREADS
-       pthread_kill_other_threads_np();
-#endif
+       fi
 
-       return 0;
+       if test $ol_with_threads = nt ; then
+               { { echo "$as_me:$LINENO: error: could not locate NT Threads" >&5
+echo "$as_me: error: could not locate NT Threads" >&2;}
+   { (exit 1); exit 1; }; }
+       fi
+       ;;
+esac
 
-}
+case $ol_with_threads in auto | yes | posix)
 
+
+for ac_header in pthread.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+else
+  # Is the header compilable?
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
 _ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_pthread_kthread=yes
+  ac_header_compiler=yes
 else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+  echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-( exit $ac_status )
-ol_cv_pthread_kthread=no
+ac_header_compiler=no
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
+
+# Is the header present?
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$ac_header>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
 fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
 
-               # restore the LIBS
-               LIBS="$ol_LIBS"
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+    (
+      cat <<\_ASBOX
+## --------------------------------------------- ##
+## Report this to <http://www.openldap.org/its/> ##
+## --------------------------------------------- ##
+_ASBOX
+    ) |
+      sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  eval "$as_ac_Header=\$ac_header_preproc"
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
 
 fi
-echo "$as_me:$LINENO: result: $ol_cv_pthread_kthread" >&5
-echo "${ECHO_T}$ol_cv_pthread_kthread" >&6
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+       if test $ac_cv_header_pthread_h = yes ; then
+               echo "$as_me:$LINENO: checking POSIX thread version" >&5
+echo $ECHO_N "checking POSIX thread version... $ECHO_C" >&6
+if test "${ol_cv_pthread_version+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+       cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#              include <pthread.h>
+
+int
+main ()
+{
+
+               int i = PTHREAD_CREATE_JOINABLE;
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
+       cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <pthread.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "pthread_detach" >/dev/null 2>&1; then
+  ol_cv_pthread_version=10
+else
+  ol_cv_pthread_version=8
+fi
+rm -f conftest*
+
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+       cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#              include <pthread.h>
+#              ifdef PTHREAD_CREATE_UNDETACHED
+               draft7
+#              endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "draft7" >/dev/null 2>&1; then
+  ol_cv_pthread_version=7
+else
+
+       cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <pthread.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "pthread_attr_init" >/dev/null 2>&1; then
+  ol_cv_pthread_version=6
+else
+
+       cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#              include <pthread.h>
+#ifdef         PTHREAD_MUTEX_INITIALIZER
+               draft5
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "draft5" >/dev/null 2>&1; then
+  ol_cv_pthread_version=5
+else
+  ol_cv_pthread_version=4
+fi
+rm -f conftest*
+
+fi
+rm -f conftest*
+
+fi
+rm -f conftest*
+
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+echo "$as_me:$LINENO: result: $ol_cv_pthread_version" >&5
+echo "${ECHO_T}$ol_cv_pthread_version" >&6
+
+
+               if test $ol_cv_pthread_version != 0 ; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_PTHREADS $ol_cv_pthread_version
+_ACEOF
+
+               else
+                       { { echo "$as_me:$LINENO: error: unknown pthread version" >&5
+echo "$as_me: error: unknown pthread version" >&2;}
+   { (exit 1); exit 1; }; }
+               fi
+
+               # consider threads found
+               ol_with_threads=found
+
+
+       echo "$as_me:$LINENO: checking for LinuxThreads pthread.h" >&5
+echo $ECHO_N "checking for LinuxThreads pthread.h... $ECHO_C" >&6
+if test "${ol_cv_header_linux_threads+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <pthread.h>
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "pthread_kill_other_threads_np" >/dev/null 2>&1; then
+  ol_cv_header_linux_threads=yes
+else
+  ol_cv_header_linux_threads=no
+fi
+rm -f conftest*
+
+
+fi
+echo "$as_me:$LINENO: result: $ol_cv_header_linux_threads" >&5
+echo "${ECHO_T}$ol_cv_header_linux_threads" >&6
+       if test $ol_cv_header_linux_threads = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_LINUX_THREADS 1
+_ACEOF
 
-       if test $ol_cv_pthread_kthread = yes ; then
-               ol_link_pthreads="-kthread"
-               ol_link_threads=posix
        fi
+
+
+       echo "$as_me:$LINENO: checking for GNU Pth pthread.h" >&5
+echo $ECHO_N "checking for GNU Pth pthread.h... $ECHO_C" >&6
+if test "${ol_cv_header_gnu_pth_pthread_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <pthread.h>
+#ifdef _POSIX_THREAD_IS_GNU_PTH
+       __gnu_pth__;
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "__gnu_pth__" >/dev/null 2>&1; then
+  ol_cv_header_gnu_pth_pthread_h=yes
+else
+  ol_cv_header_gnu_pth_pthread_h=no
 fi
+rm -f conftest*
 
-               # Pthread try link: -pthread (ol_cv_pthread_pthread)
-if test "$ol_link_threads" = no ; then
-       # try -pthread
-       echo "$as_me:$LINENO: checking for pthread link with -pthread" >&5
-echo $ECHO_N "checking for pthread link with -pthread... $ECHO_C" >&6
-if test "${ol_cv_pthread_pthread+set}" = set; then
+
+fi
+echo "$as_me:$LINENO: result: $ol_cv_header_gnu_pth_pthread_h" >&5
+echo "${ECHO_T}$ol_cv_header_gnu_pth_pthread_h" >&6
+
+
+               if test $ol_cv_header_gnu_pth_pthread_h = no ; then
+
+for ac_header in sched.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+else
+  # Is the header compilable?
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_header_compiler=yes
 else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-               # save the flags
-               ol_LIBS="$LIBS"
-               LIBS="-pthread $LIBS"
+ac_header_compiler=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
 
-               if test "$cross_compiling" = yes; then
+# Is the header present?
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$ac_header>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+    (
+      cat <<\_ASBOX
+## --------------------------------------------- ##
+## Report this to <http://www.openldap.org/its/> ##
+## --------------------------------------------- ##
+_ASBOX
+    ) |
+      sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  eval "$as_ac_Header=\$ac_header_preproc"
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+               fi
+
+
+                               echo "$as_me:$LINENO: checking for pthread_create in default libraries" >&5
+echo $ECHO_N "checking for pthread_create in default libraries... $ECHO_C" >&6
+if test "${ol_cv_pthread_create+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+                       if test "$cross_compiling" = yes; then
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -20370,12 +20568,12 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_pthread_pthread=yes
+  ol_cv_pthread_create=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ol_cv_pthread_pthread=no
+ol_cv_pthread_create=no
 fi
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
@@ -20468,43 +20666,38 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_pthread_pthread=yes
+  ol_cv_pthread_create=yes
 else
   echo "$as_me: program exited with status $ac_status" >&5
 echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-ol_cv_pthread_pthread=no
+ol_cv_pthread_create=no
 fi
 rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-
-               # restore the LIBS
-               LIBS="$ol_LIBS"
-
 fi
-echo "$as_me:$LINENO: result: $ol_cv_pthread_pthread" >&5
-echo "${ECHO_T}$ol_cv_pthread_pthread" >&6
+echo "$as_me:$LINENO: result: $ol_cv_pthread_create" >&5
+echo "${ECHO_T}$ol_cv_pthread_create" >&6
 
-       if test $ol_cv_pthread_pthread = yes ; then
-               ol_link_pthreads="-pthread"
-               ol_link_threads=posix
-       fi
-fi
+               if test $ol_cv_pthread_create != no ; then
+                       ol_link_threads=posix
+                       ol_link_pthreads=""
+               fi
 
-               # Pthread try link: -pthreads (ol_cv_pthread_pthreads)
+               # Pthread try link: -kthread (ol_cv_pthread_kthread)
 if test "$ol_link_threads" = no ; then
-       # try -pthreads
-       echo "$as_me:$LINENO: checking for pthread link with -pthreads" >&5
-echo $ECHO_N "checking for pthread link with -pthreads... $ECHO_C" >&6
-if test "${ol_cv_pthread_pthreads+set}" = set; then
+       # try -kthread
+       echo "$as_me:$LINENO: checking for pthread link with -kthread" >&5
+echo $ECHO_N "checking for pthread link with -kthread... $ECHO_C" >&6
+if test "${ol_cv_pthread_kthread+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
                # save the flags
                ol_LIBS="$LIBS"
-               LIBS="-pthreads $LIBS"
+               LIBS="-kthread $LIBS"
 
                if test "$cross_compiling" = yes; then
   cat >conftest.$ac_ext <<_ACEOF
@@ -20605,12 +20798,12 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_pthread_pthreads=yes
+  ol_cv_pthread_kthread=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ol_cv_pthread_pthreads=no
+ol_cv_pthread_kthread=no
 fi
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
@@ -20703,14 +20896,14 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_pthread_pthreads=yes
+  ol_cv_pthread_kthread=yes
 else
   echo "$as_me: program exited with status $ac_status" >&5
 echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-ol_cv_pthread_pthreads=no
+ol_cv_pthread_kthread=no
 fi
 rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
                LIBS="$ol_LIBS"
 
 fi
-echo "$as_me:$LINENO: result: $ol_cv_pthread_pthreads" >&5
-echo "${ECHO_T}$ol_cv_pthread_pthreads" >&6
+echo "$as_me:$LINENO: result: $ol_cv_pthread_kthread" >&5
+echo "${ECHO_T}$ol_cv_pthread_kthread" >&6
 
-       if test $ol_cv_pthread_pthreads = yes ; then
-               ol_link_pthreads="-pthreads"
+       if test $ol_cv_pthread_kthread = yes ; then
+               ol_link_pthreads="-kthread"
                ol_link_threads=posix
        fi
 fi
 
-               # Pthread try link: -mthreads (ol_cv_pthread_mthreads)
+               # Pthread try link: -pthread (ol_cv_pthread_pthread)
 if test "$ol_link_threads" = no ; then
-       # try -mthreads
-       echo "$as_me:$LINENO: checking for pthread link with -mthreads" >&5
-echo $ECHO_N "checking for pthread link with -mthreads... $ECHO_C" >&6
-if test "${ol_cv_pthread_mthreads+set}" = set; then
+       # try -pthread
+       echo "$as_me:$LINENO: checking for pthread link with -pthread" >&5
+echo $ECHO_N "checking for pthread link with -pthread... $ECHO_C" >&6
+if test "${ol_cv_pthread_pthread+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
                # save the flags
                ol_LIBS="$LIBS"
-               LIBS="-mthreads $LIBS"
+               LIBS="-pthread $LIBS"
 
                if test "$cross_compiling" = yes; then
   cat >conftest.$ac_ext <<_ACEOF
@@ -20840,12 +21033,12 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_pthread_mthreads=yes
+  ol_cv_pthread_pthread=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ol_cv_pthread_mthreads=no
+ol_cv_pthread_pthread=no
 fi
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
@@ -20938,14 +21131,14 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_pthread_mthreads=yes
+  ol_cv_pthread_pthread=yes
 else
   echo "$as_me: program exited with status $ac_status" >&5
 echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-ol_cv_pthread_mthreads=no
+ol_cv_pthread_pthread=no
 fi
 rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
                LIBS="$ol_LIBS"
 
 fi
-echo "$as_me:$LINENO: result: $ol_cv_pthread_mthreads" >&5
-echo "${ECHO_T}$ol_cv_pthread_mthreads" >&6
+echo "$as_me:$LINENO: result: $ol_cv_pthread_pthread" >&5
+echo "${ECHO_T}$ol_cv_pthread_pthread" >&6
 
-       if test $ol_cv_pthread_mthreads = yes ; then
-               ol_link_pthreads="-mthreads"
+       if test $ol_cv_pthread_pthread = yes ; then
+               ol_link_pthreads="-pthread"
                ol_link_threads=posix
        fi
 fi
 
-               # Pthread try link: -thread (ol_cv_pthread_thread)
+               # Pthread try link: -pthreads (ol_cv_pthread_pthreads)
 if test "$ol_link_threads" = no ; then
-       # try -thread
-       echo "$as_me:$LINENO: checking for pthread link with -thread" >&5
-echo $ECHO_N "checking for pthread link with -thread... $ECHO_C" >&6
-if test "${ol_cv_pthread_thread+set}" = set; then
+       # try -pthreads
+       echo "$as_me:$LINENO: checking for pthread link with -pthreads" >&5
+echo $ECHO_N "checking for pthread link with -pthreads... $ECHO_C" >&6
+if test "${ol_cv_pthread_pthreads+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
                # save the flags
                ol_LIBS="$LIBS"
-               LIBS="-thread $LIBS"
+               LIBS="-pthreads $LIBS"
 
                if test "$cross_compiling" = yes; then
   cat >conftest.$ac_ext <<_ACEOF
@@ -21075,12 +21268,12 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_pthread_thread=yes
+  ol_cv_pthread_pthreads=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ol_cv_pthread_thread=no
+ol_cv_pthread_pthreads=no
 fi
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
@@ -21173,14 +21366,14 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_pthread_thread=yes
+  ol_cv_pthread_pthreads=yes
 else
   echo "$as_me: program exited with status $ac_status" >&5
 echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-ol_cv_pthread_thread=no
+ol_cv_pthread_pthreads=no
 fi
 rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
                LIBS="$ol_LIBS"
 
 fi
-echo "$as_me:$LINENO: result: $ol_cv_pthread_thread" >&5
-echo "${ECHO_T}$ol_cv_pthread_thread" >&6
+echo "$as_me:$LINENO: result: $ol_cv_pthread_pthreads" >&5
+echo "${ECHO_T}$ol_cv_pthread_pthreads" >&6
 
-       if test $ol_cv_pthread_thread = yes ; then
-               ol_link_pthreads="-thread"
+       if test $ol_cv_pthread_pthreads = yes ; then
+               ol_link_pthreads="-pthreads"
                ol_link_threads=posix
        fi
 fi
 
-
-               # Pthread try link: -lpthread -lmach -lexc -lc_r (ol_cv_pthread_lpthread_lmach_lexc_lc_r)
+               # Pthread try link: -mthreads (ol_cv_pthread_mthreads)
 if test "$ol_link_threads" = no ; then
-       # try -lpthread -lmach -lexc -lc_r
-       echo "$as_me:$LINENO: checking for pthread link with -lpthread -lmach -lexc -lc_r" >&5
-echo $ECHO_N "checking for pthread link with -lpthread -lmach -lexc -lc_r... $ECHO_C" >&6
-if test "${ol_cv_pthread_lpthread_lmach_lexc_lc_r+set}" = set; then
+       # try -mthreads
+       echo "$as_me:$LINENO: checking for pthread link with -mthreads" >&5
+echo $ECHO_N "checking for pthread link with -mthreads... $ECHO_C" >&6
+if test "${ol_cv_pthread_mthreads+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
                # save the flags
                ol_LIBS="$LIBS"
-               LIBS="-lpthread -lmach -lexc -lc_r $LIBS"
+               LIBS="-mthreads $LIBS"
 
                if test "$cross_compiling" = yes; then
   cat >conftest.$ac_ext <<_ACEOF
@@ -21311,12 +21503,12 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_pthread_lpthread_lmach_lexc_lc_r=yes
+  ol_cv_pthread_mthreads=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ol_cv_pthread_lpthread_lmach_lexc_lc_r=no
+ol_cv_pthread_mthreads=no
 fi
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
@@ -21409,14 +21601,14 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_pthread_lpthread_lmach_lexc_lc_r=yes
+  ol_cv_pthread_mthreads=yes
 else
   echo "$as_me: program exited with status $ac_status" >&5
 echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-ol_cv_pthread_lpthread_lmach_lexc_lc_r=no
+ol_cv_pthread_mthreads=no
 fi
 rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
                LIBS="$ol_LIBS"
 
 fi
-echo "$as_me:$LINENO: result: $ol_cv_pthread_lpthread_lmach_lexc_lc_r" >&5
-echo "${ECHO_T}$ol_cv_pthread_lpthread_lmach_lexc_lc_r" >&6
+echo "$as_me:$LINENO: result: $ol_cv_pthread_mthreads" >&5
+echo "${ECHO_T}$ol_cv_pthread_mthreads" >&6
 
-       if test $ol_cv_pthread_lpthread_lmach_lexc_lc_r = yes ; then
-               ol_link_pthreads="-lpthread -lmach -lexc -lc_r"
+       if test $ol_cv_pthread_mthreads = yes ; then
+               ol_link_pthreads="-mthreads"
                ol_link_threads=posix
        fi
 fi
 
-               # Pthread try link: -lpthread -lmach -lexc (ol_cv_pthread_lpthread_lmach_lexc)
+               # Pthread try link: -thread (ol_cv_pthread_thread)
 if test "$ol_link_threads" = no ; then
-       # try -lpthread -lmach -lexc
-       echo "$as_me:$LINENO: checking for pthread link with -lpthread -lmach -lexc" >&5
-echo $ECHO_N "checking for pthread link with -lpthread -lmach -lexc... $ECHO_C" >&6
-if test "${ol_cv_pthread_lpthread_lmach_lexc+set}" = set; then
+       # try -thread
+       echo "$as_me:$LINENO: checking for pthread link with -thread" >&5
+echo $ECHO_N "checking for pthread link with -thread... $ECHO_C" >&6
+if test "${ol_cv_pthread_thread+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
                # save the flags
                ol_LIBS="$LIBS"
-               LIBS="-lpthread -lmach -lexc $LIBS"
+               LIBS="-thread $LIBS"
 
                if test "$cross_compiling" = yes; then
   cat >conftest.$ac_ext <<_ACEOF
@@ -21546,12 +21738,12 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_pthread_lpthread_lmach_lexc=yes
+  ol_cv_pthread_thread=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ol_cv_pthread_lpthread_lmach_lexc=no
+ol_cv_pthread_thread=no
 fi
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
@@ -21644,14 +21836,14 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_pthread_lpthread_lmach_lexc=yes
+  ol_cv_pthread_thread=yes
 else
   echo "$as_me: program exited with status $ac_status" >&5
 echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-ol_cv_pthread_lpthread_lmach_lexc=no
+ol_cv_pthread_thread=no
 fi
 rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
                LIBS="$ol_LIBS"
 
 fi
-echo "$as_me:$LINENO: result: $ol_cv_pthread_lpthread_lmach_lexc" >&5
-echo "${ECHO_T}$ol_cv_pthread_lpthread_lmach_lexc" >&6
+echo "$as_me:$LINENO: result: $ol_cv_pthread_thread" >&5
+echo "${ECHO_T}$ol_cv_pthread_thread" >&6
 
-       if test $ol_cv_pthread_lpthread_lmach_lexc = yes ; then
-               ol_link_pthreads="-lpthread -lmach -lexc"
+       if test $ol_cv_pthread_thread = yes ; then
+               ol_link_pthreads="-thread"
                ol_link_threads=posix
        fi
 fi
 
 
-               # Pthread try link: -lpthread -Wl,-woff,85 (ol_cv_pthread_lib_lpthread_woff)
+               # Pthread try link: -lpthread -lmach -lexc -lc_r (ol_cv_pthread_lpthread_lmach_lexc_lc_r)
 if test "$ol_link_threads" = no ; then
-       # try -lpthread -Wl,-woff,85
-       echo "$as_me:$LINENO: checking for pthread link with -lpthread -Wl,-woff,85" >&5
-echo $ECHO_N "checking for pthread link with -lpthread -Wl,-woff,85... $ECHO_C" >&6
-if test "${ol_cv_pthread_lib_lpthread_woff+set}" = set; then
+       # try -lpthread -lmach -lexc -lc_r
+       echo "$as_me:$LINENO: checking for pthread link with -lpthread -lmach -lexc -lc_r" >&5
+echo $ECHO_N "checking for pthread link with -lpthread -lmach -lexc -lc_r... $ECHO_C" >&6
+if test "${ol_cv_pthread_lpthread_lmach_lexc_lc_r+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
                # save the flags
                ol_LIBS="$LIBS"
-               LIBS="-lpthread -Wl,-woff,85 $LIBS"
+               LIBS="-lpthread -lmach -lexc -lc_r $LIBS"
 
                if test "$cross_compiling" = yes; then
   cat >conftest.$ac_ext <<_ACEOF
@@ -21782,12 +21974,12 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_pthread_lib_lpthread_woff=yes
+  ol_cv_pthread_lpthread_lmach_lexc_lc_r=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ol_cv_pthread_lib_lpthread_woff=no
+ol_cv_pthread_lpthread_lmach_lexc_lc_r=no
 fi
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
@@ -21880,14 +22072,14 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_pthread_lib_lpthread_woff=yes
+  ol_cv_pthread_lpthread_lmach_lexc_lc_r=yes
 else
   echo "$as_me: program exited with status $ac_status" >&5
 echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-ol_cv_pthread_lib_lpthread_woff=no
+ol_cv_pthread_lpthread_lmach_lexc_lc_r=no
 fi
 rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
                LIBS="$ol_LIBS"
 
 fi
-echo "$as_me:$LINENO: result: $ol_cv_pthread_lib_lpthread_woff" >&5
-echo "${ECHO_T}$ol_cv_pthread_lib_lpthread_woff" >&6
+echo "$as_me:$LINENO: result: $ol_cv_pthread_lpthread_lmach_lexc_lc_r" >&5
+echo "${ECHO_T}$ol_cv_pthread_lpthread_lmach_lexc_lc_r" >&6
 
-       if test $ol_cv_pthread_lib_lpthread_woff = yes ; then
-               ol_link_pthreads="-lpthread -Wl,-woff,85"
+       if test $ol_cv_pthread_lpthread_lmach_lexc_lc_r = yes ; then
+               ol_link_pthreads="-lpthread -lmach -lexc -lc_r"
                ol_link_threads=posix
        fi
 fi
 
-
-               # Pthread try link: -lpthread (ol_cv_pthread_lpthread)
+               # Pthread try link: -lpthread -lmach -lexc (ol_cv_pthread_lpthread_lmach_lexc)
 if test "$ol_link_threads" = no ; then
-       # try -lpthread
-       echo "$as_me:$LINENO: checking for pthread link with -lpthread" >&5
-echo $ECHO_N "checking for pthread link with -lpthread... $ECHO_C" >&6
-if test "${ol_cv_pthread_lpthread+set}" = set; then
+       # try -lpthread -lmach -lexc
+       echo "$as_me:$LINENO: checking for pthread link with -lpthread -lmach -lexc" >&5
+echo $ECHO_N "checking for pthread link with -lpthread -lmach -lexc... $ECHO_C" >&6
+if test "${ol_cv_pthread_lpthread_lmach_lexc+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
                # save the flags
                ol_LIBS="$LIBS"
-               LIBS="-lpthread $LIBS"
+               LIBS="-lpthread -lmach -lexc $LIBS"
 
                if test "$cross_compiling" = yes; then
   cat >conftest.$ac_ext <<_ACEOF
@@ -22018,12 +22209,12 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_pthread_lpthread=yes
+  ol_cv_pthread_lpthread_lmach_lexc=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ol_cv_pthread_lpthread=no
+ol_cv_pthread_lpthread_lmach_lexc=no
 fi
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
@@ -22116,14 +22307,14 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_pthread_lpthread=yes
+  ol_cv_pthread_lpthread_lmach_lexc=yes
 else
   echo "$as_me: program exited with status $ac_status" >&5
 echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-ol_cv_pthread_lpthread=no
+ol_cv_pthread_lpthread_lmach_lexc=no
 fi
 rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
                LIBS="$ol_LIBS"
 
 fi
-echo "$as_me:$LINENO: result: $ol_cv_pthread_lpthread" >&5
-echo "${ECHO_T}$ol_cv_pthread_lpthread" >&6
+echo "$as_me:$LINENO: result: $ol_cv_pthread_lpthread_lmach_lexc" >&5
+echo "${ECHO_T}$ol_cv_pthread_lpthread_lmach_lexc" >&6
 
-       if test $ol_cv_pthread_lpthread = yes ; then
-               ol_link_pthreads="-lpthread"
+       if test $ol_cv_pthread_lpthread_lmach_lexc = yes ; then
+               ol_link_pthreads="-lpthread -lmach -lexc"
                ol_link_threads=posix
        fi
 fi
 
-               # Pthread try link: -lc_r (ol_cv_pthread_lc_r)
+
+               # Pthread try link: -lpthread -Wl,-woff,85 (ol_cv_pthread_lib_lpthread_woff)
 if test "$ol_link_threads" = no ; then
-       # try -lc_r
-       echo "$as_me:$LINENO: checking for pthread link with -lc_r" >&5
-echo $ECHO_N "checking for pthread link with -lc_r... $ECHO_C" >&6
-if test "${ol_cv_pthread_lc_r+set}" = set; then
+       # try -lpthread -Wl,-woff,85
+       echo "$as_me:$LINENO: checking for pthread link with -lpthread -Wl,-woff,85" >&5
+echo $ECHO_N "checking for pthread link with -lpthread -Wl,-woff,85... $ECHO_C" >&6
+if test "${ol_cv_pthread_lib_lpthread_woff+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
                # save the flags
                ol_LIBS="$LIBS"
-               LIBS="-lc_r $LIBS"
+               LIBS="-lpthread -Wl,-woff,85 $LIBS"
 
                if test "$cross_compiling" = yes; then
   cat >conftest.$ac_ext <<_ACEOF
@@ -22253,12 +22445,12 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_pthread_lc_r=yes
+  ol_cv_pthread_lib_lpthread_woff=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ol_cv_pthread_lc_r=no
+ol_cv_pthread_lib_lpthread_woff=no
 fi
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
@@ -22351,14 +22543,14 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_pthread_lc_r=yes
+  ol_cv_pthread_lib_lpthread_woff=yes
 else
   echo "$as_me: program exited with status $ac_status" >&5
 echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-ol_cv_pthread_lc_r=no
+ol_cv_pthread_lib_lpthread_woff=no
 fi
 rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
                LIBS="$ol_LIBS"
 
 fi
-echo "$as_me:$LINENO: result: $ol_cv_pthread_lc_r" >&5
-echo "${ECHO_T}$ol_cv_pthread_lc_r" >&6
+echo "$as_me:$LINENO: result: $ol_cv_pthread_lib_lpthread_woff" >&5
+echo "${ECHO_T}$ol_cv_pthread_lib_lpthread_woff" >&6
 
-       if test $ol_cv_pthread_lc_r = yes ; then
-               ol_link_pthreads="-lc_r"
+       if test $ol_cv_pthread_lib_lpthread_woff = yes ; then
+               ol_link_pthreads="-lpthread -Wl,-woff,85"
                ol_link_threads=posix
        fi
 fi
 
 
-               # Pthread try link: -threads (ol_cv_pthread_threads)
+               # Pthread try link: -lpthread (ol_cv_pthread_lpthread)
 if test "$ol_link_threads" = no ; then
-       # try -threads
-       echo "$as_me:$LINENO: checking for pthread link with -threads" >&5
-echo $ECHO_N "checking for pthread link with -threads... $ECHO_C" >&6
-if test "${ol_cv_pthread_threads+set}" = set; then
+       # try -lpthread
+       echo "$as_me:$LINENO: checking for pthread link with -lpthread" >&5
+echo $ECHO_N "checking for pthread link with -lpthread... $ECHO_C" >&6
+if test "${ol_cv_pthread_lpthread+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
                # save the flags
                ol_LIBS="$LIBS"
-               LIBS="-threads $LIBS"
+               LIBS="-lpthread $LIBS"
 
                if test "$cross_compiling" = yes; then
   cat >conftest.$ac_ext <<_ACEOF
@@ -22489,12 +22681,12 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_pthread_threads=yes
+  ol_cv_pthread_lpthread=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ol_cv_pthread_threads=no
+ol_cv_pthread_lpthread=no
 fi
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
@@ -22587,14 +22779,14 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_pthread_threads=yes
+  ol_cv_pthread_lpthread=yes
 else
   echo "$as_me: program exited with status $ac_status" >&5
 echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-ol_cv_pthread_threads=no
+ol_cv_pthread_lpthread=no
 fi
 rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
                LIBS="$ol_LIBS"
 
 fi
-echo "$as_me:$LINENO: result: $ol_cv_pthread_threads" >&5
-echo "${ECHO_T}$ol_cv_pthread_threads" >&6
+echo "$as_me:$LINENO: result: $ol_cv_pthread_lpthread" >&5
+echo "${ECHO_T}$ol_cv_pthread_lpthread" >&6
 
-       if test $ol_cv_pthread_threads = yes ; then
-               ol_link_pthreads="-threads"
+       if test $ol_cv_pthread_lpthread = yes ; then
+               ol_link_pthreads="-lpthread"
                ol_link_threads=posix
        fi
 fi
 
-
-               # Pthread try link: -lpthreads -lmach -lexc -lc_r (ol_cv_pthread_lpthreads_lmach_lexc_lc_r)
+               # Pthread try link: -lc_r (ol_cv_pthread_lc_r)
 if test "$ol_link_threads" = no ; then
-       # try -lpthreads -lmach -lexc -lc_r
-       echo "$as_me:$LINENO: checking for pthread link with -lpthreads -lmach -lexc -lc_r" >&5
-echo $ECHO_N "checking for pthread link with -lpthreads -lmach -lexc -lc_r... $ECHO_C" >&6
-if test "${ol_cv_pthread_lpthreads_lmach_lexc_lc_r+set}" = set; then
+       # try -lc_r
+       echo "$as_me:$LINENO: checking for pthread link with -lc_r" >&5
+echo $ECHO_N "checking for pthread link with -lc_r... $ECHO_C" >&6
+if test "${ol_cv_pthread_lc_r+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
                # save the flags
                ol_LIBS="$LIBS"
-               LIBS="-lpthreads -lmach -lexc -lc_r $LIBS"
+               LIBS="-lc_r $LIBS"
 
                if test "$cross_compiling" = yes; then
   cat >conftest.$ac_ext <<_ACEOF
@@ -22725,12 +22916,12 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_pthread_lpthreads_lmach_lexc_lc_r=yes
+  ol_cv_pthread_lc_r=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ol_cv_pthread_lpthreads_lmach_lexc_lc_r=no
+ol_cv_pthread_lc_r=no
 fi
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
@@ -22823,14 +23014,14 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_pthread_lpthreads_lmach_lexc_lc_r=yes
+  ol_cv_pthread_lc_r=yes
 else
   echo "$as_me: program exited with status $ac_status" >&5
 echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-ol_cv_pthread_lpthreads_lmach_lexc_lc_r=no
+ol_cv_pthread_lc_r=no
 fi
 rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
                LIBS="$ol_LIBS"
 
 fi
-echo "$as_me:$LINENO: result: $ol_cv_pthread_lpthreads_lmach_lexc_lc_r" >&5
-echo "${ECHO_T}$ol_cv_pthread_lpthreads_lmach_lexc_lc_r" >&6
+echo "$as_me:$LINENO: result: $ol_cv_pthread_lc_r" >&5
+echo "${ECHO_T}$ol_cv_pthread_lc_r" >&6
 
-       if test $ol_cv_pthread_lpthreads_lmach_lexc_lc_r = yes ; then
-               ol_link_pthreads="-lpthreads -lmach -lexc -lc_r"
+       if test $ol_cv_pthread_lc_r = yes ; then
+               ol_link_pthreads="-lc_r"
                ol_link_threads=posix
        fi
 fi
 
-               # Pthread try link: -lpthreads -lmach -lexc (ol_cv_pthread_lpthreads_lmach_lexc)
+
+               # Pthread try link: -threads (ol_cv_pthread_threads)
 if test "$ol_link_threads" = no ; then
-       # try -lpthreads -lmach -lexc
-       echo "$as_me:$LINENO: checking for pthread link with -lpthreads -lmach -lexc" >&5
-echo $ECHO_N "checking for pthread link with -lpthreads -lmach -lexc... $ECHO_C" >&6
-if test "${ol_cv_pthread_lpthreads_lmach_lexc+set}" = set; then
+       # try -threads
+       echo "$as_me:$LINENO: checking for pthread link with -threads" >&5
+echo $ECHO_N "checking for pthread link with -threads... $ECHO_C" >&6
+if test "${ol_cv_pthread_threads+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
                # save the flags
                ol_LIBS="$LIBS"
-               LIBS="-lpthreads -lmach -lexc $LIBS"
+               LIBS="-threads $LIBS"
 
                if test "$cross_compiling" = yes; then
   cat >conftest.$ac_ext <<_ACEOF
@@ -22960,12 +23152,12 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_pthread_lpthreads_lmach_lexc=yes
+  ol_cv_pthread_threads=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ol_cv_pthread_lpthreads_lmach_lexc=no
+ol_cv_pthread_threads=no
 fi
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
@@ -23058,14 +23250,14 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_pthread_lpthreads_lmach_lexc=yes
+  ol_cv_pthread_threads=yes
 else
   echo "$as_me: program exited with status $ac_status" >&5
 echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-ol_cv_pthread_lpthreads_lmach_lexc=no
+ol_cv_pthread_threads=no
 fi
 rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
                LIBS="$ol_LIBS"
 
 fi
-echo "$as_me:$LINENO: result: $ol_cv_pthread_lpthreads_lmach_lexc" >&5
-echo "${ECHO_T}$ol_cv_pthread_lpthreads_lmach_lexc" >&6
+echo "$as_me:$LINENO: result: $ol_cv_pthread_threads" >&5
+echo "${ECHO_T}$ol_cv_pthread_threads" >&6
 
-       if test $ol_cv_pthread_lpthreads_lmach_lexc = yes ; then
-               ol_link_pthreads="-lpthreads -lmach -lexc"
+       if test $ol_cv_pthread_threads = yes ; then
+               ol_link_pthreads="-threads"
                ol_link_threads=posix
        fi
 fi
 
-               # Pthread try link: -lpthreads -lexc (ol_cv_pthread_lpthreads_lexc)
+
+               # Pthread try link: -lpthreads -lmach -lexc -lc_r (ol_cv_pthread_lpthreads_lmach_lexc_lc_r)
 if test "$ol_link_threads" = no ; then
-       # try -lpthreads -lexc
-       echo "$as_me:$LINENO: checking for pthread link with -lpthreads -lexc" >&5
-echo $ECHO_N "checking for pthread link with -lpthreads -lexc... $ECHO_C" >&6
-if test "${ol_cv_pthread_lpthreads_lexc+set}" = set; then
+       # try -lpthreads -lmach -lexc -lc_r
+       echo "$as_me:$LINENO: checking for pthread link with -lpthreads -lmach -lexc -lc_r" >&5
+echo $ECHO_N "checking for pthread link with -lpthreads -lmach -lexc -lc_r... $ECHO_C" >&6
+if test "${ol_cv_pthread_lpthreads_lmach_lexc_lc_r+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
                # save the flags
                ol_LIBS="$LIBS"
-               LIBS="-lpthreads -lexc $LIBS"
+               LIBS="-lpthreads -lmach -lexc -lc_r $LIBS"
 
                if test "$cross_compiling" = yes; then
   cat >conftest.$ac_ext <<_ACEOF
@@ -23195,12 +23388,12 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_pthread_lpthreads_lexc=yes
+  ol_cv_pthread_lpthreads_lmach_lexc_lc_r=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ol_cv_pthread_lpthreads_lexc=no
+ol_cv_pthread_lpthreads_lmach_lexc_lc_r=no
 fi
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
@@ -23293,14 +23486,14 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_pthread_lpthreads_lexc=yes
+  ol_cv_pthread_lpthreads_lmach_lexc_lc_r=yes
 else
   echo "$as_me: program exited with status $ac_status" >&5
 echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-ol_cv_pthread_lpthreads_lexc=no
+ol_cv_pthread_lpthreads_lmach_lexc_lc_r=no
 fi
 rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
                LIBS="$ol_LIBS"
 
 fi
-echo "$as_me:$LINENO: result: $ol_cv_pthread_lpthreads_lexc" >&5
-echo "${ECHO_T}$ol_cv_pthread_lpthreads_lexc" >&6
+echo "$as_me:$LINENO: result: $ol_cv_pthread_lpthreads_lmach_lexc_lc_r" >&5
+echo "${ECHO_T}$ol_cv_pthread_lpthreads_lmach_lexc_lc_r" >&6
 
-       if test $ol_cv_pthread_lpthreads_lexc = yes ; then
-               ol_link_pthreads="-lpthreads -lexc"
+       if test $ol_cv_pthread_lpthreads_lmach_lexc_lc_r = yes ; then
+               ol_link_pthreads="-lpthreads -lmach -lexc -lc_r"
                ol_link_threads=posix
        fi
 fi
 
-
-               # Pthread try link: -lpthreads (ol_cv_pthread_lib_lpthreads)
+               # Pthread try link: -lpthreads -lmach -lexc (ol_cv_pthread_lpthreads_lmach_lexc)
 if test "$ol_link_threads" = no ; then
-       # try -lpthreads
-       echo "$as_me:$LINENO: checking for pthread link with -lpthreads" >&5
-echo $ECHO_N "checking for pthread link with -lpthreads... $ECHO_C" >&6
-if test "${ol_cv_pthread_lib_lpthreads+set}" = set; then
+       # try -lpthreads -lmach -lexc
+       echo "$as_me:$LINENO: checking for pthread link with -lpthreads -lmach -lexc" >&5
+echo $ECHO_N "checking for pthread link with -lpthreads -lmach -lexc... $ECHO_C" >&6
+if test "${ol_cv_pthread_lpthreads_lmach_lexc+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
                # save the flags
                ol_LIBS="$LIBS"
-               LIBS="-lpthreads $LIBS"
+               LIBS="-lpthreads -lmach -lexc $LIBS"
 
                if test "$cross_compiling" = yes; then
   cat >conftest.$ac_ext <<_ACEOF
@@ -23431,12 +23623,12 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_pthread_lib_lpthreads=yes
+  ol_cv_pthread_lpthreads_lmach_lexc=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ol_cv_pthread_lib_lpthreads=no
+ol_cv_pthread_lpthreads_lmach_lexc=no
 fi
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
@@ -23529,14 +23721,14 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_pthread_lib_lpthreads=yes
+  ol_cv_pthread_lpthreads_lmach_lexc=yes
 else
   echo "$as_me: program exited with status $ac_status" >&5
 echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-ol_cv_pthread_lib_lpthreads=no
+ol_cv_pthread_lpthreads_lmach_lexc=no
 fi
 rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
                LIBS="$ol_LIBS"
 
 fi
-echo "$as_me:$LINENO: result: $ol_cv_pthread_lib_lpthreads" >&5
-echo "${ECHO_T}$ol_cv_pthread_lib_lpthreads" >&6
+echo "$as_me:$LINENO: result: $ol_cv_pthread_lpthreads_lmach_lexc" >&5
+echo "${ECHO_T}$ol_cv_pthread_lpthreads_lmach_lexc" >&6
 
-       if test $ol_cv_pthread_lib_lpthreads = yes ; then
-               ol_link_pthreads="-lpthreads"
+       if test $ol_cv_pthread_lpthreads_lmach_lexc = yes ; then
+               ol_link_pthreads="-lpthreads -lmach -lexc"
                ol_link_threads=posix
        fi
 fi
 
-
-               if test $ol_link_threads != no ; then
-                       LTHREAD_LIBS="$LTHREAD_LIBS $ol_link_pthreads"
-
-                                               save_CPPFLAGS="$CPPFLAGS"
-                       save_LIBS="$LIBS"
-                       LIBS="$LTHREAD_LIBS $LIBS"
-
-
-
-
-for ac_func in sched_yield pthread_yield thr_yield
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+               # Pthread try link: -lpthreads -lexc (ol_cv_pthread_lpthreads_lexc)
+if test "$ol_link_threads" = no ; then
+       # try -lpthreads -lexc
+       echo "$as_me:$LINENO: checking for pthread link with -lpthreads -lexc" >&5
+echo $ECHO_N "checking for pthread link with -lpthreads -lexc... $ECHO_C" >&6
+if test "${ol_cv_pthread_lpthreads_lexc+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
+
+               # save the flags
+               ol_LIBS="$LIBS"
+               LIBS="-lpthreads -lexc $LIBS"
+
+               if test "$cross_compiling" = yes; then
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
 
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
+/* pthread test headers */
+#include <pthread.h>
+#if HAVE_PTHREADS < 7
+#include <errno.h>
+#endif
+#ifndef NULL
+#define NULL (void*)0
 #endif
 
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
+static void *task(p)
+       void *p;
 {
-#endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
+       return (void *) (p == NULL);
 }
-#endif
 
 int
 main ()
 {
-return f != $ac_func;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  eval "$as_ac_var=yes"
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
+       /* pthread test function */
+#ifndef PTHREAD_CREATE_DETACHED
+#define        PTHREAD_CREATE_DETACHED 1
+#endif
+       pthread_t t;
+       int status;
+       int detach = PTHREAD_CREATE_DETACHED;
 
-fi
-done
+#if HAVE_PTHREADS > 4
+       /* Final pthreads */
+       pthread_attr_t attr;
 
+       status = pthread_attr_init(&attr);
+       if( status ) return status;
 
-                       if test $ac_cv_func_sched_yield = no &&
-                          test $ac_cv_func_pthread_yield = no &&
-                          test $ac_cv_func_thr_yield = no ; then
-                                                               echo "$as_me:$LINENO: checking for sched_yield in -lrt" >&5
-echo $ECHO_N "checking for sched_yield in -lrt... $ECHO_C" >&6
-if test "${ac_cv_lib_rt_sched_yield+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lrt  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+#if HAVE_PTHREADS < 7
+       status = pthread_attr_setdetachstate(&attr, &detach);
+       if( status < 0 ) status = errno;
+#else
+       status = pthread_attr_setdetachstate(&attr, detach);
+#endif
+       if( status ) return status;
+       status = pthread_create( &t, &attr, task, NULL );
+#if HAVE_PTHREADS < 7
+       if( status < 0 ) status = errno;
+#endif
+       if( status ) return status;
+#else
+       /* Draft 4 pthreads */
+       status = pthread_create( &t, pthread_attr_default, task, NULL );
+       if( status ) return errno;
 
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
+       /* give thread a chance to complete */
+       /* it should remain joinable and hence detachable */
+       sleep( 1 );
+
+       status = pthread_detach( &t );
+       if( status ) return errno;
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char sched_yield ();
-int
-main ()
-{
-sched_yield ();
+
+#ifdef HAVE_LINUX_THREADS
+       pthread_kill_other_threads_np();
+#endif
+
+       return 0;
+
   ;
   return 0;
 }
@@ -23721,47 +23858,15 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_lib_rt_sched_yield=yes
+  ol_cv_pthread_lpthreads_lexc=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_rt_sched_yield=no
+ol_cv_pthread_lpthreads_lexc=no
 fi
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_rt_sched_yield" >&5
-echo "${ECHO_T}$ac_cv_lib_rt_sched_yield" >&6
-if test $ac_cv_lib_rt_sched_yield = yes; then
-  LTHREAD_LIBS="$LTHREAD_LIBS -lrt"
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SCHED_YIELD 1
-_ACEOF
-
-                                       ac_cv_func_sched_yield=yes
-else
-  ac_cv_func_sched_yield=no
-fi
-
-                       fi
-                       if test $ac_cv_func_sched_yield = no &&
-                          test $ac_cv_func_pthread_yield = no &&
-                          test "$ac_cv_func_thr_yield" = no ; then
-                               { echo "$as_me:$LINENO: WARNING: could not locate sched_yield() or pthread_yield()" >&5
-echo "$as_me: WARNING: could not locate sched_yield() or pthread_yield()" >&2;}
-                       fi
-
-
-for ac_func in pthread_kill
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -23769,114 +23874,200 @@ _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
 
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
+/* pthread test headers */
+#include <pthread.h>
+#if HAVE_PTHREADS < 7
+#include <errno.h>
+#endif
+#ifndef NULL
+#define NULL (void*)0
 #endif
 
-#undef $ac_func
+static void *task(p)
+       void *p;
+{
+       return (void *) (p == NULL);
+}
 
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
+
+int main(argc, argv)
+       int argc;
+       char **argv;
 {
+
+       /* pthread test function */
+#ifndef PTHREAD_CREATE_DETACHED
+#define        PTHREAD_CREATE_DETACHED 1
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
+       pthread_t t;
+       int status;
+       int detach = PTHREAD_CREATE_DETACHED;
+
+#if HAVE_PTHREADS > 4
+       /* Final pthreads */
+       pthread_attr_t attr;
+
+       status = pthread_attr_init(&attr);
+       if( status ) return status;
+
+#if HAVE_PTHREADS < 7
+       status = pthread_attr_setdetachstate(&attr, &detach);
+       if( status < 0 ) status = errno;
 #else
-char (*f) () = $ac_func;
+       status = pthread_attr_setdetachstate(&attr, detach);
 #endif
-#ifdef __cplusplus
-}
+       if( status ) return status;
+       status = pthread_create( &t, &attr, task, NULL );
+#if HAVE_PTHREADS < 7
+       if( status < 0 ) status = errno;
 #endif
+       if( status ) return status;
+#else
+       /* Draft 4 pthreads */
+       status = pthread_create( &t, pthread_attr_default, task, NULL );
+       if( status ) return errno;
+
+       /* give thread a chance to complete */
+       /* it should remain joinable and hence detachable */
+       sleep( 1 );
+
+       status = pthread_detach( &t );
+       if( status ) return errno;
+#endif
+
+#ifdef HAVE_LINUX_THREADS
+       pthread_kill_other_threads_np();
+#endif
+
+       return 0;
 
-int
-main ()
-{
-return f != $ac_func;
-  ;
-  return 0;
 }
+
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -f conftest$ac_exeext
 if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  (eval $ac_link) 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  eval "$as_ac_var=yes"
+  ol_cv_pthread_lpthreads_lexc=yes
 else
-  echo "$as_me: failed program was:" >&5
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+( exit $ac_status )
+ol_cv_pthread_lpthreads_lexc=no
 fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
+
+               # restore the LIBS
+               LIBS="$ol_LIBS"
 
 fi
-done
+echo "$as_me:$LINENO: result: $ol_cv_pthread_lpthreads_lexc" >&5
+echo "${ECHO_T}$ol_cv_pthread_lpthreads_lexc" >&6
 
+       if test $ol_cv_pthread_lpthreads_lexc = yes ; then
+               ol_link_pthreads="-lpthreads -lexc"
+               ol_link_threads=posix
+       fi
+fi
 
-                                                                       echo "$as_me:$LINENO: checking for pthread_rwlock_destroy with <pthread.h>" >&5
-echo $ECHO_N "checking for pthread_rwlock_destroy with <pthread.h>... $ECHO_C" >&6
-if test "${ol_cv_func_pthread_rwlock_destroy+set}" = set; then
+
+               # Pthread try link: -lpthreads (ol_cv_pthread_lib_lpthreads)
+if test "$ol_link_threads" = no ; then
+       # try -lpthreads
+       echo "$as_me:$LINENO: checking for pthread link with -lpthreads" >&5
+echo $ECHO_N "checking for pthread link with -lpthreads... $ECHO_C" >&6
+if test "${ol_cv_pthread_lib_lpthreads+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
-                                                               cat >conftest.$ac_ext <<_ACEOF
+               # save the flags
+               ol_LIBS="$LIBS"
+               LIBS="-lpthreads $LIBS"
+
+               if test "$cross_compiling" = yes; then
+  cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
+/* pthread test headers */
 #include <pthread.h>
-pthread_rwlock_t rwlock;
+#if HAVE_PTHREADS < 7
+#include <errno.h>
+#endif
+#ifndef NULL
+#define NULL (void*)0
+#endif
+
+static void *task(p)
+       void *p;
+{
+       return (void *) (p == NULL);
+}
 
 int
 main ()
 {
-pthread_rwlock_destroy(&rwlock);
+
+       /* pthread test function */
+#ifndef PTHREAD_CREATE_DETACHED
+#define        PTHREAD_CREATE_DETACHED 1
+#endif
+       pthread_t t;
+       int status;
+       int detach = PTHREAD_CREATE_DETACHED;
+
+#if HAVE_PTHREADS > 4
+       /* Final pthreads */
+       pthread_attr_t attr;
+
+       status = pthread_attr_init(&attr);
+       if( status ) return status;
+
+#if HAVE_PTHREADS < 7
+       status = pthread_attr_setdetachstate(&attr, &detach);
+       if( status < 0 ) status = errno;
+#else
+       status = pthread_attr_setdetachstate(&attr, detach);
+#endif
+       if( status ) return status;
+       status = pthread_create( &t, &attr, task, NULL );
+#if HAVE_PTHREADS < 7
+       if( status < 0 ) status = errno;
+#endif
+       if( status ) return status;
+#else
+       /* Draft 4 pthreads */
+       status = pthread_create( &t, pthread_attr_default, task, NULL );
+       if( status ) return errno;
+
+       /* give thread a chance to complete */
+       /* it should remain joinable and hence detachable */
+       sleep( 1 );
+
+       status = pthread_detach( &t );
+       if( status ) return errno;
+#endif
+
+#ifdef HAVE_LINUX_THREADS
+       pthread_kill_other_threads_np();
+#endif
+
+       return 0;
+
   ;
   return 0;
 }
@@ -23903,111 +24094,141 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_func_pthread_rwlock_destroy=yes
+  ol_cv_pthread_lib_lpthreads=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ol_cv_func_pthread_rwlock_destroy=no
+ol_cv_pthread_lib_lpthreads=no
 fi
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
-
-fi
-echo "$as_me:$LINENO: result: $ol_cv_func_pthread_rwlock_destroy" >&5
-echo "${ECHO_T}$ol_cv_func_pthread_rwlock_destroy" >&6
-                       if test $ol_cv_func_pthread_rwlock_destroy = yes ; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_PTHREAD_RWLOCK_DESTROY 1
-_ACEOF
-
-                       fi
-
-                                                                       echo "$as_me:$LINENO: checking for pthread_detach with <pthread.h>" >&5
-echo $ECHO_N "checking for pthread_detach with <pthread.h>... $ECHO_C" >&6
-if test "${ol_cv_func_pthread_detach+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-
-                                                               cat >conftest.$ac_ext <<_ACEOF
+  cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
+/* pthread test headers */
 #include <pthread.h>
+#if HAVE_PTHREADS < 7
+#include <errno.h>
+#endif
 #ifndef NULL
 #define NULL (void*)0
 #endif
 
-int
-main ()
+static void *task(p)
+       void *p;
 {
-pthread_detach(NULL);
-  ;
-  return 0;
+       return (void *) (p == NULL);
+}
+
+
+int main(argc, argv)
+       int argc;
+       char **argv;
+{
+
+       /* pthread test function */
+#ifndef PTHREAD_CREATE_DETACHED
+#define        PTHREAD_CREATE_DETACHED 1
+#endif
+       pthread_t t;
+       int status;
+       int detach = PTHREAD_CREATE_DETACHED;
+
+#if HAVE_PTHREADS > 4
+       /* Final pthreads */
+       pthread_attr_t attr;
+
+       status = pthread_attr_init(&attr);
+       if( status ) return status;
+
+#if HAVE_PTHREADS < 7
+       status = pthread_attr_setdetachstate(&attr, &detach);
+       if( status < 0 ) status = errno;
+#else
+       status = pthread_attr_setdetachstate(&attr, detach);
+#endif
+       if( status ) return status;
+       status = pthread_create( &t, &attr, task, NULL );
+#if HAVE_PTHREADS < 7
+       if( status < 0 ) status = errno;
+#endif
+       if( status ) return status;
+#else
+       /* Draft 4 pthreads */
+       status = pthread_create( &t, pthread_attr_default, task, NULL );
+       if( status ) return errno;
+
+       /* give thread a chance to complete */
+       /* it should remain joinable and hence detachable */
+       sleep( 1 );
+
+       status = pthread_detach( &t );
+       if( status ) return errno;
+#endif
+
+#ifdef HAVE_LINUX_THREADS
+       pthread_kill_other_threads_np();
+#endif
+
+       return 0;
+
 }
+
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -f conftest$ac_exeext
 if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  (eval $ac_link) 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_func_pthread_detach=yes
+  ol_cv_pthread_lib_lpthreads=yes
 else
-  echo "$as_me: failed program was:" >&5
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ol_cv_func_pthread_detach=no
+( exit $ac_status )
+ol_cv_pthread_lib_lpthreads=no
 fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-
+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ol_cv_func_pthread_detach" >&5
-echo "${ECHO_T}$ol_cv_func_pthread_detach" >&6
 
-                       if test $ol_cv_func_pthread_detach = no ; then
-                               { { echo "$as_me:$LINENO: error: could not locate pthread_detach()" >&5
-echo "$as_me: error: could not locate pthread_detach()" >&2;}
-   { (exit 1); exit 1; }; }
-                       fi
+               # restore the LIBS
+               LIBS="$ol_LIBS"
 
+fi
+echo "$as_me:$LINENO: result: $ol_cv_pthread_lib_lpthreads" >&5
+echo "${ECHO_T}$ol_cv_pthread_lib_lpthreads" >&6
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_PTHREAD_DETACH 1
-_ACEOF
+       if test $ol_cv_pthread_lib_lpthreads = yes ; then
+               ol_link_pthreads="-lpthreads"
+               ol_link_threads=posix
+       fi
+fi
 
 
+               if test $ol_link_threads != no ; then
+                       LTHREAD_LIBS="$LTHREAD_LIBS $ol_link_pthreads"
 
+                                               save_CPPFLAGS="$CPPFLAGS"
+                       save_LIBS="$LIBS"
+                       LIBS="$LTHREAD_LIBS $LIBS"
 
 
 
-for ac_func in \
-                               pthread_setconcurrency \
-                               pthread_getconcurrency \
-                               thr_setconcurrency \
-                               thr_getconcurrency \
 
+for ac_func in sched_yield pthread_yield thr_yield
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
 echo "$as_me:$LINENO: checking for $ac_func" >&5
 done
 
 
+                       if test $ac_cv_func_sched_yield = no &&
+                          test $ac_cv_func_pthread_yield = no &&
+                          test $ac_cv_func_thr_yield = no ; then
+                                                               echo "$as_me:$LINENO: checking for sched_yield in -lrt" >&5
+echo $ECHO_N "checking for sched_yield in -lrt... $ECHO_C" >&6
+if test "${ac_cv_lib_rt_sched_yield+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lrt  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char sched_yield ();
+int
+main ()
+{
+sched_yield ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_rt_sched_yield=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_rt_sched_yield=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_rt_sched_yield" >&5
+echo "${ECHO_T}$ac_cv_lib_rt_sched_yield" >&6
+if test $ac_cv_lib_rt_sched_yield = yes; then
+  LTHREAD_LIBS="$LTHREAD_LIBS -lrt"
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_SCHED_YIELD 1
+_ACEOF
 
+                                       ac_cv_func_sched_yield=yes
+else
+  ac_cv_func_sched_yield=no
+fi
 
-for ac_func in pthread_kill_other_threads_np
+                       fi
+                       if test $ac_cv_func_sched_yield = no &&
+                          test $ac_cv_func_pthread_yield = no &&
+                          test "$ac_cv_func_thr_yield" = no ; then
+                               { echo "$as_me:$LINENO: WARNING: could not locate sched_yield() or pthread_yield()" >&5
+echo "$as_me: WARNING: could not locate sched_yield() or pthread_yield()" >&2;}
+                       fi
+
+
+for ac_func in pthread_kill
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
 echo "$as_me:$LINENO: checking for $ac_func" >&5
@@ -24212,21 +24519,377 @@ _ACEOF
 fi
 done
 
-       echo "$as_me:$LINENO: checking for LinuxThreads implementation" >&5
-echo $ECHO_N "checking for LinuxThreads implementation... $ECHO_C" >&6
-if test "${ol_cv_sys_linux_threads+set}" = set; then
+
+                                                                       echo "$as_me:$LINENO: checking for pthread_rwlock_destroy with <pthread.h>" >&5
+echo $ECHO_N "checking for pthread_rwlock_destroy with <pthread.h>... $ECHO_C" >&6
+if test "${ol_cv_func_pthread_rwlock_destroy+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ol_cv_sys_linux_threads=$ac_cv_func_pthread_kill_other_threads_np
-fi
-echo "$as_me:$LINENO: result: $ol_cv_sys_linux_threads" >&5
-echo "${ECHO_T}$ol_cv_sys_linux_threads" >&6
-
 
+                                                               cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
+#include <pthread.h>
+pthread_rwlock_t rwlock;
 
-       echo "$as_me:$LINENO: checking for LinuxThreads consistency" >&5
-echo $ECHO_N "checking for LinuxThreads consistency... $ECHO_C" >&6
+int
+main ()
+{
+pthread_rwlock_destroy(&rwlock);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ol_cv_func_pthread_rwlock_destroy=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ol_cv_func_pthread_rwlock_destroy=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+
+fi
+echo "$as_me:$LINENO: result: $ol_cv_func_pthread_rwlock_destroy" >&5
+echo "${ECHO_T}$ol_cv_func_pthread_rwlock_destroy" >&6
+                       if test $ol_cv_func_pthread_rwlock_destroy = yes ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_PTHREAD_RWLOCK_DESTROY 1
+_ACEOF
+
+                       fi
+
+                                                                       echo "$as_me:$LINENO: checking for pthread_detach with <pthread.h>" >&5
+echo $ECHO_N "checking for pthread_detach with <pthread.h>... $ECHO_C" >&6
+if test "${ol_cv_func_pthread_detach+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+                                                               cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#include <pthread.h>
+#ifndef NULL
+#define NULL (void*)0
+#endif
+
+int
+main ()
+{
+pthread_detach(NULL);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ol_cv_func_pthread_detach=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ol_cv_func_pthread_detach=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+
+fi
+echo "$as_me:$LINENO: result: $ol_cv_func_pthread_detach" >&5
+echo "${ECHO_T}$ol_cv_func_pthread_detach" >&6
+
+                       if test $ol_cv_func_pthread_detach = no ; then
+                               { { echo "$as_me:$LINENO: error: could not locate pthread_detach()" >&5
+echo "$as_me: error: could not locate pthread_detach()" >&2;}
+   { (exit 1); exit 1; }; }
+                       fi
+
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_PTHREAD_DETACH 1
+_ACEOF
+
+
+
+
+
+
+for ac_func in \
+                               pthread_setconcurrency \
+                               pthread_getconcurrency \
+                               thr_setconcurrency \
+                               thr_getconcurrency \
+
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+if eval "test \"\${$as_ac_var+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+char (*f) () = $ac_func;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != $ac_func;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+eval "$as_ac_var=no"
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+
+
+for ac_func in pthread_kill_other_threads_np
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+if eval "test \"\${$as_ac_var+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+char (*f) () = $ac_func;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != $ac_func;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+eval "$as_ac_var=no"
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+       echo "$as_me:$LINENO: checking for LinuxThreads implementation" >&5
+echo $ECHO_N "checking for LinuxThreads implementation... $ECHO_C" >&6
+if test "${ol_cv_sys_linux_threads+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ol_cv_sys_linux_threads=$ac_cv_func_pthread_kill_other_threads_np
+fi
+echo "$as_me:$LINENO: result: $ol_cv_sys_linux_threads" >&5
+echo "${ECHO_T}$ol_cv_sys_linux_threads" >&6
+
+
+
+
+       echo "$as_me:$LINENO: checking for LinuxThreads consistency" >&5
+echo $ECHO_N "checking for LinuxThreads consistency... $ECHO_C" >&6
 if test "${ol_cv_linux_threads+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 if test "$ac_cv_func_gethostbyaddr_r" = yes ; then
        echo "$as_me:$LINENO: checking number of arguments of gethostbyaddr_r" >&5
 echo $ECHO_N "checking number of arguments of gethostbyaddr_r... $ECHO_C" >&6
-if test "${ol_cv_func_gethostbyaddr_r_nargs+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#define BUFSIZE (sizeof(struct hostent)+10)
-int
-main ()
-{
-struct hostent hent; char buffer[BUFSIZE];
-           struct in_addr add;
-           size_t alen=sizeof(struct in_addr);
-           int bufsize=BUFSIZE;int h_errno;
-               (void)gethostbyaddr_r( (void *)&(add.s_addr),
-                       alen, AF_INET, &hent, buffer, bufsize, &h_errno);
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ol_cv_func_gethostbyaddr_r_nargs7=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ol_cv_func_gethostbyaddr_r_nargs7=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-       cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#define BUFSIZE (sizeof(struct hostent)+10)
-int
-main ()
-{
-struct hostent hent;
-               struct hostent *rhent; char buffer[BUFSIZE];
-               struct in_addr add;
-               size_t alen=sizeof(struct in_addr);
-               int bufsize=BUFSIZE;int h_errno;
-               (void)gethostbyaddr_r( (void *)&(add.s_addr),
-                       alen, AF_INET, &hent, buffer, bufsize,
-                       &rhent, &h_errno);
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ol_cv_func_gethostbyaddr_r_nargs8=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ol_cv_func_gethostbyaddr_r_nargs8=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-       if test $ol_cv_func_gethostbyaddr_r_nargs7 = yes &&
-          test $ol_cv_func_gethostbyaddr_r_nargs8 = no ; then
-
-               ol_cv_func_gethostbyaddr_r_nargs=7
-
-       elif test $ol_cv_func_gethostbyaddr_r_nargs7 = no &&
-            test $ol_cv_func_gethostbyaddr_r_nargs8 = yes ; then
-
-               ol_cv_func_gethostbyaddr_r_nargs=8
-
-       else
-               ol_cv_func_gethostbyaddr_r_nargs=0
-       fi
-
-fi
-echo "$as_me:$LINENO: result: $ol_cv_func_gethostbyaddr_r_nargs" >&5
-echo "${ECHO_T}$ol_cv_func_gethostbyaddr_r_nargs" >&6
-  if test $ol_cv_func_gethostbyaddr_r_nargs -gt 1 ; then
-
-cat >>confdefs.h <<_ACEOF
-#define GETHOSTBYADDR_R_NARGS $ol_cv_func_gethostbyaddr_r_nargs
-_ACEOF
-
-  fi
-
-else
-       ol_cv_func_gethostbyaddr_r_nargs=0
-fi
-
-ol_link_bdb=no
-
-if test $ol_enable_bdb/$ol_enable_hdb != no/no; then
-       ol_cv_berkeley_db=no
-
-for ac_header in db.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
-  # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_header_compiler=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
-  ac_header_preproc=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## --------------------------------------------- ##
-## Report this to <http://www.openldap.org/its/> ##
-## --------------------------------------------- ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-if test $ac_cv_header_db_h = yes; then
-       ol_cv_lib_db=no
-
-echo "$as_me:$LINENO: checking for Berkeley DB major version" >&5
-echo $ECHO_N "checking for Berkeley DB major version... $ECHO_C" >&6
-if test "${ol_cv_bdb_major+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-       ol_cv_bdb_major=0
-       if test $ol_cv_bdb_major = 0 ; then
-               cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#include <db.h>
-#ifndef DB_VERSION_MAJOR
-#      define DB_VERSION_MAJOR 1
-#endif
-#if DB_VERSION_MAJOR == 4
-__db_version
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "__db_version" >/dev/null 2>&1; then
-  ol_cv_bdb_major=4
-else
-  :
-fi
-rm -f conftest*
-
-       fi
-       if test $ol_cv_bdb_major = 0 ; then
-               cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#include <db.h>
-#ifndef DB_VERSION_MAJOR
-#      define DB_VERSION_MAJOR 1
-#endif
-#if DB_VERSION_MAJOR == 3
-__db_version
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "__db_version" >/dev/null 2>&1; then
-  ol_cv_bdb_major=3
-else
-  :
-fi
-rm -f conftest*
-
-       fi
-       if test $ol_cv_bdb_major = 0 ; then
-               cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#include <db.h>
-#ifndef DB_VERSION_MAJOR
-#      define DB_VERSION_MAJOR 1
-#endif
-#if DB_VERSION_MAJOR == 2
-__db_version
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "__db_version" >/dev/null 2>&1; then
-  ol_cv_bdb_major=2
-else
-  :
-fi
-rm -f conftest*
-
-       fi
-       if test $ol_cv_bdb_major = 0 ; then
-               cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#include <db.h>
-#ifndef DB_VERSION_MAJOR
-#      define DB_VERSION_MAJOR 1
-#endif
-#if DB_VERSION_MAJOR == 1
-__db_version
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "__db_version" >/dev/null 2>&1; then
-  ol_cv_bdb_major=1
-else
-  :
-fi
-rm -f conftest*
-
-       fi
-
-       if test $ol_cv_bdb_major = 0 ; then
-               { { echo "$as_me:$LINENO: error: Unknown Berkeley DB major version" >&5
-echo "$as_me: error: Unknown Berkeley DB major version" >&2;}
-   { (exit 1); exit 1; }; }
-       fi
-
-fi
-echo "$as_me:$LINENO: result: $ol_cv_bdb_major" >&5
-echo "${ECHO_T}$ol_cv_bdb_major" >&6
-
-echo "$as_me:$LINENO: checking for Berkeley DB minor version" >&5
-echo $ECHO_N "checking for Berkeley DB minor version... $ECHO_C" >&6
-if test "${ol_cv_bdb_minor+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-       ol_cv_bdb_minor=0
-       if test $ol_cv_bdb_minor = 0 ; then
-               cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#include <db.h>
-#ifndef DB_VERSION_MINOR
-#      define DB_VERSION_MINOR 0
-#endif
-#if DB_VERSION_MINOR == 9
-__db_version
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "__db_version" >/dev/null 2>&1; then
-  ol_cv_bdb_minor=9
-else
-  :
-fi
-rm -f conftest*
-
-       fi
-       if test $ol_cv_bdb_minor = 0 ; then
-               cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#include <db.h>
-#ifndef DB_VERSION_MINOR
-#      define DB_VERSION_MINOR 0
-#endif
-#if DB_VERSION_MINOR == 8
-__db_version
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "__db_version" >/dev/null 2>&1; then
-  ol_cv_bdb_minor=8
-else
-  :
-fi
-rm -f conftest*
-
-       fi
-       if test $ol_cv_bdb_minor = 0 ; then
-               cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#include <db.h>
-#ifndef DB_VERSION_MINOR
-#      define DB_VERSION_MINOR 0
-#endif
-#if DB_VERSION_MINOR == 7
-__db_version
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "__db_version" >/dev/null 2>&1; then
-  ol_cv_bdb_minor=7
-else
-  :
-fi
-rm -f conftest*
-
-       fi
-       if test $ol_cv_bdb_minor = 0 ; then
-               cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#include <db.h>
-#ifndef DB_VERSION_MINOR
-#      define DB_VERSION_MINOR 0
-#endif
-#if DB_VERSION_MINOR == 6
-__db_version
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "__db_version" >/dev/null 2>&1; then
-  ol_cv_bdb_minor=6
-else
-  :
-fi
-rm -f conftest*
-
-       fi
-       if test $ol_cv_bdb_minor = 0 ; then
-               cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#include <db.h>
-#ifndef DB_VERSION_MINOR
-#      define DB_VERSION_MINOR 0
-#endif
-#if DB_VERSION_MINOR == 5
-__db_version
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "__db_version" >/dev/null 2>&1; then
-  ol_cv_bdb_minor=5
-else
-  :
-fi
-rm -f conftest*
-
-       fi
-       if test $ol_cv_bdb_minor = 0 ; then
-               cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#include <db.h>
-#ifndef DB_VERSION_MINOR
-#      define DB_VERSION_MINOR 0
-#endif
-#if DB_VERSION_MINOR == 4
-__db_version
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "__db_version" >/dev/null 2>&1; then
-  ol_cv_bdb_minor=4
-else
-  :
-fi
-rm -f conftest*
-
-       fi
-       if test $ol_cv_bdb_minor = 0 ; then
-               cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#include <db.h>
-#ifndef DB_VERSION_MINOR
-#      define DB_VERSION_MINOR 0
-#endif
-#if DB_VERSION_MINOR == 3
-__db_version
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "__db_version" >/dev/null 2>&1; then
-  ol_cv_bdb_minor=3
-else
-  :
-fi
-rm -f conftest*
-
-       fi
-       if test $ol_cv_bdb_minor = 0 ; then
-               cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#include <db.h>
-#ifndef DB_VERSION_MINOR
-#      define DB_VERSION_MINOR 0
-#endif
-#if DB_VERSION_MINOR == 2
-__db_version
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "__db_version" >/dev/null 2>&1; then
-  ol_cv_bdb_minor=2
-else
-  :
-fi
-rm -f conftest*
-
-       fi
-       if test $ol_cv_bdb_minor = 0 ; then
-               cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#include <db.h>
-#ifndef DB_VERSION_MINOR
-#      define DB_VERSION_MINOR 0
-#endif
-#if DB_VERSION_MINOR == 1
-__db_version
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "__db_version" >/dev/null 2>&1; then
-  ol_cv_bdb_minor=1
-else
-  :
-fi
-rm -f conftest*
-
-       fi
-
-fi
-echo "$as_me:$LINENO: result: $ol_cv_bdb_minor" >&5
-echo "${ECHO_T}$ol_cv_bdb_minor" >&6
-
-if test $ol_cv_bdb_major = 4 ; then
-       if test $ol_cv_lib_db = no ; then
-       echo "$as_me:$LINENO: checking for Berkeley DB link (-ldb-4.$ol_cv_bdb_minor)" >&5
-echo $ECHO_N "checking for Berkeley DB link (-ldb-4.$ol_cv_bdb_minor)... $ECHO_C" >&6
-if test "${ol_cv_db_db_4_dot_m+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-       ol_DB_LIB=-ldb-4.$ol_cv_bdb_minor
-       ol_LIBS=$LIBS
-       LIBS="$ol_DB_LIB $LTHREAD_LIBS $LIBS"
-
-       cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#ifdef HAVE_DB_185_H
-# include <db_185.h>
-#else
-# include <db.h>
-#endif
-
-#ifndef DB_VERSION_MAJOR
-# define DB_VERSION_MAJOR 1
-#endif
-
-#ifndef NULL
-#define NULL ((void*)0)
-#endif
-
-int
-main ()
-{
-
-#if DB_VERSION_MAJOR > 1
-       {
-               char *version;
-               int major, minor, patch;
-
-               version = db_version( &major, &minor, &patch );
-
-               if( major != DB_VERSION_MAJOR ||
-                       minor < DB_VERSION_MINOR )
-               {
-                       printf("Berkeley DB version mismatch\n"
-                               "\theader: %s\n\tlibrary: %s\n",
-                               DB_VERSION_STRING, version);
-                       return 1;
-               }
-       }
-#endif
-
-#if DB_VERSION_MAJOR > 2
-       db_env_create( NULL, 0 );
-#elif DB_VERSION_MAJOR > 1
-       db_appexit( NULL );
-#else
-       (void) dbopen( NULL, 0, 0, 0, NULL);
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ol_cv_db_db_4_dot_m=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ol_cv_db_db_4_dot_m=no
-fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-
-       LIBS="$ol_LIBS"
-
-fi
-echo "$as_me:$LINENO: result: $ol_cv_db_db_4_dot_m" >&5
-echo "${ECHO_T}$ol_cv_db_db_4_dot_m" >&6
-
-       if test $ol_cv_db_db_4_dot_m = yes ; then
-               ol_cv_lib_db=-ldb-4.$ol_cv_bdb_minor
-       fi
-fi
-
-       if test $ol_cv_lib_db = no ; then
-       echo "$as_me:$LINENO: checking for Berkeley DB link (-ldb4$ol_cv_bdb_minor)" >&5
-echo $ECHO_N "checking for Berkeley DB link (-ldb4$ol_cv_bdb_minor)... $ECHO_C" >&6
-if test "${ol_cv_db_db4m+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-       ol_DB_LIB=-ldb4$ol_cv_bdb_minor
-       ol_LIBS=$LIBS
-       LIBS="$ol_DB_LIB $LTHREAD_LIBS $LIBS"
-
-       cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#ifdef HAVE_DB_185_H
-# include <db_185.h>
-#else
-# include <db.h>
-#endif
-
-#ifndef DB_VERSION_MAJOR
-# define DB_VERSION_MAJOR 1
-#endif
-
-#ifndef NULL
-#define NULL ((void*)0)
-#endif
-
-int
-main ()
-{
-
-#if DB_VERSION_MAJOR > 1
-       {
-               char *version;
-               int major, minor, patch;
-
-               version = db_version( &major, &minor, &patch );
-
-               if( major != DB_VERSION_MAJOR ||
-                       minor < DB_VERSION_MINOR )
-               {
-                       printf("Berkeley DB version mismatch\n"
-                               "\theader: %s\n\tlibrary: %s\n",
-                               DB_VERSION_STRING, version);
-                       return 1;
-               }
-       }
-#endif
-
-#if DB_VERSION_MAJOR > 2
-       db_env_create( NULL, 0 );
-#elif DB_VERSION_MAJOR > 1
-       db_appexit( NULL );
-#else
-       (void) dbopen( NULL, 0, 0, 0, NULL);
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ol_cv_db_db4m=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ol_cv_db_db4m=no
-fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-
-       LIBS="$ol_LIBS"
-
-fi
-echo "$as_me:$LINENO: result: $ol_cv_db_db4m" >&5
-echo "${ECHO_T}$ol_cv_db_db4m" >&6
-
-       if test $ol_cv_db_db4m = yes ; then
-               ol_cv_lib_db=-ldb4$ol_cv_bdb_minor
-       fi
-fi
-
-       if test $ol_cv_lib_db = no ; then
-       echo "$as_me:$LINENO: checking for Berkeley DB link (-ldb-4$ol_cv_bdb_minor)" >&5
-echo $ECHO_N "checking for Berkeley DB link (-ldb-4$ol_cv_bdb_minor)... $ECHO_C" >&6
-if test "${ol_cv_db_db_4m+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-       ol_DB_LIB=-ldb-4$ol_cv_bdb_minor
-       ol_LIBS=$LIBS
-       LIBS="$ol_DB_LIB $LTHREAD_LIBS $LIBS"
-
-       cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#ifdef HAVE_DB_185_H
-# include <db_185.h>
-#else
-# include <db.h>
-#endif
-
-#ifndef DB_VERSION_MAJOR
-# define DB_VERSION_MAJOR 1
-#endif
-
-#ifndef NULL
-#define NULL ((void*)0)
-#endif
-
-int
-main ()
-{
-
-#if DB_VERSION_MAJOR > 1
-       {
-               char *version;
-               int major, minor, patch;
-
-               version = db_version( &major, &minor, &patch );
-
-               if( major != DB_VERSION_MAJOR ||
-                       minor < DB_VERSION_MINOR )
-               {
-                       printf("Berkeley DB version mismatch\n"
-                               "\theader: %s\n\tlibrary: %s\n",
-                               DB_VERSION_STRING, version);
-                       return 1;
-               }
-       }
-#endif
-
-#if DB_VERSION_MAJOR > 2
-       db_env_create( NULL, 0 );
-#elif DB_VERSION_MAJOR > 1
-       db_appexit( NULL );
-#else
-       (void) dbopen( NULL, 0, 0, 0, NULL);
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ol_cv_db_db_4m=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ol_cv_db_db_4m=no
-fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-
-       LIBS="$ol_LIBS"
-
-fi
-echo "$as_me:$LINENO: result: $ol_cv_db_db_4m" >&5
-echo "${ECHO_T}$ol_cv_db_db_4m" >&6
-
-       if test $ol_cv_db_db_4m = yes ; then
-               ol_cv_lib_db=-ldb-4$ol_cv_bdb_minor
-       fi
-fi
-
-       if test $ol_cv_lib_db = no ; then
-       echo "$as_me:$LINENO: checking for Berkeley DB link (-ldb-4-$ol_cv_bdb_minor)" >&5
-echo $ECHO_N "checking for Berkeley DB link (-ldb-4-$ol_cv_bdb_minor)... $ECHO_C" >&6
-if test "${ol_cv_db_db_4_m+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-       ol_DB_LIB=-ldb-4-$ol_cv_bdb_minor
-       ol_LIBS=$LIBS
-       LIBS="$ol_DB_LIB $LTHREAD_LIBS $LIBS"
-
-       cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#ifdef HAVE_DB_185_H
-# include <db_185.h>
-#else
-# include <db.h>
-#endif
-
-#ifndef DB_VERSION_MAJOR
-# define DB_VERSION_MAJOR 1
-#endif
-
-#ifndef NULL
-#define NULL ((void*)0)
-#endif
-
-int
-main ()
-{
-
-#if DB_VERSION_MAJOR > 1
-       {
-               char *version;
-               int major, minor, patch;
-
-               version = db_version( &major, &minor, &patch );
-
-               if( major != DB_VERSION_MAJOR ||
-                       minor < DB_VERSION_MINOR )
-               {
-                       printf("Berkeley DB version mismatch\n"
-                               "\theader: %s\n\tlibrary: %s\n",
-                               DB_VERSION_STRING, version);
-                       return 1;
-               }
-       }
-#endif
-
-#if DB_VERSION_MAJOR > 2
-       db_env_create( NULL, 0 );
-#elif DB_VERSION_MAJOR > 1
-       db_appexit( NULL );
-#else
-       (void) dbopen( NULL, 0, 0, 0, NULL);
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ol_cv_db_db_4_m=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ol_cv_db_db_4_m=no
-fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-
-       LIBS="$ol_LIBS"
-
-fi
-echo "$as_me:$LINENO: result: $ol_cv_db_db_4_m" >&5
-echo "${ECHO_T}$ol_cv_db_db_4_m" >&6
-
-       if test $ol_cv_db_db_4_m = yes ; then
-               ol_cv_lib_db=-ldb-4-$ol_cv_bdb_minor
-       fi
-fi
-
-       if test $ol_cv_lib_db = no ; then
-       echo "$as_me:$LINENO: checking for Berkeley DB link (-ldb-4)" >&5
-echo $ECHO_N "checking for Berkeley DB link (-ldb-4)... $ECHO_C" >&6
-if test "${ol_cv_db_db_4+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-       ol_DB_LIB=-ldb-4
-       ol_LIBS=$LIBS
-       LIBS="$ol_DB_LIB $LTHREAD_LIBS $LIBS"
-
-       cat >conftest.$ac_ext <<_ACEOF
+if test "${ol_cv_func_gethostbyaddr_r_nargs+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-
-#ifdef HAVE_DB_185_H
-# include <db_185.h>
-#else
-# include <db.h>
-#endif
-
-#ifndef DB_VERSION_MAJOR
-# define DB_VERSION_MAJOR 1
-#endif
-
-#ifndef NULL
-#define NULL ((void*)0)
-#endif
-
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <netdb.h>
+#define BUFSIZE (sizeof(struct hostent)+10)
 int
 main ()
 {
-
-#if DB_VERSION_MAJOR > 1
-       {
-               char *version;
-               int major, minor, patch;
-
-               version = db_version( &major, &minor, &patch );
-
-               if( major != DB_VERSION_MAJOR ||
-                       minor < DB_VERSION_MINOR )
-               {
-                       printf("Berkeley DB version mismatch\n"
-                               "\theader: %s\n\tlibrary: %s\n",
-                               DB_VERSION_STRING, version);
-                       return 1;
-               }
-       }
-#endif
-
-#if DB_VERSION_MAJOR > 2
-       db_env_create( NULL, 0 );
-#elif DB_VERSION_MAJOR > 1
-       db_appexit( NULL );
-#else
-       (void) dbopen( NULL, 0, 0, 0, NULL);
-#endif
-
+struct hostent hent; char buffer[BUFSIZE];
+           struct in_addr add;
+           size_t alen=sizeof(struct in_addr);
+           int bufsize=BUFSIZE;int h_errno;
+               (void)gethostbyaddr_r( (void *)&(add.s_addr),
+                       alen, AF_INET, &hent, buffer, bufsize, &h_errno);
   ;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -28317,43 +27835,20 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
+        { ac_try='test -s conftest.$ac_objext'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_db_db_4=yes
+  ol_cv_func_gethostbyaddr_r_nargs7=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ol_cv_db_db_4=no
-fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-
-       LIBS="$ol_LIBS"
-
-fi
-echo "$as_me:$LINENO: result: $ol_cv_db_db_4" >&5
-echo "${ECHO_T}$ol_cv_db_db_4" >&6
-
-       if test $ol_cv_db_db_4 = yes ; then
-               ol_cv_lib_db=-ldb-4
-       fi
+ol_cv_func_gethostbyaddr_r_nargs7=no
 fi
-
-       if test $ol_cv_lib_db = no ; then
-       echo "$as_me:$LINENO: checking for Berkeley DB link (-ldb4)" >&5
-echo $ECHO_N "checking for Berkeley DB link (-ldb4)... $ECHO_C" >&6
-if test "${ol_cv_db_db4+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-       ol_DB_LIB=-ldb4
-       ol_LIBS=$LIBS
-       LIBS="$ol_DB_LIB $LTHREAD_LIBS $LIBS"
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 
        cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -28361,58 +27856,29 @@ _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-
-#ifdef HAVE_DB_185_H
-# include <db_185.h>
-#else
-# include <db.h>
-#endif
-
-#ifndef DB_VERSION_MAJOR
-# define DB_VERSION_MAJOR 1
-#endif
-
-#ifndef NULL
-#define NULL ((void*)0)
-#endif
-
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <netdb.h>
+#define BUFSIZE (sizeof(struct hostent)+10)
 int
 main ()
 {
-
-#if DB_VERSION_MAJOR > 1
-       {
-               char *version;
-               int major, minor, patch;
-
-               version = db_version( &major, &minor, &patch );
-
-               if( major != DB_VERSION_MAJOR ||
-                       minor < DB_VERSION_MINOR )
-               {
-                       printf("Berkeley DB version mismatch\n"
-                               "\theader: %s\n\tlibrary: %s\n",
-                               DB_VERSION_STRING, version);
-                       return 1;
-               }
-       }
-#endif
-
-#if DB_VERSION_MAJOR > 2
-       db_env_create( NULL, 0 );
-#elif DB_VERSION_MAJOR > 1
-       db_appexit( NULL );
-#else
-       (void) dbopen( NULL, 0, 0, 0, NULL);
-#endif
-
+struct hostent hent;
+               struct hostent *rhent; char buffer[BUFSIZE];
+               struct in_addr add;
+               size_t alen=sizeof(struct in_addr);
+               int bufsize=BUFSIZE;int h_errno;
+               (void)gethostbyaddr_r( (void *)&(add.s_addr),
+                       alen, AF_INET, &hent, buffer, bufsize,
+                       &rhent, &h_errno);
   ;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -28426,102 +27892,82 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
+        { ac_try='test -s conftest.$ac_objext'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_db_db4=yes
+  ol_cv_func_gethostbyaddr_r_nargs8=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ol_cv_db_db4=no
+ol_cv_func_gethostbyaddr_r_nargs8=no
 fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 
-       LIBS="$ol_LIBS"
+       if test $ol_cv_func_gethostbyaddr_r_nargs7 = yes &&
+          test $ol_cv_func_gethostbyaddr_r_nargs8 = no ; then
 
-fi
-echo "$as_me:$LINENO: result: $ol_cv_db_db4" >&5
-echo "${ECHO_T}$ol_cv_db_db4" >&6
+               ol_cv_func_gethostbyaddr_r_nargs=7
 
-       if test $ol_cv_db_db4 = yes ; then
-               ol_cv_lib_db=-ldb4
+       elif test $ol_cv_func_gethostbyaddr_r_nargs7 = no &&
+            test $ol_cv_func_gethostbyaddr_r_nargs8 = yes ; then
+
+               ol_cv_func_gethostbyaddr_r_nargs=8
+
+       else
+               ol_cv_func_gethostbyaddr_r_nargs=0
        fi
+
 fi
+echo "$as_me:$LINENO: result: $ol_cv_func_gethostbyaddr_r_nargs" >&5
+echo "${ECHO_T}$ol_cv_func_gethostbyaddr_r_nargs" >&6
+  if test $ol_cv_func_gethostbyaddr_r_nargs -gt 1 ; then
+
+cat >>confdefs.h <<_ACEOF
+#define GETHOSTBYADDR_R_NARGS $ol_cv_func_gethostbyaddr_r_nargs
+_ACEOF
+
+  fi
 
-       if test $ol_cv_lib_db = no ; then
-       echo "$as_me:$LINENO: checking for Berkeley DB link (-ldb)" >&5
-echo $ECHO_N "checking for Berkeley DB link (-ldb)... $ECHO_C" >&6
-if test "${ol_cv_db_db+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
+       ol_cv_func_gethostbyaddr_r_nargs=0
+fi
 
-       ol_DB_LIB=-ldb
-       ol_LIBS=$LIBS
-       LIBS="$ol_DB_LIB $LTHREAD_LIBS $LIBS"
+ol_link_bdb=no
 
-       cat >conftest.$ac_ext <<_ACEOF
+if test $ol_enable_bdb/$ol_enable_hdb != no/no; then
+       ol_cv_berkeley_db=no
+
+for ac_header in db.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+else
+  # Is the header compilable?
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-
-#ifdef HAVE_DB_185_H
-# include <db_185.h>
-#else
-# include <db.h>
-#endif
-
-#ifndef DB_VERSION_MAJOR
-# define DB_VERSION_MAJOR 1
-#endif
-
-#ifndef NULL
-#define NULL ((void*)0)
-#endif
-
-int
-main ()
-{
-
-#if DB_VERSION_MAJOR > 1
-       {
-               char *version;
-               int major, minor, patch;
-
-               version = db_version( &major, &minor, &patch );
-
-               if( major != DB_VERSION_MAJOR ||
-                       minor < DB_VERSION_MINOR )
-               {
-                       printf("Berkeley DB version mismatch\n"
-                               "\theader: %s\n\tlibrary: %s\n",
-                               DB_VERSION_STRING, version);
-                       return 1;
-               }
-       }
-#endif
-
-#if DB_VERSION_MAJOR > 2
-       db_env_create( NULL, 0 );
-#elif DB_VERSION_MAJOR > 1
-       db_appexit( NULL );
-#else
-       (void) dbopen( NULL, 0, 0, 0, NULL);
-#endif
-
-  ;
-  return 0;
-}
+$ac_includes_default
+#include <$ac_header>
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -28535,45 +27981,175 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
+        { ac_try='test -s conftest.$ac_objext'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_db_db=yes
+  ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ol_cv_db_db=no
+ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
 
-       LIBS="$ol_LIBS"
+# Is the header present?
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$ac_header>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
+  ac_header_preproc=no
 fi
-echo "$as_me:$LINENO: result: $ol_cv_db_db" >&5
-echo "${ECHO_T}$ol_cv_db_db" >&6
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+    (
+      cat <<\_ASBOX
+## --------------------------------------------- ##
+## Report this to <http://www.openldap.org/its/> ##
+## --------------------------------------------- ##
+_ASBOX
+    ) |
+      sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  eval "$as_ac_Header=\$ac_header_preproc"
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
 
-       if test $ol_cv_db_db = yes ; then
-               ol_cv_lib_db=-ldb
-       fi
 fi
 
+done
 
-elif test $ol_cv_bdb_major = 3 ; then
-       if test $ol_cv_lib_db = no ; then
-       echo "$as_me:$LINENO: checking for Berkeley DB link (-ldb3)" >&5
-echo $ECHO_N "checking for Berkeley DB link (-ldb3)... $ECHO_C" >&6
-if test "${ol_cv_db_db3+set}" = set; then
+if test $ac_cv_header_db_h = yes; then
+       echo "$as_me:$LINENO: checking for Berkeley DB major version in db.h" >&5
+echo $ECHO_N "checking for Berkeley DB major version in db.h... $ECHO_C" >&6
+if test "${ol_cv_bdb_major+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
-       ol_DB_LIB=-ldb3
-       ol_LIBS=$LIBS
-       LIBS="$ol_DB_LIB $LTHREAD_LIBS $LIBS"
+       cat >conftest.$ac_ext <<_ACEOF
+
+#include <db.h>
+#ifndef DB_VERSION_MAJOR
+#      define DB_VERSION_MAJOR 1
+#endif
+__db_version DB_VERSION_MAJOR
+
+_ACEOF
+       set X `eval "$ac_cpp conftest.$ac_ext" | $EGREP __db_version` none none
+       ol_cv_bdb_major=${3}
+
+fi
+echo "$as_me:$LINENO: result: $ol_cv_bdb_major" >&5
+echo "${ECHO_T}$ol_cv_bdb_major" >&6
+case $ol_cv_bdb_major in [1-9]*) : ;; *)
+       { { echo "$as_me:$LINENO: error: Unknown Berkeley DB major version in db.h" >&5
+echo "$as_me: error: Unknown Berkeley DB major version in db.h" >&2;}
+   { (exit 1); exit 1; }; } ;;
+esac
+
+echo "$as_me:$LINENO: checking for Berkeley DB minor version in db.h" >&5
+echo $ECHO_N "checking for Berkeley DB minor version in db.h... $ECHO_C" >&6
+if test "${ol_cv_bdb_minor+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+       cat >conftest.$ac_ext <<_ACEOF
+
+#include <db.h>
+#ifndef DB_VERSION_MINOR
+#      define DB_VERSION_MINOR 0
+#endif
+__db_version DB_VERSION_MINOR
+
+_ACEOF
+       set X `eval "$ac_cpp conftest.$ac_ext" | $EGREP __db_version` none none
+       ol_cv_bdb_minor=${3}
+
+fi
+echo "$as_me:$LINENO: result: $ol_cv_bdb_minor" >&5
+echo "${ECHO_T}$ol_cv_bdb_minor" >&6
+case $ol_cv_bdb_minor in [0-9]*) : ;; *)
+       { { echo "$as_me:$LINENO: error: Unknown Berkeley DB minor version in db.h" >&5
+echo "$as_me: error: Unknown Berkeley DB minor version in db.h" >&2;}
+   { (exit 1); exit 1; }; } ;;
+esac
+
+       echo "$as_me:$LINENO: checking if Berkeley DB version supported by BDB/HDB backends" >&5
+echo $ECHO_N "checking if Berkeley DB version supported by BDB/HDB backends... $ECHO_C" >&6
+if test "${ol_cv_bdb_compat+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
 
        cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -28582,105 +28158,54 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-#ifdef HAVE_DB_185_H
-# include <db_185.h>
-#else
-# include <db.h>
-#endif
+#include <db.h>
 
+ /* this check could be improved */
 #ifndef DB_VERSION_MAJOR
-# define DB_VERSION_MAJOR 1
+#      define DB_VERSION_MAJOR 1
 #endif
-
-#ifndef NULL
-#define NULL ((void*)0)
+#ifndef DB_VERSION_MINOR
+#      define DB_VERSION_MINOR 0
 #endif
 
-int
-main ()
-{
-
-#if DB_VERSION_MAJOR > 1
-       {
-               char *version;
-               int major, minor, patch;
-
-               version = db_version( &major, &minor, &patch );
-
-               if( major != DB_VERSION_MAJOR ||
-                       minor < DB_VERSION_MINOR )
-               {
-                       printf("Berkeley DB version mismatch\n"
-                               "\theader: %s\n\tlibrary: %s\n",
-                               DB_VERSION_STRING, version);
-                       return 1;
-               }
-       }
-#endif
+#define DB_VERSION_MM  ((DB_VERSION_MAJOR<<8)|DB_VERSION_MINOR)
 
-#if DB_VERSION_MAJOR > 2
-       db_env_create( NULL, 0 );
-#elif DB_VERSION_MAJOR > 1
-       db_appexit( NULL );
-#else
-       (void) dbopen( NULL, 0, 0, 0, NULL);
+/* require 4.4 or later */
+#if DB_VERSION_MM >= 0x0404
+       __db_version_compat
 #endif
 
-  ;
-  return 0;
-}
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ol_cv_db_db3=yes
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "__db_version_compat" >/dev/null 2>&1; then
+  ol_cv_bdb_compat=yes
 else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ol_cv_db_db3=no
+  ol_cv_bdb_compat=no
 fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-
-       LIBS="$ol_LIBS"
+rm -f conftest*
 
 fi
-echo "$as_me:$LINENO: result: $ol_cv_db_db3" >&5
-echo "${ECHO_T}$ol_cv_db_db3" >&6
+echo "$as_me:$LINENO: result: $ol_cv_bdb_compat" >&5
+echo "${ECHO_T}$ol_cv_bdb_compat" >&6
 
-       if test $ol_cv_db_db3 = yes ; then
-               ol_cv_lib_db=-ldb3
+
+       if test $ol_cv_bdb_compat != yes ; then
+               { { echo "$as_me:$LINENO: error: BerkeleyDB version incompatible with BDB/HDB backends" >&5
+echo "$as_me: error: BerkeleyDB version incompatible with BDB/HDB backends" >&2;}
+   { (exit 1); exit 1; }; }
        fi
-fi
 
+       ol_cv_lib_db=no
+
+if test $ol_cv_bdb_major = 4 ; then
        if test $ol_cv_lib_db = no ; then
-       echo "$as_me:$LINENO: checking for Berkeley DB link (-ldb-3)" >&5
-echo $ECHO_N "checking for Berkeley DB link (-ldb-3)... $ECHO_C" >&6
-if test "${ol_cv_db_db_3+set}" = set; then
+       echo "$as_me:$LINENO: checking for Berkeley DB link (-ldb-4.$ol_cv_bdb_minor)" >&5
+echo $ECHO_N "checking for Berkeley DB link (-ldb-4.$ol_cv_bdb_minor)... $ECHO_C" >&6
+if test "${ol_cv_db_db_4_dot_m+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
-       ol_DB_LIB=-ldb-3
+       ol_DB_LIB=-ldb-4.$ol_cv_bdb_minor
        ol_LIBS=$LIBS
        LIBS="$ol_DB_LIB $LTHREAD_LIBS $LIBS"
 
@@ -28709,24 +28234,6 @@ int
 main ()
 {
 
-#if DB_VERSION_MAJOR > 1
-       {
-               char *version;
-               int major, minor, patch;
-
-               version = db_version( &major, &minor, &patch );
-
-               if( major != DB_VERSION_MAJOR ||
-                       minor < DB_VERSION_MINOR )
-               {
-                       printf("Berkeley DB version mismatch\n"
-                               "\theader: %s\n\tlibrary: %s\n",
-                               DB_VERSION_STRING, version);
-                       return 1;
-               }
-       }
-#endif
-
 #if DB_VERSION_MAJOR > 2
        db_env_create( NULL, 0 );
 #elif DB_VERSION_MAJOR > 1
@@ -28761,12 +28268,12 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_db_db_3=yes
+  ol_cv_db_db_4_dot_m=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ol_cv_db_db_3=no
+ol_cv_db_db_4_dot_m=no
 fi
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
@@ -28774,24 +28281,22 @@ rm -f conftest.err conftest.$ac_objext \
        LIBS="$ol_LIBS"
 
 fi
-echo "$as_me:$LINENO: result: $ol_cv_db_db_3" >&5
-echo "${ECHO_T}$ol_cv_db_db_3" >&6
+echo "$as_me:$LINENO: result: $ol_cv_db_db_4_dot_m" >&5
+echo "${ECHO_T}$ol_cv_db_db_4_dot_m" >&6
 
-       if test $ol_cv_db_db_3 = yes ; then
-               ol_cv_lib_db=-ldb-3
+       if test $ol_cv_db_db_4_dot_m = yes ; then
+               ol_cv_lib_db=-ldb-4.$ol_cv_bdb_minor
        fi
 fi
 
-
-elif test $ol_cv_bdb_major = 2 ; then
        if test $ol_cv_lib_db = no ; then
-       echo "$as_me:$LINENO: checking for Berkeley DB link (-ldb2)" >&5
-echo $ECHO_N "checking for Berkeley DB link (-ldb2)... $ECHO_C" >&6
-if test "${ol_cv_db_db2+set}" = set; then
+       echo "$as_me:$LINENO: checking for Berkeley DB link (-ldb4$ol_cv_bdb_minor)" >&5
+echo $ECHO_N "checking for Berkeley DB link (-ldb4$ol_cv_bdb_minor)... $ECHO_C" >&6
+if test "${ol_cv_db_db4m+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
-       ol_DB_LIB=-ldb2
+       ol_DB_LIB=-ldb4$ol_cv_bdb_minor
        ol_LIBS=$LIBS
        LIBS="$ol_DB_LIB $LTHREAD_LIBS $LIBS"
 
@@ -28820,24 +28325,6 @@ int
 main ()
 {
 
-#if DB_VERSION_MAJOR > 1
-       {
-               char *version;
-               int major, minor, patch;
-
-               version = db_version( &major, &minor, &patch );
-
-               if( major != DB_VERSION_MAJOR ||
-                       minor < DB_VERSION_MINOR )
-               {
-                       printf("Berkeley DB version mismatch\n"
-                               "\theader: %s\n\tlibrary: %s\n",
-                               DB_VERSION_STRING, version);
-                       return 1;
-               }
-       }
-#endif
-
 #if DB_VERSION_MAJOR > 2
        db_env_create( NULL, 0 );
 #elif DB_VERSION_MAJOR > 1
@@ -28872,12 +28359,12 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_db_db2=yes
+  ol_cv_db_db4m=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ol_cv_db_db2=no
+ol_cv_db_db4m=no
 fi
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
@@ -28885,22 +28372,22 @@ rm -f conftest.err conftest.$ac_objext \
        LIBS="$ol_LIBS"
 
 fi
-echo "$as_me:$LINENO: result: $ol_cv_db_db2" >&5
-echo "${ECHO_T}$ol_cv_db_db2" >&6
+echo "$as_me:$LINENO: result: $ol_cv_db_db4m" >&5
+echo "${ECHO_T}$ol_cv_db_db4m" >&6
 
-       if test $ol_cv_db_db2 = yes ; then
-               ol_cv_lib_db=-ldb2
+       if test $ol_cv_db_db4m = yes ; then
+               ol_cv_lib_db=-ldb4$ol_cv_bdb_minor
        fi
 fi
 
        if test $ol_cv_lib_db = no ; then
-       echo "$as_me:$LINENO: checking for Berkeley DB link (-ldb-2)" >&5
-echo $ECHO_N "checking for Berkeley DB link (-ldb-2)... $ECHO_C" >&6
-if test "${ol_cv_db_db_2+set}" = set; then
+       echo "$as_me:$LINENO: checking for Berkeley DB link (-ldb-4$ol_cv_bdb_minor)" >&5
+echo $ECHO_N "checking for Berkeley DB link (-ldb-4$ol_cv_bdb_minor)... $ECHO_C" >&6
+if test "${ol_cv_db_db_4m+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
-       ol_DB_LIB=-ldb-2
+       ol_DB_LIB=-ldb-4$ol_cv_bdb_minor
        ol_LIBS=$LIBS
        LIBS="$ol_DB_LIB $LTHREAD_LIBS $LIBS"
 
@@ -28929,24 +28416,6 @@ int
 main ()
 {
 
-#if DB_VERSION_MAJOR > 1
-       {
-               char *version;
-               int major, minor, patch;
-
-               version = db_version( &major, &minor, &patch );
-
-               if( major != DB_VERSION_MAJOR ||
-                       minor < DB_VERSION_MINOR )
-               {
-                       printf("Berkeley DB version mismatch\n"
-                               "\theader: %s\n\tlibrary: %s\n",
-                               DB_VERSION_STRING, version);
-                       return 1;
-               }
-       }
-#endif
-
 #if DB_VERSION_MAJOR > 2
        db_env_create( NULL, 0 );
 #elif DB_VERSION_MAJOR > 1
@@ -28981,12 +28450,12 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_db_db_2=yes
+  ol_cv_db_db_4m=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ol_cv_db_db_2=no
+ol_cv_db_db_4m=no
 fi
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
@@ -28994,24 +28463,22 @@ rm -f conftest.err conftest.$ac_objext \
        LIBS="$ol_LIBS"
 
 fi
-echo "$as_me:$LINENO: result: $ol_cv_db_db_2" >&5
-echo "${ECHO_T}$ol_cv_db_db_2" >&6
+echo "$as_me:$LINENO: result: $ol_cv_db_db_4m" >&5
+echo "${ECHO_T}$ol_cv_db_db_4m" >&6
 
-       if test $ol_cv_db_db_2 = yes ; then
-               ol_cv_lib_db=-ldb-2
+       if test $ol_cv_db_db_4m = yes ; then
+               ol_cv_lib_db=-ldb-4$ol_cv_bdb_minor
        fi
 fi
 
-
-elif test $ol_cv_bdb_major = 1 ; then
        if test $ol_cv_lib_db = no ; then
-       echo "$as_me:$LINENO: checking for Berkeley DB link (-ldb1)" >&5
-echo $ECHO_N "checking for Berkeley DB link (-ldb1)... $ECHO_C" >&6
-if test "${ol_cv_db_db1+set}" = set; then
+       echo "$as_me:$LINENO: checking for Berkeley DB link (-ldb-4-$ol_cv_bdb_minor)" >&5
+echo $ECHO_N "checking for Berkeley DB link (-ldb-4-$ol_cv_bdb_minor)... $ECHO_C" >&6
+if test "${ol_cv_db_db_4_m+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
-       ol_DB_LIB=-ldb1
+       ol_DB_LIB=-ldb-4-$ol_cv_bdb_minor
        ol_LIBS=$LIBS
        LIBS="$ol_DB_LIB $LTHREAD_LIBS $LIBS"
 
@@ -29040,24 +28507,97 @@ int
 main ()
 {
 
-#if DB_VERSION_MAJOR > 1
-       {
-               char *version;
-               int major, minor, patch;
-
-               version = db_version( &major, &minor, &patch );
-
-               if( major != DB_VERSION_MAJOR ||
-                       minor < DB_VERSION_MINOR )
-               {
-                       printf("Berkeley DB version mismatch\n"
-                               "\theader: %s\n\tlibrary: %s\n",
-                               DB_VERSION_STRING, version);
-                       return 1;
-               }
-       }
+#if DB_VERSION_MAJOR > 2
+       db_env_create( NULL, 0 );
+#elif DB_VERSION_MAJOR > 1
+       db_appexit( NULL );
+#else
+       (void) dbopen( NULL, 0, 0, 0, NULL);
 #endif
 
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ol_cv_db_db_4_m=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ol_cv_db_db_4_m=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+
+       LIBS="$ol_LIBS"
+
+fi
+echo "$as_me:$LINENO: result: $ol_cv_db_db_4_m" >&5
+echo "${ECHO_T}$ol_cv_db_db_4_m" >&6
+
+       if test $ol_cv_db_db_4_m = yes ; then
+               ol_cv_lib_db=-ldb-4-$ol_cv_bdb_minor
+       fi
+fi
+
+       if test $ol_cv_lib_db = no ; then
+       echo "$as_me:$LINENO: checking for Berkeley DB link (-ldb-4)" >&5
+echo $ECHO_N "checking for Berkeley DB link (-ldb-4)... $ECHO_C" >&6
+if test "${ol_cv_db_db_4+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+       ol_DB_LIB=-ldb-4
+       ol_LIBS=$LIBS
+       LIBS="$ol_DB_LIB $LTHREAD_LIBS $LIBS"
+
+       cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#ifdef HAVE_DB_185_H
+# include <db_185.h>
+#else
+# include <db.h>
+#endif
+
+#ifndef DB_VERSION_MAJOR
+# define DB_VERSION_MAJOR 1
+#endif
+
+#ifndef NULL
+#define NULL ((void*)0)
+#endif
+
+int
+main ()
+{
+
 #if DB_VERSION_MAJOR > 2
        db_env_create( NULL, 0 );
 #elif DB_VERSION_MAJOR > 1
@@ -29092,12 +28632,12 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_db_db1=yes
+  ol_cv_db_db_4=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ol_cv_db_db1=no
+ol_cv_db_db_4=no
 fi
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
@@ -29105,22 +28645,22 @@ rm -f conftest.err conftest.$ac_objext \
        LIBS="$ol_LIBS"
 
 fi
-echo "$as_me:$LINENO: result: $ol_cv_db_db1" >&5
-echo "${ECHO_T}$ol_cv_db_db1" >&6
+echo "$as_me:$LINENO: result: $ol_cv_db_db_4" >&5
+echo "${ECHO_T}$ol_cv_db_db_4" >&6
 
-       if test $ol_cv_db_db1 = yes ; then
-               ol_cv_lib_db=-ldb1
+       if test $ol_cv_db_db_4 = yes ; then
+               ol_cv_lib_db=-ldb-4
        fi
 fi
 
        if test $ol_cv_lib_db = no ; then
-       echo "$as_me:$LINENO: checking for Berkeley DB link (-ldb-1)" >&5
-echo $ECHO_N "checking for Berkeley DB link (-ldb-1)... $ECHO_C" >&6
-if test "${ol_cv_db_db_1+set}" = set; then
+       echo "$as_me:$LINENO: checking for Berkeley DB link (-ldb4)" >&5
+echo $ECHO_N "checking for Berkeley DB link (-ldb4)... $ECHO_C" >&6
+if test "${ol_cv_db_db4+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
-       ol_DB_LIB=-ldb-1
+       ol_DB_LIB=-ldb4
        ol_LIBS=$LIBS
        LIBS="$ol_DB_LIB $LTHREAD_LIBS $LIBS"
 
@@ -29149,24 +28689,97 @@ int
 main ()
 {
 
-#if DB_VERSION_MAJOR > 1
-       {
-               char *version;
-               int major, minor, patch;
-
-               version = db_version( &major, &minor, &patch );
-
-               if( major != DB_VERSION_MAJOR ||
-                       minor < DB_VERSION_MINOR )
-               {
-                       printf("Berkeley DB version mismatch\n"
-                               "\theader: %s\n\tlibrary: %s\n",
-                               DB_VERSION_STRING, version);
-                       return 1;
-               }
-       }
+#if DB_VERSION_MAJOR > 2
+       db_env_create( NULL, 0 );
+#elif DB_VERSION_MAJOR > 1
+       db_appexit( NULL );
+#else
+       (void) dbopen( NULL, 0, 0, 0, NULL);
 #endif
 
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ol_cv_db_db4=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ol_cv_db_db4=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+
+       LIBS="$ol_LIBS"
+
+fi
+echo "$as_me:$LINENO: result: $ol_cv_db_db4" >&5
+echo "${ECHO_T}$ol_cv_db_db4" >&6
+
+       if test $ol_cv_db_db4 = yes ; then
+               ol_cv_lib_db=-ldb4
+       fi
+fi
+
+       if test $ol_cv_lib_db = no ; then
+       echo "$as_me:$LINENO: checking for Berkeley DB link (-ldb)" >&5
+echo $ECHO_N "checking for Berkeley DB link (-ldb)... $ECHO_C" >&6
+if test "${ol_cv_db_db+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+       ol_DB_LIB=-ldb
+       ol_LIBS=$LIBS
+       LIBS="$ol_DB_LIB $LTHREAD_LIBS $LIBS"
+
+       cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#ifdef HAVE_DB_185_H
+# include <db_185.h>
+#else
+# include <db.h>
+#endif
+
+#ifndef DB_VERSION_MAJOR
+# define DB_VERSION_MAJOR 1
+#endif
+
+#ifndef NULL
+#define NULL ((void*)0)
+#endif
+
+int
+main ()
+{
+
 #if DB_VERSION_MAJOR > 2
        db_env_create( NULL, 0 );
 #elif DB_VERSION_MAJOR > 1
@@ -29201,12 +28814,12 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ol_cv_db_db_1=yes
+  ol_cv_db_db=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ol_cv_db_db_1=no
+ol_cv_db_db=no
 fi
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
@@ -29214,11 +28827,11 @@ rm -f conftest.err conftest.$ac_objext \
        LIBS="$ol_LIBS"
 
 fi
-echo "$as_me:$LINENO: result: $ol_cv_db_db_1" >&5
-echo "${ECHO_T}$ol_cv_db_db_1" >&6
+echo "$as_me:$LINENO: result: $ol_cv_db_db" >&5
+echo "${ECHO_T}$ol_cv_db_db" >&6
 
-       if test $ol_cv_db_db_1 = yes ; then
-               ol_cv_lib_db=-ldb-1
+       if test $ol_cv_db_db = yes ; then
+               ol_cv_lib_db=-ldb
        fi
 fi
 
@@ -29259,24 +28872,6 @@ int
 main ()
 {
 
-#if DB_VERSION_MAJOR > 1
-       {
-               char *version;
-               int major, minor, patch;
-
-               version = db_version( &major, &minor, &patch );
-
-               if( major != DB_VERSION_MAJOR ||
-                       minor < DB_VERSION_MINOR )
-               {
-                       printf("Berkeley DB version mismatch\n"
-                               "\theader: %s\n\tlibrary: %s\n",
-                               DB_VERSION_STRING, version);
-                       return 1;
-               }
-       }
-#endif
-
 #if DB_VERSION_MAJOR > 2
        db_env_create( NULL, 0 );
 #elif DB_VERSION_MAJOR > 1
@@ -29335,8 +28930,8 @@ fi
 
        if test "$ol_cv_lib_db" != no ; then
                ol_cv_berkeley_db=yes
-               echo "$as_me:$LINENO: checking for Berkeley DB version match" >&5
-echo $ECHO_N "checking for Berkeley DB version match... $ECHO_C" >&6
+               echo "$as_me:$LINENO: checking for Berkeley DB library and header version match" >&5
+echo $ECHO_N "checking for Berkeley DB library and header version match... $ECHO_C" >&6
 if test "${ol_cv_berkeley_db_version+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -29568,56 +29163,6 @@ _ACEOF
                BDB_LIBS="$BDB_LIBS $ol_cv_lib_db"
        fi
 
-       echo "$as_me:$LINENO: checking Berkeley DB version for BDB/HDB backends" >&5
-echo $ECHO_N "checking Berkeley DB version for BDB/HDB backends... $ECHO_C" >&6
-if test "${ol_cv_bdb_compat+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-       cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#include <db.h>
-
- /* this check could be improved */
-#ifndef DB_VERSION_MAJOR
-#      define DB_VERSION_MAJOR 1
-#endif
-#ifndef DB_VERSION_MINOR
-#      define DB_VERSION_MINOR 0
-#endif
-
-#define DB_VERSION_MM  ((DB_VERSION_MAJOR<<8)|DB_VERSION_MINOR)
-
-/* require 4.4 or later */
-#if DB_VERSION_MM >= 0x0404
-       __db_version_compat
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "__db_version_compat" >/dev/null 2>&1; then
-  ol_cv_bdb_compat=yes
-else
-  ol_cv_bdb_compat=no
-fi
-rm -f conftest*
-
-fi
-echo "$as_me:$LINENO: result: $ol_cv_bdb_compat" >&5
-echo "${ECHO_T}$ol_cv_bdb_compat" >&6
-
-
-       if test $ol_cv_bdb_compat != yes ; then
-               { { echo "$as_me:$LINENO: error: BDB/HDB: BerkeleyDB version incompatible" >&5
-echo "$as_me: error: BDB/HDB: BerkeleyDB version incompatible" >&2;}
-   { (exit 1); exit 1; }; }
-       fi
-
        SLAPD_LIBS="$SLAPD_LIBS \$(BDB_LIBS)"
 
        ol_link_bdb=yes
@@ -30547,8 +30092,7 @@ rm -f conftest.err conftest.$ac_ext
        save_LDFLAGS="$LDFLAGS"
        save_LIBS="$LIBS"
        LDFLAGS="$SQL_LIB"
-
-echo "$as_me:$LINENO: checking for ndb_init in -lndbclient" >&5
+       echo "$as_me:$LINENO: checking for ndb_init in -lndbclient" >&5
 echo $ECHO_N "checking for ndb_init in -lndbclient... $ECHO_C" >&6
 if test "${ac_cv_lib_ndbclient_ndb_init+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 echo "$as_me:$LINENO: result: $ac_cv_lib_ndbclient_ndb_init" >&5
 echo "${ECHO_T}$ac_cv_lib_ndbclient_ndb_init" >&6
 if test $ac_cv_lib_ndbclient_ndb_init = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBNDBCLIENT 1
-_ACEOF
-
-  LIBS="-lndbclient $LIBS"
-
+  : ok
 else
 
                { { echo "$as_me:$LINENO: error: could not locate ndbclient library" >&5
@@ -37570,6 +37109,7 @@ fi
 
 
 
+
 
 
 for ac_func in \
@@ -37582,6 +37122,7 @@ for ac_func in \
        flock                   \
        fstat                   \
        getdtablesize           \
+       geteuid                 \
        getgrgid                \
        gethostname             \
        getpass                 \
@@ -39125,6 +38666,22 @@ _ACEOF
 
 fi
 
+if test "$ol_enable_collect" != no ; then
+        BUILD_COLLECT=$ol_enable_collect
+        if test "$ol_enable_collect" = mod ; then
+                MFLAG=SLAPD_MOD_DYNAMIC
+                SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS collect.la"
+        else
+                MFLAG=SLAPD_MOD_STATIC
+                SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS collect.o"
+        fi
+
+cat >>confdefs.h <<_ACEOF
+#define SLAPD_OVER_COLLECT $MFLAG
+_ACEOF
+
+fi
+
 if test "$ol_enable_constraint" != no ; then
        BUILD_CONSTRAINT=$ol_enable_constraint
        if test "$ol_enable_constraint" = mod ; then
@@ -39157,6 +38714,22 @@ _ACEOF
 
 fi
 
+if test "$ol_enable_deref" != no ; then
+       BUILD_DDS=$ol_enable_deref
+       if test "$ol_enable_deref" = mod ; then
+               MFLAG=SLAPD_MOD_DYNAMIC
+               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS deref.la"
+       else
+               MFLAG=SLAPD_MOD_STATIC
+               SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS deref.o"
+       fi
+
+cat >>confdefs.h <<_ACEOF
+#define SLAPD_OVER_DEREF $MFLAG
+_ACEOF
+
+fi
+
 if test "$ol_enable_dyngroup" != no ; then
        BUILD_DYNGROUP=$ol_enable_dyngroup
        if test "$ol_enable_dyngroup" = mod ; then
@@ -39478,6 +39051,8 @@ fi
 
 
 
+
+
 
 
 
@@ -40233,6 +39808,7 @@ s,@BUILD_SOCK@,$BUILD_SOCK,;t t
 s,@BUILD_SQL@,$BUILD_SQL,;t t
 s,@BUILD_ACCESSLOG@,$BUILD_ACCESSLOG,;t t
 s,@BUILD_AUDITLOG@,$BUILD_AUDITLOG,;t t
+s,@BUILD_COLLECT@,$BUILD_COLLECT,;t t
 s,@BUILD_CONSTRAINT@,$BUILD_CONSTRAINT,;t t
 s,@BUILD_DDS@,$BUILD_DDS,;t t
 s,@BUILD_DENYOP@,$BUILD_DENYOP,;t t
@@ -40271,6 +39847,7 @@ s,@MOD_PERL_LDFLAGS@,$MOD_PERL_LDFLAGS,;t t
 s,@KRB4_LIBS@,$KRB4_LIBS,;t t
 s,@KRB5_LIBS@,$KRB5_LIBS,;t t
 s,@SASL_LIBS@,$SASL_LIBS,;t t
+s,@GSSAPI_LIBS@,$GSSAPI_LIBS,;t t
 s,@TLS_LIBS@,$TLS_LIBS,;t t
 s,@MODULES_LIBS@,$MODULES_LIBS,;t t
 s,@SLAPI_LIBS@,$SLAPI_LIBS,;t t