]> git.sur5r.net Git - openldap/blobdiff - configure.in
Suggested changes from Kurt.
[openldap] / configure.in
index 0ae38989490ca9b08cbcab773fd5cfc3e90a1601..6e395ac288ebc7fff70b0fb15ed2c8fdf35e327e 100644 (file)
@@ -1,7 +1,7 @@
 dnl $OpenLDAP$
 dnl This work is part of OpenLDAP Software <http://www.openldap.org/>.
 dnl
 dnl $OpenLDAP$
 dnl This work is part of OpenLDAP Software <http://www.openldap.org/>.
 dnl
-dnl Copyright 1998-2007 The OpenLDAP Foundation.
+dnl Copyright 1998-2008 The OpenLDAP Foundation.
 dnl All rights reserved.
 dnl
 dnl Redistribution and use in source and binary forms, with or without
 dnl All rights reserved.
 dnl
 dnl Redistribution and use in source and binary forms, with or without
@@ -23,7 +23,7 @@ define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
 define([AC_LIBTOOL_LANG_GCJ_CONFIG], [:])dnl
 dnl ================================================================
 dnl Configure.in for OpenLDAP
 define([AC_LIBTOOL_LANG_GCJ_CONFIG], [:])dnl
 dnl ================================================================
 dnl Configure.in for OpenLDAP
-AC_COPYRIGHT([[Copyright 1998-2007 The OpenLDAP Foundation. All rights reserved.
+AC_COPYRIGHT([[Copyright 1998-2008 The OpenLDAP Foundation. All rights reserved.
 Restrictions apply, see COPYRIGHT and LICENSE files.]])
 AC_REVISION([$OpenLDAP$])
 AC_INIT([OpenLDAP],,[http://www.openldap.org/its/])
 Restrictions apply, see COPYRIGHT and LICENSE files.]])
 AC_REVISION([$OpenLDAP$])
 AC_INIT([OpenLDAP],,[http://www.openldap.org/its/])
@@ -50,8 +50,11 @@ fi
 SHTOOL="$ac_cv_shtool"
 dnl AC_SUBST(SHTOOL)dnl
 
 SHTOOL="$ac_cv_shtool"
 dnl AC_SUBST(SHTOOL)dnl
 
-TB="`$SHTOOL echo -e '%B' 2>/dev/null`"
-TN="`$SHTOOL echo -e '%b' 2>/dev/null`"
+TB="" TN=""
+if test -t 1; then
+       TB="`$SHTOOL echo -e '%B' 2>/dev/null`"
+       TN="`$SHTOOL echo -e '%b' 2>/dev/null`"
+fi
 
 OPENLDAP_CVS=""
 if test -d $ac_aux_dir/CVS; then
 
 OPENLDAP_CVS=""
 if test -d $ac_aux_dir/CVS; then
@@ -93,7 +96,7 @@ AH_TOP([
 /* begin of portable.h.pre */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
 /* begin of portable.h.pre */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2007 The OpenLDAP Foundation
+ * Copyright 1998-2008 The OpenLDAP Foundation
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -241,8 +244,8 @@ OL_ARG_WITH(fetch,[  --with-fetch             with fetch(3) URL support],
        auto, [auto yes no] )
 OL_ARG_WITH(threads,[  --with-threads    with threads],
        auto, [auto nt posix mach pth lwp yes no manual] )
        auto, [auto yes no] )
 OL_ARG_WITH(threads,[  --with-threads    with threads],
        auto, [auto nt posix mach pth lwp yes no manual] )
-OL_ARG_WITH(tls,[  --with-tls            with TLS/SSL support],
-       auto, [auto openssl yes no] )
+OL_ARG_WITH(tls,[  --with-tls            with TLS/SSL support auto|openssl|gnutls],
+       auto, [auto openssl gnutls yes no] )
 OL_ARG_WITH(yielding_select,
        [  --with-yielding-select  with implicitly yielding select],
        auto, [auto yes no manual] )
 OL_ARG_WITH(yielding_select,
        [  --with-yielding-select  with implicitly yielding select],
        auto, [auto yes no manual] )
@@ -250,8 +253,8 @@ OL_ARG_WITH(mp,
        [  --with-mp               with multiple precision statistics auto|longlong|long|bignum|gmp],
        auto, [auto longlong long bignum gmp yes no])
 OL_ARG_WITH(odbc,
        [  --with-mp               with multiple precision statistics auto|longlong|long|bignum|gmp],
        auto, [auto longlong long bignum gmp yes no])
 OL_ARG_WITH(odbc,
-       [  --with-odbc             with specific ODBC support iodbc|unixodbc|auto],
-       auto, [auto iodbc unixodbc] )
+       [  --with-odbc             with specific ODBC support iodbc|unixodbc|odbc32|auto],
+       auto, [auto iodbc unixodbc odbc32] )
 
 dnl ----------------------------------------------------------------
 dnl Server options
 
 dnl ----------------------------------------------------------------
 dnl Server options
@@ -283,11 +286,13 @@ Backends="bdb \
        ldap \
        meta \
        monitor \
        ldap \
        meta \
        monitor \
+       ndb \
        null \
        passwd \
        perl \
        relay \
        shell \
        null \
        passwd \
        perl \
        relay \
        shell \
+       sock \
        sql"
 
 AC_ARG_ENABLE(xxslapbackends,[
        sql"
 
 AC_ARG_ENABLE(xxslapbackends,[
@@ -307,6 +312,8 @@ OL_ARG_ENABLE(meta,[    --enable-meta         enable metadirectory backend],
        no, [no yes mod], ol_enable_backends)dnl
 OL_ARG_ENABLE(monitor,[    --enable-monitor      enable monitor backend],
        yes, [no yes mod], ol_enable_backends)dnl
        no, [no yes mod], ol_enable_backends)dnl
 OL_ARG_ENABLE(monitor,[    --enable-monitor      enable monitor backend],
        yes, [no yes mod], ol_enable_backends)dnl
+OL_ARG_ENABLE(ndb,[    --enable-ndb      enable MySQL NDB Cluster backend],
+       no, [no yes mod], ol_enable_backends)dnl
 OL_ARG_ENABLE(null,[    --enable-null    enable null backend],
        no, [no yes mod], ol_enable_backends)dnl
 OL_ARG_ENABLE(passwd,[    --enable-passwd        enable passwd backend],
 OL_ARG_ENABLE(null,[    --enable-null    enable null backend],
        no, [no yes mod], ol_enable_backends)dnl
 OL_ARG_ENABLE(passwd,[    --enable-passwd        enable passwd backend],
@@ -317,6 +324,8 @@ OL_ARG_ENABLE(relay,[    --enable-relay       enable relay backend],
        yes, [no yes mod], ol_enable_backends)dnl
 OL_ARG_ENABLE(shell,[    --enable-shell          enable shell backend],
        no, [no yes mod], ol_enable_backends)dnl
        yes, [no yes mod], ol_enable_backends)dnl
 OL_ARG_ENABLE(shell,[    --enable-shell          enable shell backend],
        no, [no yes mod], ol_enable_backends)dnl
+OL_ARG_ENABLE(sock,[    --enable-sock    enable sock backend],
+       no, [no yes mod], ol_enable_backends)dnl
 OL_ARG_ENABLE(sql,[    --enable-sql      enable sql backend],
        no, [no yes mod], ol_enable_backends)dnl
 
 OL_ARG_ENABLE(sql,[    --enable-sql      enable sql backend],
        no, [no yes mod], ol_enable_backends)dnl
 
@@ -324,10 +333,12 @@ dnl ----------------------------------------------------------------
 dnl SLAPD Overlay Options
 Overlays="accesslog \
        auditlog \
 dnl SLAPD Overlay Options
 Overlays="accesslog \
        auditlog \
+       collect \
        constraint \
        dds \
        dyngroup \
        dynlist \
        constraint \
        dds \
        dyngroup \
        dynlist \
+       memberof \
        ppolicy \
        proxycache \
        refint \
        ppolicy \
        proxycache \
        refint \
@@ -348,6 +359,8 @@ OL_ARG_ENABLE(accesslog,[    --enable-accesslog       In-Directory Access Logging ov
        no, [no yes mod], ol_enable_overlays)
 OL_ARG_ENABLE(auditlog,[    --enable-auditlog    Audit Logging overlay],
        no, [no yes mod], ol_enable_overlays)
        no, [no yes mod], ol_enable_overlays)
 OL_ARG_ENABLE(auditlog,[    --enable-auditlog    Audit Logging overlay],
        no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(collect,[    --enable-collect      Collect overlay],
+       no, [no yes mod], ol_enable_overlays)
 OL_ARG_ENABLE(constraint,[    --enable-constraint        Attribute Constraint overlay],
        no, [no yes mod], ol_enable_overlays)
 OL_ARG_ENABLE(dds,[    --enable-dds      Dynamic Directory Services overlay],
 OL_ARG_ENABLE(constraint,[    --enable-constraint        Attribute Constraint overlay],
        no, [no yes mod], ol_enable_overlays)
 OL_ARG_ENABLE(dds,[    --enable-dds      Dynamic Directory Services overlay],
@@ -356,6 +369,8 @@ OL_ARG_ENABLE(dyngroup,[    --enable-dyngroup         Dynamic Group overlay],
        no, [no yes mod], ol_enable_overlays)
 OL_ARG_ENABLE(dynlist,[    --enable-dynlist      Dynamic List overlay],
        no, [no yes mod], ol_enable_overlays)
        no, [no yes mod], ol_enable_overlays)
 OL_ARG_ENABLE(dynlist,[    --enable-dynlist      Dynamic List overlay],
        no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(memberof,[    --enable-memberof    Reverse Group Membership overlay],
+       no, [no yes mod], ol_enable_overlays)
 OL_ARG_ENABLE(ppolicy,[    --enable-ppolicy      Password Policy overlay],
        no, [no yes mod], ol_enable_overlays)
 OL_ARG_ENABLE(proxycache,[    --enable-proxycache        Proxy Cache overlay],
 OL_ARG_ENABLE(ppolicy,[    --enable-ppolicy      Password Policy overlay],
        no, [no yes mod], ol_enable_overlays)
 OL_ARG_ENABLE(proxycache,[    --enable-proxycache        Proxy Cache overlay],
@@ -451,11 +466,13 @@ elif test $ol_enable_modules != yes &&
        test $ol_enable_ldap = no &&
        test $ol_enable_meta = no &&
        test $ol_enable_monitor = no &&
        test $ol_enable_ldap = no &&
        test $ol_enable_meta = no &&
        test $ol_enable_monitor = no &&
+       test $ol_enable_ndb = no &&
        test $ol_enable_null = no &&
        test $ol_enable_passwd = no &&
        test $ol_enable_perl = no &&
        test $ol_enable_relay = no &&
        test $ol_enable_shell = no &&
        test $ol_enable_null = no &&
        test $ol_enable_passwd = no &&
        test $ol_enable_perl = no &&
        test $ol_enable_relay = no &&
        test $ol_enable_shell = no &&
+       test $ol_enable_sock = no &&
        test $ol_enable_sql = no ; then
        dnl no slapd backend
 
        test $ol_enable_sql = no ; then
        dnl no slapd backend
 
@@ -490,6 +507,8 @@ dnl ----------------------------------------------------------------
 dnl Initialize vars
 LDAP_LIBS=
 BDB_LIBS=
 dnl Initialize vars
 LDAP_LIBS=
 BDB_LIBS=
+SLAPD_NDB_LIBS=
+SLAPD_NDB_INCS=
 LTHREAD_LIBS=
 LUTIL_LIBS=
 
 LTHREAD_LIBS=
 LUTIL_LIBS=
 
@@ -508,11 +527,13 @@ BUILD_HDB=no
 BUILD_LDAP=no
 BUILD_META=no
 BUILD_MONITOR=no
 BUILD_LDAP=no
 BUILD_META=no
 BUILD_MONITOR=no
+BUILD_NDB=no
 BUILD_NULL=no
 BUILD_PASSWD=no
 BUILD_PERL=no
 BUILD_RELAY=no
 BUILD_SHELL=no
 BUILD_NULL=no
 BUILD_PASSWD=no
 BUILD_PERL=no
 BUILD_RELAY=no
 BUILD_SHELL=no
+BUILD_SOCK=no
 BUILD_SQL=no
 
 BUILD_ACCESSLOG=no
 BUILD_SQL=no
 
 BUILD_ACCESSLOG=no
@@ -523,6 +544,7 @@ BUILD_DENYOP=no
 BUILD_DYNGROUP=no
 BUILD_DYNLIST=no
 BUILD_LASTMOD=no
 BUILD_DYNGROUP=no
 BUILD_DYNLIST=no
 BUILD_LASTMOD=no
+BUILD_MEMBEROF=no
 BUILD_PPOLICY=no
 BUILD_PROXYCACHE=no
 BUILD_REFINT=no
 BUILD_PPOLICY=no
 BUILD_PROXYCACHE=no
 BUILD_REFINT=no
@@ -1147,6 +1169,27 @@ if test $ol_with_tls = openssl || test $ol_with_tls = auto ; then
        fi
 fi
 
        fi
 fi
 
+if test $ol_link_tls = no ; then
+       if test $ol_with_tls = gnutls || test $ol_with_tls = auto ; then
+               AC_CHECK_HEADERS(gnutls/gnutls.h)
+
+               if test $ac_cv_header_gnutls_gnutls_h = yes ; then
+                       AC_CHECK_LIB(gnutls, gnutls_init,
+                               [have_gnutls=yes], [have_gnutls=no])
+
+                       if test $have_gnutls = yes ; then
+                               ol_with_tls=gnutls
+                               ol_link_tls=yes
+
+                               TLS_LIBS="-lgnutls"
+
+                               AC_DEFINE(HAVE_GNUTLS, 1, 
+                                       [define if you have GNUtls])
+                       fi
+               fi
+       fi
+fi
+
 WITH_TLS=no
 if test $ol_link_tls = yes ; then
        AC_DEFINE(HAVE_TLS, 1, [define if you have TLS])
 WITH_TLS=no
 if test $ol_link_tls = yes ; then
        AC_DEFINE(HAVE_TLS, 1, [define if you have TLS])
@@ -1807,12 +1850,6 @@ if test $ol_enable_bdb/$ol_enable_hdb != no/no; then
                BDB_LIBS="$BDB_LIBS $ol_cv_lib_db"
        fi
 
                BDB_LIBS="$BDB_LIBS $ol_cv_lib_db"
        fi
 
-       OL_BDB_COMPAT
-
-       if test $ol_cv_bdb_compat != yes ; then
-               AC_MSG_ERROR([BDB/HDB: BerkeleyDB version incompatible])
-       fi
-
        SLAPD_LIBS="$SLAPD_LIBS \$(BDB_LIBS)"
 
        ol_link_bdb=yes 
        SLAPD_LIBS="$SLAPD_LIBS \$(BDB_LIBS)"
 
        ol_link_bdb=yes 
@@ -1896,7 +1933,7 @@ if test $ol_enable_sql != no ; then
        LIBS="$LTHREAD_LIBS"
 
        if test $ol_with_odbc = auto ; then
        LIBS="$LTHREAD_LIBS"
 
        if test $ol_with_odbc = auto ; then
-               ol_with_odbc="iodbc unixodbc"
+               ol_with_odbc="iodbc unixodbc odbc32"
        fi
 
        for odbc in $ol_with_odbc ; do
        fi
 
        for odbc in $ol_with_odbc ; do
@@ -1916,6 +1953,13 @@ if test $ol_enable_sql != no ; then
                                fi
                                ;;
 
                                fi
                                ;;
 
+                       odbc32)
+                               AC_CHECK_LIB(odbc32, SQLDriverConnect, [have_odbc32=yes], [have_odbc32=no])
+                               if test $have_odbc32 = yes ; then
+                                       ol_link_sql="-lodbc32"
+                               fi
+                               ;;
+
                        *)
                                AC_MSG_ERROR([unknown ODBC library])
                                ;;
                        *)
                                AC_MSG_ERROR([unknown ODBC library])
                                ;;
@@ -1933,6 +1977,47 @@ if test $ol_enable_sql != no ; then
        fi
 fi
 
        fi
 fi
 
+dnl ----------------------------------------------------------------
+dnl MySQL NDBapi
+dnl Note: uses C++, but we don't want to add C++ test overhead to
+dnl the rest of the libtool machinery.
+ol_link_ndb=no
+if test $ol_enable_ndb != no ; then
+       AC_CHECK_PROG(MYSQL,mysql_config,yes)
+       if test "$MYSQL" != yes ; then
+               AC_MSG_ERROR([could not locate mysql_config])
+       fi
+
+       SQL_INC=`mysql_config --include`
+       SLAPD_NDB_INCS="$SQL_INC $SQL_INC/storage/ndb $SQL_INC/storage/ndb/ndbapi"
+
+       save_CPPFLAGS="$CPPFLAGS"
+       CPPFLAGS="$SLAPD_NDB_INCS"
+       AC_MSG_CHECKING(for NdbApi.hpp)
+       AC_PREPROC_IFELSE(
+               [AC_LANG_SOURCE([[#include <NdbApi.hpp>]])],
+                       AC_MSG_RESULT(yes),
+                       AC_MSG_ERROR([could not locate NdbApi headers])
+       )
+       CPPFLAGS="$save_CPPFLAGS"
+
+       SQL_LIB=`mysql_config --libs_r`
+       SLAPD_NDB_LIBS="$SQL_LIB -lndbclient -lstdc++"
+
+       save_LDFLAGS="$LDFLAGS"
+       save_LIBS="$LIBS"
+       LDFLAGS="$SQL_LIB"
+       AC_CHECK_LIB(ndbclient,ndb_init,[: ok],[
+               AC_MSG_ERROR([could not locate ndbclient library])
+       ],[-lstdc++])
+       LIBS="$save_LIBS"
+       LDFLAGS="$save_LDFLAGS"
+
+       if test "$ol_enable_ndb" = yes ; then
+               SLAPD_LIBS="$SLAPD_LIBS \$(SLAPD_NDB_LIBS)"
+       fi
+fi
+
 dnl ----------------------------------------------------------------
 dnl International Components for Unicode
 OL_ICU
 dnl ----------------------------------------------------------------
 dnl International Components for Unicode
 OL_ICU
@@ -2109,14 +2194,43 @@ AC_CHECK_TYPE(size_t, unsigned)
 AC_CHECK_TYPES([long long])
 AC_CHECK_TYPES([ptrdiff_t])
 
 AC_CHECK_TYPES([long long])
 AC_CHECK_TYPES([ptrdiff_t])
 
-AC_CHECK_TYPE([socklen_t],,
-       [AC_DEFINE_UNQUOTED([socklen_t], [int],
-               [Define to `int' if <sys/socket.h> does not define.])],
-       [$ac_includes_default
+
+AC_CHECK_TYPE([socklen_t],,, [$ac_includes_default
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif])
+
+dnl socklen_t-like type in accept(), default socklen_t or int:
+dnl - The OS might define socklen_t without using it.  POSIX moved from
+dnl   int to size_t to socklen_t, hoping to stay at a 32-bit type, and
+dnl   HP-UX now has selectors for what to use.
+dnl - On Solaris 2.8 the prototype has void *len, but the default is OK.
+AC_MSG_CHECKING([the type of arg 3 to accept()])
+AC_CACHE_VAL(ol_cv_type_ber_socklen_t, [
+       set socklen_t int unsigned "unsigned long" long size_t
+       test "$ac_cv_type_socklen_t" = yes || shift
+       ol_cv_type_ber_socklen_t=$1 guessing="guessing "
+       for lentype in "$@" ; do for addrtype in "struct sockaddr" void ; do
+               AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$ac_includes_default
 #ifdef HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
 #endif
 #ifdef HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
 #endif
-       ])
+extern int accept(int s, $addrtype *ap, $lentype *lp);
+], [
+accept(0, (struct sockaddr *) 0, ($lentype *) 0);
+])], [ol_cv_type_ber_socklen_t=$lentype guessing= ; break 2])
+       done ; done])
+AC_MSG_RESULT([$guessing$ol_cv_type_ber_socklen_t *])
+AC_DEFINE_UNQUOTED(ber_socklen_t, $ol_cv_type_ber_socklen_t,
+       [Define to the type of arg 3 for `accept'.])
+
+dnl Modules should use ber_socklen_t, not socklen_t.  Define socklen_t
+dnl for the time being anyway, for backwards compatibility.
+if test "$ac_cv_type_socklen_t" != yes; then
+       AC_DEFINE_UNQUOTED([socklen_t], [$ol_cv_type_ber_socklen_t],
+               [Define like ber_socklen_t if <sys/socket.h> does not define.])
+fi
+
 
 AC_TYPE_SIGNAL
 
 
 AC_TYPE_SIGNAL
 
@@ -2324,8 +2438,8 @@ if test "$ac_cv_func_getpeereid" != yes; then
                AC_CHECK_MEMBERS([struct stat.st_fstype, struct stat.st_vfstype])
                if test "$ac_cv_member_struct_stat_st_fstype" = yes; then
                        AC_COMPILE_IFELSE([struct stat st; char *ptr=st.st_fstype;],
                AC_CHECK_MEMBERS([struct stat.st_fstype, struct stat.st_vfstype])
                if test "$ac_cv_member_struct_stat_st_fstype" = yes; then
                        AC_COMPILE_IFELSE([struct stat st; char *ptr=st.st_fstype;],
-                               AC_DEFINE([HAVE_STRUCT_STAT_ST_FSTYPE_CHAR]),
-                               AC_DEFINE([HAVE_STRUCT_STAT_ST_FSTYPE_INT]))
+                               AC_DEFINE([HAVE_STRUCT_STAT_ST_FSTYPE_CHAR],1,[define to 1 if st_fstype is char *]),
+                               AC_DEFINE([HAVE_STRUCT_STAT_ST_FSTYPE_INT],1,[define to 1 if st_fstype is int]))
                fi
        fi
        LIBSRCS="$LIBSRCS getpeereid.c"
                fi
        fi
        LIBSRCS="$LIBSRCS getpeereid.c"
@@ -2510,6 +2624,19 @@ if test "$ol_enable_meta" != no ; then
        AC_DEFINE_UNQUOTED(SLAPD_META,$MFLAG,[define to support LDAP Metadirectory backend])
 fi
 
        AC_DEFINE_UNQUOTED(SLAPD_META,$MFLAG,[define to support LDAP Metadirectory backend])
 fi
 
+if test "$ol_enable_ndb" != no ; then
+       BUILD_SLAPD=yes
+       BUILD_NDB=$ol_enable_ndb
+       if test "$ol_enable_ndb" = mod ; then
+               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ndb"
+               MFLAG=SLAPD_MOD_DYNAMIC
+       else
+               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ndb"
+               MFLAG=SLAPD_MOD_STATIC
+       fi
+       AC_DEFINE_UNQUOTED(SLAPD_NDB,$MFLAG,[define to support NDB backend])
+fi
+
 if test "$ol_enable_null" != no ; then
        BUILD_SLAPD=yes
        BUILD_NULL=$ol_enable_null
 if test "$ol_enable_null" != no ; then
        BUILD_SLAPD=yes
        BUILD_NULL=$ol_enable_null
@@ -2578,6 +2705,19 @@ if test "$ol_enable_shell" != no ; then
        AC_DEFINE_UNQUOTED(SLAPD_SHELL,$MFLAG,[define to support SHELL backend])
 fi
 
        AC_DEFINE_UNQUOTED(SLAPD_SHELL,$MFLAG,[define to support SHELL backend])
 fi
 
+if test "$ol_enable_sock" != no ; then
+       BUILD_SLAPD=yes
+       BUILD_SOCK=$ol_enable_sock
+       if test "$ol_enable_sock" = mod ; then
+               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-sock"
+               MFLAG=SLAPD_MOD_DYNAMIC
+       else
+               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-sock"
+               MFLAG=SLAPD_MOD_STATIC
+       fi
+       AC_DEFINE_UNQUOTED(SLAPD_SOCK,$MFLAG,[define to support SOCK backend])
+fi
+
 if test "$ol_link_sql" != no ; then
        BUILD_SLAPD=yes
        BUILD_SQL=$ol_enable_sql
 if test "$ol_link_sql" != no ; then
        BUILD_SLAPD=yes
        BUILD_SQL=$ol_enable_sql
@@ -2615,6 +2755,18 @@ if test "$ol_enable_auditlog" != no ; then
        AC_DEFINE_UNQUOTED(SLAPD_OVER_AUDITLOG,$MFLAG,[define for Audit Logging overlay])
 fi
 
        AC_DEFINE_UNQUOTED(SLAPD_OVER_AUDITLOG,$MFLAG,[define for Audit Logging overlay])
 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
+        AC_DEFINE_UNQUOTED(SLAPD_OVER_COLLECT,$MFLAG,[define for Collect overlay])
+fi
+
 if test "$ol_enable_constraint" != no ; then
        BUILD_CONSTRAINT=$ol_enable_constraint
        if test "$ol_enable_constraint" = mod ; then
 if test "$ol_enable_constraint" != no ; then
        BUILD_CONSTRAINT=$ol_enable_constraint
        if test "$ol_enable_constraint" = mod ; then
@@ -2663,6 +2815,18 @@ if test "$ol_enable_dynlist" != no ; then
        AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNLIST,$MFLAG,[define for Dynamic List overlay])
 fi
 
        AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNLIST,$MFLAG,[define for Dynamic List overlay])
 fi
 
+if test "$ol_enable_memberof" != no ; then
+       BUILD_MEMBEROF=$ol_enable_memberof
+       if test "$ol_enable_memberof" = mod ; then
+               MFLAG=SLAPD_MOD_DYNAMIC
+               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS memberof.la"
+       else
+               MFLAG=SLAPD_MOD_STATIC
+               SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS memberof.o"
+       fi
+       AC_DEFINE_UNQUOTED(SLAPD_OVER_MEMBEROF,$MFLAG,[define for Reverse Group Membership overlay])
+fi
+
 if test "$ol_enable_ppolicy" != no ; then
        BUILD_PPOLICY=$ol_enable_ppolicy
        if test "$ol_enable_ppolicy" = mod ; then
 if test "$ol_enable_ppolicy" != no ; then
        BUILD_PPOLICY=$ol_enable_ppolicy
        if test "$ol_enable_ppolicy" = mod ; then
@@ -2829,21 +2993,25 @@ dnl backends
   AC_SUBST(BUILD_LDAP)
   AC_SUBST(BUILD_META)
   AC_SUBST(BUILD_MONITOR)
   AC_SUBST(BUILD_LDAP)
   AC_SUBST(BUILD_META)
   AC_SUBST(BUILD_MONITOR)
+  AC_SUBST(BUILD_NDB)
   AC_SUBST(BUILD_NULL)
   AC_SUBST(BUILD_PASSWD)
   AC_SUBST(BUILD_RELAY)
   AC_SUBST(BUILD_PERL)
   AC_SUBST(BUILD_SHELL)
   AC_SUBST(BUILD_NULL)
   AC_SUBST(BUILD_PASSWD)
   AC_SUBST(BUILD_RELAY)
   AC_SUBST(BUILD_PERL)
   AC_SUBST(BUILD_SHELL)
+  AC_SUBST(BUILD_SOCK)
   AC_SUBST(BUILD_SQL)
 dnl overlays
   AC_SUBST(BUILD_ACCESSLOG)
   AC_SUBST(BUILD_AUDITLOG)
   AC_SUBST(BUILD_SQL)
 dnl overlays
   AC_SUBST(BUILD_ACCESSLOG)
   AC_SUBST(BUILD_AUDITLOG)
+  AC_SUBST(BUILD_COLLECT)
   AC_SUBST(BUILD_CONSTRAINT)
   AC_SUBST(BUILD_DDS)
   AC_SUBST(BUILD_DENYOP)
   AC_SUBST(BUILD_DYNGROUP)
   AC_SUBST(BUILD_DYNLIST)
   AC_SUBST(BUILD_LASTMOD)
   AC_SUBST(BUILD_CONSTRAINT)
   AC_SUBST(BUILD_DDS)
   AC_SUBST(BUILD_DENYOP)
   AC_SUBST(BUILD_DYNGROUP)
   AC_SUBST(BUILD_DYNLIST)
   AC_SUBST(BUILD_LASTMOD)
+  AC_SUBST(BUILD_MEMBEROF)
   AC_SUBST(BUILD_PPOLICY)
   AC_SUBST(BUILD_PROXYCACHE)
   AC_SUBST(BUILD_REFINT)
   AC_SUBST(BUILD_PPOLICY)
   AC_SUBST(BUILD_PROXYCACHE)
   AC_SUBST(BUILD_REFINT)
@@ -2858,6 +3026,8 @@ dnl overlays
 AC_SUBST(LDAP_LIBS)
 AC_SUBST(SLAPD_LIBS)
 AC_SUBST(BDB_LIBS)
 AC_SUBST(LDAP_LIBS)
 AC_SUBST(SLAPD_LIBS)
 AC_SUBST(BDB_LIBS)
+AC_SUBST(SLAPD_NDB_LIBS)
+AC_SUBST(SLAPD_NDB_INCS)
 AC_SUBST(LTHREAD_LIBS)
 AC_SUBST(LUTIL_LIBS)
 AC_SUBST(WRAP_LIBS)
 AC_SUBST(LTHREAD_LIBS)
 AC_SUBST(LUTIL_LIBS)
 AC_SUBST(WRAP_LIBS)
@@ -2928,11 +3098,13 @@ AC_CONFIG_FILES([Makefile:build/top.mk:Makefile.in:build/dir.mk]
 [servers/slapd/back-ldif/Makefile:build/top.mk:servers/slapd/back-ldif/Makefile.in:build/mod.mk]
 [servers/slapd/back-meta/Makefile:build/top.mk:servers/slapd/back-meta/Makefile.in:build/mod.mk]
 [servers/slapd/back-monitor/Makefile:build/top.mk:servers/slapd/back-monitor/Makefile.in:build/mod.mk]
 [servers/slapd/back-ldif/Makefile:build/top.mk:servers/slapd/back-ldif/Makefile.in:build/mod.mk]
 [servers/slapd/back-meta/Makefile:build/top.mk:servers/slapd/back-meta/Makefile.in:build/mod.mk]
 [servers/slapd/back-monitor/Makefile:build/top.mk:servers/slapd/back-monitor/Makefile.in:build/mod.mk]
+[servers/slapd/back-ndb/Makefile:build/top.mk:servers/slapd/back-ndb/Makefile.in:build/mod.mk]
 [servers/slapd/back-null/Makefile:build/top.mk:servers/slapd/back-null/Makefile.in:build/mod.mk]
 [servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/back-passwd/Makefile.in:build/mod.mk]
 [servers/slapd/back-perl/Makefile:build/top.mk:servers/slapd/back-perl/Makefile.in:build/mod.mk]
 [servers/slapd/back-relay/Makefile:build/top.mk:servers/slapd/back-relay/Makefile.in:build/mod.mk]
 [servers/slapd/back-shell/Makefile:build/top.mk:servers/slapd/back-shell/Makefile.in:build/mod.mk]
 [servers/slapd/back-null/Makefile:build/top.mk:servers/slapd/back-null/Makefile.in:build/mod.mk]
 [servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/back-passwd/Makefile.in:build/mod.mk]
 [servers/slapd/back-perl/Makefile:build/top.mk:servers/slapd/back-perl/Makefile.in:build/mod.mk]
 [servers/slapd/back-relay/Makefile:build/top.mk:servers/slapd/back-relay/Makefile.in:build/mod.mk]
 [servers/slapd/back-shell/Makefile:build/top.mk:servers/slapd/back-shell/Makefile.in:build/mod.mk]
+[servers/slapd/back-sock/Makefile:build/top.mk:servers/slapd/back-sock/Makefile.in:build/mod.mk]
 [servers/slapd/back-sql/Makefile:build/top.mk:servers/slapd/back-sql/Makefile.in:build/mod.mk]
 [servers/slapd/shell-backends/Makefile:build/top.mk:servers/slapd/shell-backends/Makefile.in:build/srv.mk]
 [servers/slapd/slapi/Makefile:build/top.mk:servers/slapd/slapi/Makefile.in:build/lib.mk:build/lib-shared.mk]
 [servers/slapd/back-sql/Makefile:build/top.mk:servers/slapd/back-sql/Makefile.in:build/mod.mk]
 [servers/slapd/shell-backends/Makefile:build/top.mk:servers/slapd/shell-backends/Makefile.in:build/srv.mk]
 [servers/slapd/slapi/Makefile:build/top.mk:servers/slapd/slapi/Makefile.in:build/lib.mk:build/lib-shared.mk]
@@ -2950,7 +3122,7 @@ rm -f $BACKENDSC
 cat > $BACKENDSC << ENDX
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
 cat > $BACKENDSC << ENDX
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2007 The OpenLDAP Foundation.
+ * Copyright 1998-2008 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -3001,7 +3173,7 @@ rm -f $OVERLAYSC
 cat > $OVERLAYSC << ENDX
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
 cat > $OVERLAYSC << ENDX
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2007 The OpenLDAP Foundation.
+ * Copyright 1998-2008 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -3049,7 +3221,11 @@ fi
 /* end of generated file */
 ENDX
 
 /* end of generated file */
 ENDX
 
-echo Please run \"make depend\" to build dependencies
+if test "${ol_cv_mkdep}" = no; then
+       echo '(Do not "make depend"; we do not know how to build dependencies)'
+else
+       echo 'Please run "make depend" to build dependencies'
+fi
 ]],[[
 STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS"
 STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS"
 ]],[[
 STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS"
 STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS"