]> git.sur5r.net Git - openldap/blobdiff - configure.in
avoid cycling twice in the control list
[openldap] / configure.in
index d392cde6052c3c4c0778c73fac6f701236187164..6bf73baa507358262acf2311c1e7672740639a8c 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-2004 The OpenLDAP Foundation.
+dnl Copyright 1998-2005 The OpenLDAP Foundation.
 dnl All rights reserved.
 dnl
 dnl Redistribution and use in source and binary forms, with or without
 dnl All rights reserved.
 dnl
 dnl Redistribution and use in source and binary forms, with or without
@@ -23,7 +23,7 @@ define([AC_INIT_BINSH],
 
 # This work is part of OpenLDAP Software <http://www.openldap.org/>.
 #
 
 # This work is part of OpenLDAP Software <http://www.openldap.org/>.
 #
-# Copyright 1998-2004 The OpenLDAP Foundation.
+# Copyright 1998-2005 The OpenLDAP Foundation.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -34,7 +34,7 @@ define([AC_INIT_BINSH],
 # top-level directory of the distribution or, alternatively, at
 # <http://www.OpenLDAP.org/license.html>.
 
 # top-level directory of the distribution or, alternatively, at
 # <http://www.OpenLDAP.org/license.html>.
 
-echo "Copyright 1998-2004 The OpenLDAP Foundation. All rights reserved."
+echo "Copyright 1998-2005 The OpenLDAP Foundation. All rights reserved."
 echo " Restrictions apply, see COPYRIGHT and LICENSE files."
 ])dnl
 dnl ----------------------------------------------------------------
 echo " Restrictions apply, see COPYRIGHT and LICENSE files."
 ])dnl
 dnl ----------------------------------------------------------------
@@ -171,6 +171,10 @@ OL_ARG_WITH(tls,[  --with-tls                with TLS/SSL support],
        auto, [auto ssleay openssl yes no] )
 OL_ARG_WITH(yielding_select,[  --with-yielding-select  with implicitly yielding select],
        auto, [auto yes no manual] )
        auto, [auto ssleay openssl yes no] )
 OL_ARG_WITH(yielding_select,[  --with-yielding-select  with implicitly yielding select],
        auto, [auto yes no manual] )
+OL_ARG_WITH(multiple_precision,[  --with-multiple-precision
+                          multiple precision support for statistics
+                         auto|bignum|gmp],
+       auto, [auto bignum gmp yes no] )
 
 dnl ----------------------------------------------------------------
 dnl Server options
 
 dnl ----------------------------------------------------------------
 dnl Server options
@@ -203,52 +207,71 @@ Backends="bdb dnssrv hdb ldap ldbm meta monitor null \
 AC_ARG_WITH(xxslapbackends,[
 SLAPD Backend Options:])
 
 AC_ARG_WITH(xxslapbackends,[
 SLAPD Backend Options:])
 
-OL_ARG_ENABLE(backends,[    --enable-backends    enable all available backends no|yes|mod], no, [no yes mod])dnl
-OL_ARG_ENABLE(bdb,[    --enable-bdb      enable Berkeley DB backend no|yes|mod], yes, [no yes mod])dnl
-OL_ARG_ENABLE(dnssrv,[    --enable-dnssrv        enable dnssrv backend no|yes|mod], no, [no yes mod])dnl
-OL_ARG_ENABLE(hdb,[    --enable-hdb      enable Hierarchical DB backend no|yes|mod], no, [no yes mod])dnl
-OL_ARG_ENABLE(ldap,[    --enable-ldap    enable ldap backend no|yes|mod], no, [no yes mod])dnl
-OL_ARG_ENABLE(ldbm,[    --enable-ldbm    enable ldbm backend no|yes|mod], no, [no yes mod])dnl
-OL_ARG_WITH(ldbm_api,[      --with-ldbm-api     with LDBM API auto|berkeley|bcompat|mdbm|gdbm], auto,
-       [auto berkeley bcompat mdbm gdbm])
-OL_ARG_WITH(ldbm_type,[      --with-ldbm-type    use LDBM type auto|btree|hash], auto,
-       [auto btree hash])
-OL_ARG_ENABLE(meta,[    --enable-meta    enable metadirectory backend no|yes|mod], no, [no yes mod])dnl
-OL_ARG_ENABLE(monitor,[    --enable-monitor      enable monitor backend no|yes|mod], yes, [no yes mod])dnl
-OL_ARG_ENABLE(null,[    --enable-null    enable null backend no|yes|mod], no, [no yes mod])dnl
-OL_ARG_ENABLE(passwd,[    --enable-passwd        enable passwd backend no|yes|mod], no, [no yes mod])dnl
-OL_ARG_ENABLE(perl,[    --enable-perl    enable perl backend no|yes|mod], no, [no yes mod])dnl
-OL_ARG_ENABLE(relay,[    --enable-relay          enable relay backend no|yes|mod], yes, [no yes mod])dnl
-OL_ARG_ENABLE(shell,[    --enable-shell          enable shell backend no|yes|mod], no, [no yes mod])dnl
-OL_ARG_ENABLE(sql,[    --enable-sql      enable sql backend no|yes|mod], no, [no yes mod])dnl
+OL_ARG_ENABLE(backends,[    --enable-backends    enable all available backends no|yes|mod],
+       no, [no yes mod])dnl
+OL_ARG_ENABLE(bdb,[    --enable-bdb      enable Berkeley DB backend no|yes|mod],
+       yes, [no yes mod])dnl
+OL_ARG_ENABLE(dnssrv,[    --enable-dnssrv        enable dnssrv backend no|yes|mod],
+       no, [no yes mod])dnl
+OL_ARG_ENABLE(hdb,[    --enable-hdb      enable Hierarchical DB backend no|yes|mod],
+       no, [no yes mod])dnl
+OL_ARG_ENABLE(ldap,[    --enable-ldap    enable ldap backend no|yes|mod],
+       no, [no yes mod])dnl
+OL_ARG_ENABLE(ldbm,[    --enable-ldbm    enable ldbm backend no|yes|mod], no,
+       [no yes mod])dnl
+OL_ARG_WITH(ldbm_api,[      --with-ldbm-api     with LDBM API auto|berkeley|bcompat|mdbm|gdbm],
+       auto, [auto berkeley bcompat mdbm gdbm])
+OL_ARG_WITH(ldbm_type,[      --with-ldbm-type    use LDBM type auto|btree|hash],
+       auto, [auto btree hash])
+OL_ARG_ENABLE(meta,[    --enable-meta    enable metadirectory backend no|yes|mod],
+       no, [no yes mod])dnl
+OL_ARG_ENABLE(monitor,[    --enable-monitor      enable monitor backend no|yes|mod],
+       yes, [no yes mod])dnl
+OL_ARG_ENABLE(null,[    --enable-null    enable null backend no|yes|mod],
+       no, [no yes mod])dnl
+OL_ARG_ENABLE(passwd,[    --enable-passwd        enable passwd backend no|yes|mod],
+       no, [no yes mod])dnl
+OL_ARG_ENABLE(perl,[    --enable-perl    enable perl backend no|yes|mod],
+       no, [no yes mod])dnl
+OL_ARG_ENABLE(relay,[    --enable-relay          enable relay backend no|yes|mod],
+       yes, [no yes mod])dnl
+OL_ARG_ENABLE(shell,[    --enable-shell          enable shell backend no|yes|mod],
+       no, [no yes mod])dnl
+OL_ARG_ENABLE(sql,[    --enable-sql      enable sql backend no|yes|mod],
+       no, [no yes mod])dnl
 
 dnl ----------------------------------------------------------------
 dnl SLAPD Overlay Options
 
 dnl ----------------------------------------------------------------
 dnl SLAPD Overlay Options
-Overlays="chain denyop dyngroup lastmod ppolicy proxycache rwm \
-       refint unique"
+Overlays="chain denyop dyngroup glue lastmod ppolicy proxycache rwm \
+       refint syncprov unique"
 
 AC_ARG_WITH(xxslapoverlays,[
 SLAPD Overlay Options:])
 
 
 AC_ARG_WITH(xxslapoverlays,[
 SLAPD Overlay Options:])
 
-OL_ARG_ENABLE(overlays,[    --enable-overlays    enable all available overlays no|yes|mod], no, [no yes mod])dnl
-OL_ARG_ENABLE(chain,[    --enable-chain          LDAP Chain Response no|yes|mod], no,
-       [no yes mod])
-OL_ARG_ENABLE(denyop,[    --enable-denyop        Deny Operation overlay no|yes|mod], no,
-       [no yes mod])
-OL_ARG_ENABLE(dyngroup,[    --enable-dyngroup    Dynamic Group overlay no|yes|mod], no,
-       [no yes mod])
-OL_ARG_ENABLE(lastmod,[    --enable-lastmod      Last Modification overlay no|yes|mod], no,
-       [no yes mod])
-OL_ARG_ENABLE(ppolicy,[    --enable-ppolicy      Password Policy overlay no|yes|mod], no,
-       [no yes mod])
-OL_ARG_ENABLE(proxycache,[    --enable-proxycache        Proxy Cache overlay no|yes|mod], no,
-       [no yes mod])
-OL_ARG_ENABLE(refint,[    --enable-refint        Referential Integrity overlay no|yes|mod], no,
-       [no yes mod])
-OL_ARG_ENABLE(rwm,[    --enable-rwm              Rewrite/Remap overlay no|yes|mod], no,
-       [no yes mod])
-OL_ARG_ENABLE(unique,[    --enable-unique       Attribute Uniqueness overlay no|yes|mod], no,
-       [no yes mod])
+OL_ARG_ENABLE(overlays,[    --enable-overlays    enable all available overlays no|yes|mod],
+       no, [no yes mod])dnl
+OL_ARG_ENABLE(chain,[    --enable-chain          LDAP Chain Response no|yes|mod],
+       no, [no yes mod])
+OL_ARG_ENABLE(denyop,[    --enable-denyop        Deny Operation overlay no|yes|mod],
+       no, [no yes mod])
+OL_ARG_ENABLE(dyngroup,[    --enable-dyngroup    Dynamic Group overlay no|yes|mod],
+       no, [no yes mod])
+OL_ARG_ENABLE(glue,[    --enable-glue    Backend Glue overlay no|yes|mod],
+       yes, [no yes mod])
+OL_ARG_ENABLE(lastmod,[    --enable-lastmod      Last Modification overlay no|yes|mod],
+       no, [no yes mod])
+OL_ARG_ENABLE(ppolicy,[    --enable-ppolicy      Password Policy overlay no|yes|mod],
+       no, [no yes mod])
+OL_ARG_ENABLE(proxycache,[    --enable-proxycache        Proxy Cache overlay no|yes|mod],
+       no, [no yes mod])
+OL_ARG_ENABLE(refint,[    --enable-refint        Referential Integrity overlay no|yes|mod],
+       no, [no yes mod])
+OL_ARG_ENABLE(rwm,[    --enable-rwm              Rewrite/Remap overlay no|yes|mod],
+       no, [no yes mod])
+OL_ARG_ENABLE(syncprov,[    --enable-syncprov            Syncrepl Provider overlay no|yes|mod],
+       yes, [no yes mod])
+OL_ARG_ENABLE(unique,[    --enable-unique       Attribute Uniqueness overlay no|yes|mod],
+       no, [no yes mod])
 
 
 dnl ----------------------------------------------------------------
 
 
 dnl ----------------------------------------------------------------
@@ -504,11 +527,13 @@ BUILD_SQL=no
 BUILD_CHAIN=no
 BUILD_DENYOP=no
 BUILD_DYNGROUP=no
 BUILD_CHAIN=no
 BUILD_DENYOP=no
 BUILD_DYNGROUP=no
+BUILD_GLUE=no
 BUILD_LASTMOD=no
 BUILD_PPOLICY=no
 BUILD_PROXYCACHE=no
 BUILD_REFINT=no
 BUILD_RWM=no
 BUILD_LASTMOD=no
 BUILD_PPOLICY=no
 BUILD_PROXYCACHE=no
 BUILD_REFINT=no
 BUILD_RWM=no
+BUILD_SYNCPROV=no
 BUILD_UNIQUE=no
 
 SLAPD_DYNAMIC_OVERLAYS=
 BUILD_UNIQUE=no
 
 SLAPD_DYNAMIC_OVERLAYS=
@@ -538,12 +563,11 @@ LIBSLAPITOOLS=
 AUTH_LIBS=
 
 SLAPD_SLP_LIBS=
 AUTH_LIBS=
 
 SLAPD_SLP_LIBS=
+SLAPD_GMP_LIBS=
 
 dnl ================================================================
 dnl Checks for programs
 
 
 dnl ================================================================
 dnl Checks for programs
 
-AC_PROG_INSTALL
-
 AC_DEFINE(HAVE_MKVERSION, 1, [define this if you have mkversion])
 
 dnl ----------------------------------------------------------------
 AC_DEFINE(HAVE_MKVERSION, 1, [define this if you have mkversion])
 
 dnl ----------------------------------------------------------------
@@ -612,9 +636,6 @@ AC_LIBTOOL_WIN32_DLL
 AC_LIBTOOL_DLOPEN
 AC_PROG_LIBTOOL
 
 AC_LIBTOOL_DLOPEN
 AC_PROG_LIBTOOL
 
-OL_PROG_LN_H
-AC_PROG_LN_S
-
 dnl ----------------------------------------------------------------
 dnl Perl
 ol_link_perl=no
 dnl ----------------------------------------------------------------
 dnl Perl
 ol_link_perl=no
@@ -695,6 +716,7 @@ esac
 dnl ----------------------------------------------------------------
 dnl Check for module support
 ol_link_modules=no
 dnl ----------------------------------------------------------------
 dnl Check for module support
 ol_link_modules=no
+WITH_MODULES_ENABLED=no
 if test $ol_enable_modules != no ; then
        AC_CHECK_HEADERS(ltdl.h)
 
 if test $ol_enable_modules != no ; then
        AC_CHECK_HEADERS(ltdl.h)
 
@@ -711,6 +733,7 @@ if test $ol_enable_modules != no ; then
                AC_MSG_ERROR([could not locate libtool -lltdl])
        fi
        ol_link_modules=yes
                AC_MSG_ERROR([could not locate libtool -lltdl])
        fi
        ol_link_modules=yes
+       WITH_MODULES_ENABLED=yes
 
 else
        for i in $Backends; do
 
 else
        for i in $Backends; do
@@ -867,6 +890,28 @@ fi
 dnl check to see if system call automatically restart
 dnl AC_SYS_RESTARTABLE_SYSCALLS
 
 dnl check to see if system call automatically restart
 dnl AC_SYS_RESTARTABLE_SYSCALLS
 
+dnl ----------------------------------------------------------------
+AC_CHECK_FUNCS( poll )
+AC_CHECK_HEADERS( poll.h )
+
+dnl ----------------------------------------------------------------
+AC_CHECK_HEADERS( sys/epoll.h )
+if test "${ac_cv_header_sys_epoll_h}" = yes; then
+AC_MSG_CHECKING(for epoll system call)
+AC_TRY_RUN(
+int main(int argc, char *argv[])
+{
+       int epfd = epoll_create(256);
+       exit (epfd == -1 ? 1 : 0);
+}, [AC_MSG_RESULT(yes)
+AC_DEFINE(HAVE_EPOLL,1, [define if your system supports epoll])],
+AC_MSG_RESULT(no),AC_MSG_RESULT(no))
+fi
+
+dnl ----------------------------------------------------------------
+# strerror checks
+OL_STRERROR
+
 dnl ----------------------------------------------------------------
 dnl require POSIX regex
 AC_CHECK_HEADERS( regex.h )
 dnl ----------------------------------------------------------------
 dnl require POSIX regex
 AC_CHECK_HEADERS( regex.h )
@@ -952,6 +997,11 @@ if test $ac_cv_func_res_query = no ; then
        ac_cv_func_res_query=$ac_cv_lib_resolv___res_query
 fi
 
        ac_cv_func_res_query=$ac_cv_lib_resolv___res_query
 fi
 
+if test $ac_cv_func_res_query = no ; then 
+       AC_CHECK_LIB(resolv, _res_9_query)
+       ac_cv_func_res_query=$ac_cv_lib_resolv_res_9_query
+fi
+
 if test "$ac_cv_func_res_query" = yes ; then
        AC_DEFINE(HAVE_RES_QUERY,1,
                [define if you have res_query()])
 if test "$ac_cv_func_res_query" = yes ; then
        AC_DEFINE(HAVE_RES_QUERY,1,
                [define if you have res_query()])
@@ -965,6 +1015,8 @@ if test "$ol_enable_dnssrv" != no -a "$ol_link_dnssrv" = no ; then
        AC_MSG_ERROR([DNSSRV requires res_query()])
 fi
 
        AC_MSG_ERROR([DNSSRV requires res_query()])
 fi
 
+AC_CHECK_FUNCS( hstrerror )
+
 dnl ----------------------------------------------------------------
 dnl PF_INET6 support requires getaddrinfo and INET6_ADDRSTRLEN
 dnl PF_LOCAL may use getaddrinfo in available
 dnl ----------------------------------------------------------------
 dnl PF_INET6 support requires getaddrinfo and INET6_ADDRSTRLEN
 dnl PF_LOCAL may use getaddrinfo in available
@@ -1185,10 +1237,11 @@ fi
 
 dnl ----------------------------------------------------------------
 dnl TLS/SSL
 
 dnl ----------------------------------------------------------------
 dnl TLS/SSL
+       
 ol_link_tls=no
 if test $ol_with_tls != no ; then
        AC_CHECK_HEADERS(openssl/ssl.h ssl.h)
 ol_link_tls=no
 if test $ol_with_tls != no ; then
        AC_CHECK_HEADERS(openssl/ssl.h ssl.h)
-       
+
        if test $ac_cv_header_openssl_ssl_h = yes \
                -o $ac_cv_header_ssl_h = yes ; then
                AC_CHECK_LIB(ssl, SSLeay_add_ssl_algorithms, 
        if test $ac_cv_header_openssl_ssl_h = yes \
                -o $ac_cv_header_ssl_h = yes ; then
                AC_CHECK_LIB(ssl, SSLeay_add_ssl_algorithms, 
@@ -1227,6 +1280,13 @@ if test $ol_with_tls != no ; then
                                TLS_LIBS="-lssl -lcrypto"
                        fi
                fi
                                TLS_LIBS="-lssl -lcrypto"
                        fi
                fi
+               OL_SSL_COMPAT
+               if test $ol_cv_ssl_crl_compat = no ; then
+                       ol_link_ssl=no
+                else 
+                       AC_DEFINE(HAVE_OPENSSL_CRL, 1, 
+                               [define if you have OpenSSL with CRL checking capability])
+               fi
        fi
 
 else
        fi
 
 else
@@ -1943,13 +2003,13 @@ if test $ol_with_ldbm_api = ndbm ; then
 fi
 
 if test $ol_link_ldbm = no -a $ol_enable_ldbm != no ; then
 fi
 
 if test $ol_link_ldbm = no -a $ol_enable_ldbm != no ; then
-       AC_MSG_WARN([could not find suitable LDBM backend])
-       if test $ol_enable_ldbm = yes ; then
-               AC_MSG_ERROR([select appropriate LDBM options or disable])
-       fi
+       AC_MSG_ERROR([could not find suitable LDBM backend])
+fi
 
 
-       AC_MSG_WARN(disabling LDBM)
-       ol_enable_ldbm=no
+if test $ol_enable_bdb = yes -o \
+       $ol_enable_hdb = yes -o \
+       $ol_enable_ldbm = yes ; then
+       SLAPD_LIBS="$SLAPD_LIBS \$(LDBM_LIBS)"
 fi
 
 dnl ----------------------------------------------------------------
 fi
 
 dnl ----------------------------------------------------------------
@@ -2056,6 +2116,7 @@ dnl ----------------------------------------------------------------
 dnl
 dnl Check for Cyrus SASL
 dnl
 dnl
 dnl Check for Cyrus SASL
 dnl
+WITH_SASL=no
 ol_link_sasl=no
 ol_link_spasswd=no
 if test $ol_with_cyrus_sasl != no ; then
 ol_link_sasl=no
 ol_link_spasswd=no
 if test $ol_with_cyrus_sasl != no ; then
@@ -2096,6 +2157,8 @@ if test $ol_with_cyrus_sasl != no ; then
                AC_CHECK_FUNC(sasl_version, [AC_DEFINE(HAVE_SASL_VERSION,1,
                        [define if your SASL library has sasl_version()])])
                LIBS="$ac_save_LIBS"
                AC_CHECK_FUNC(sasl_version, [AC_DEFINE(HAVE_SASL_VERSION,1,
                        [define if your SASL library has sasl_version()])])
                LIBS="$ac_save_LIBS"
+
+               WITH_SASL=yes
        fi
 
 else
        fi
 
 else
@@ -2204,6 +2267,99 @@ if test $ol_enable_slp != no ; then
        fi
 fi
 
        fi
 fi
 
+dnl ----------------------------------------------------------------
+dnl Check for multiple precision support
+if test "$ol_with_multiple_precision" != "no" ; then
+       ol_have_bignum=no
+       ol_have_gmp=no
+
+       AC_CHECK_HEADERS(openssl/bn.h bn.h)
+       AC_CHECK_HEADERS(openssl/crypto.h crypto.h)
+       AC_CHECK_HEADERS( gmp.h )
+
+       if test "$ol_with_tls" = "found" ; then
+               ol_have_bn_h=no
+               ol_have_crypto_h=no
+
+               if test "$ac_cv_header_openssl_bn_h" = "yes" \
+                               -o "$ac_cv_header_bn_h" = "yes" ; then
+                       ol_have_bn_h=yes
+               fi
+
+               if test "$ac_cv_header_openssl_crypto_h" = "yes" \
+                               -o "$ac_cv_header_crypto_h" = "yes" ; then
+                       ol_have_crypto_h=yes
+               fi
+
+               if test "$ol_have_bn_h" = "yes" \
+                               -a "$ol_have_crypto_h" = "yes" ; then
+                       ol_have_bignum=yes
+               fi
+       fi
+
+       if test $ac_cv_header_gmp_h = yes ; then
+               AC_CHECK_LIB(gmp, __gmpz_add_ui, [have_gmp=yes], [have_gmp=no])
+               if test $have_gmp = yes ; then
+                       ol_have_gmp=yes
+               fi
+       fi
+
+       AC_MSG_CHECKING([for multiple precision support])
+
+       ol_mp_support="none"
+       case "$ol_with_multiple_precision" in
+       auto)
+               dnl preferred sequence:
+               dnl - OpenSSL's BIGNUM (if libssl is already linked)
+               dnl - GNU's MP
+               dnl - unsigned long
+               if test "$ol_have_bignum" = "yes" ; then
+                       ol_mp_support="bignum"
+               else
+                       if test "$ol_have_gmp" = "yes" ; then
+                               ol_mp_support="gmp"
+                       fi
+               fi
+               ;;
+       bignum)
+               if test "$ol_have_bignum" != "yes" ; then
+                       AC_MSG_ERROR([OpenSSL's BIGNUM not available])
+               fi
+               ol_mp_support="bignum"
+               ;;
+       gmp)
+               if test "$ol_have_gmp" != "yes" ; then
+                       AC_MSG_ERROR([GMP not available])
+               fi
+               ol_mp_support="gmp"
+               ;;
+       yes)
+               if test "$ol_have_bignum" = "yes" ; then
+                       ol_mp_support="bignum"
+               elif test "$ol_have_gmp" = "yes" ; then
+                       ol_mp_support="gmp"
+               else
+                       AC_MSG_ERROR([not available])
+               fi
+               ;;
+       esac
+
+       case "$ol_mp_support" in
+       bignum)
+               AC_DEFINE(HAVE_BIGNUM, 1,
+                       [define if you have SSLeay or OpenSSL's BIGNUM])
+               ;;
+       gmp)
+               AC_DEFINE(HAVE_GMP, 1, [define if you have -lgmp])
+               SLAPD_GMP_LIBS=-lgmp
+               ;;
+       none)
+               ;;
+       esac
+
+       AC_MSG_RESULT($ol_mp_support)
+fi
+
 dnl ----------------------------------------------------------------
 dnl Checks for typedefs, structures, and compiler characteristics.
 
 dnl ----------------------------------------------------------------
 dnl Checks for typedefs, structures, and compiler characteristics.
 
@@ -2331,7 +2487,6 @@ AC_CHECK_FUNCS(           \
        signal                  \
        sigset                  \
        strdup                  \
        signal                  \
        sigset                  \
        strdup                  \
-       strerror                \
        strpbrk                 \
        strrchr                 \
        strsep                  \
        strpbrk                 \
        strrchr                 \
        strsep                  \
@@ -2371,10 +2526,6 @@ if test "$ac_cv_func_snprintf" != yes -o "$ac_cv_func_vsnprintf" != yes; then
        fi
 fi
 
        fi
 fi
 
-dnl ----------------------------------------------------------------
-# Check Configuration
-OL_SYS_ERRLIST
-
 dnl ----------------------------------------------------------------
 dnl Sort out defines
 
 dnl ----------------------------------------------------------------
 dnl Sort out defines
 
@@ -2654,6 +2805,17 @@ if test "$ol_enable_dyngroup" != no ; then
        AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNGROUP,$MFLAG,[define for Dynamic Group overlay])
 fi
 
        AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNGROUP,$MFLAG,[define for Dynamic Group overlay])
 fi
 
+if test "$ol_enable_glue" != no ; then
+       BUILD_GLUE=$ol_enable_glue
+       if test "$ol_enable_glue" = mod ; then
+               MFLAG=SLAPD_MOD_DYNAMIC
+               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS glue.la"
+       else
+               MFLAG=SLAPD_MOD_STATIC
+       fi
+       AC_DEFINE_UNQUOTED(SLAPD_OVER_GLUE,$MFLAG,[define for Backend Glue overlay])
+fi
+
 if test "$ol_enable_lastmod" != no ; then
        BUILD_LASTMOD=$ol_enable_lastmod
        if test "$ol_enable_lastmod" = mod ; then
 if test "$ol_enable_lastmod" != no ; then
        BUILD_LASTMOD=$ol_enable_lastmod
        if test "$ol_enable_lastmod" = mod ; then
@@ -2710,6 +2872,17 @@ if test "$ol_enable_rwm" != no ; then
        AC_DEFINE_UNQUOTED(SLAPD_OVER_RWM,$MFLAG,[define for Rewrite/Remap overlay])
 fi
 
        AC_DEFINE_UNQUOTED(SLAPD_OVER_RWM,$MFLAG,[define for Rewrite/Remap overlay])
 fi
 
+if test "$ol_enable_syncprov" != no ; then
+       BUILD_SYNCPROV=$ol_enable_syncprov
+       if test "$ol_enable_syncprov" = mod ; then
+               MFLAG=SLAPD_MOD_DYNAMIC
+               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS syncprov.la"
+       else
+               MFLAG=SLAPD_MOD_STATIC
+       fi
+       AC_DEFINE_UNQUOTED(SLAPD_OVER_SYNCPROV,$MFLAG,[define for Syncrepl Provider overlay])
+fi
+
 if test "$ol_enable_unique" != no ; then
        BUILD_UNIQUE=$ol_enable_unique
        if test "$ol_enable_unique" = mod ; then
 if test "$ol_enable_unique" != no ; then
        BUILD_UNIQUE=$ol_enable_unique
        if test "$ol_enable_unique" = mod ; then
@@ -2751,15 +2924,11 @@ else
        PLAT=UNIX
 fi
 
        PLAT=UNIX
 fi
 
-if test -z "$SLAPD_STATIC_BACKENDS"; then
-       SLAPD_NO_STATIC='#'
-else
-       SLAPD_NO_STATIC=
-fi
-
 AC_SUBST(LIBSRCS)
 AC_SUBST(PLAT)
 AC_SUBST(LIBSRCS)
 AC_SUBST(PLAT)
+AC_SUBST(WITH_SASL)
 AC_SUBST(WITH_TLS)
 AC_SUBST(WITH_TLS)
+AC_SUBST(WITH_MODULES_ENABLED)
 AC_SUBST(BUILD_LIBS_DYNAMIC)
 
 AC_SUBST(BUILD_SLAPD)
 AC_SUBST(BUILD_LIBS_DYNAMIC)
 
 AC_SUBST(BUILD_SLAPD)
@@ -2784,11 +2953,13 @@ dnl overlays
   AC_SUBST(BUILD_CHAIN)
   AC_SUBST(BUILD_DENYOP)
   AC_SUBST(BUILD_DYNGROUP)
   AC_SUBST(BUILD_CHAIN)
   AC_SUBST(BUILD_DENYOP)
   AC_SUBST(BUILD_DYNGROUP)
+  AC_SUBST(BUILD_GLUE)
   AC_SUBST(BUILD_LASTMOD)
   AC_SUBST(BUILD_PPOLICY)
   AC_SUBST(BUILD_PROXYCACHE)
   AC_SUBST(BUILD_REFINT)
   AC_SUBST(BUILD_RWM)
   AC_SUBST(BUILD_LASTMOD)
   AC_SUBST(BUILD_PPOLICY)
   AC_SUBST(BUILD_PROXYCACHE)
   AC_SUBST(BUILD_REFINT)
   AC_SUBST(BUILD_RWM)
+  AC_SUBST(BUILD_SYNCPROV)
   AC_SUBST(BUILD_UNIQUE)
 AC_SUBST(BUILD_SLURPD)
 
   AC_SUBST(BUILD_UNIQUE)
 AC_SUBST(BUILD_SLURPD)
 
@@ -2823,6 +2994,7 @@ AC_SUBST(LIBSLAPITOOLS)
 AC_SUBST(AUTH_LIBS)
 
 AC_SUBST(SLAPD_SLP_LIBS)
 AC_SUBST(AUTH_LIBS)
 
 AC_SUBST(SLAPD_SLP_LIBS)
+AC_SUBST(SLAPD_GMP_LIBS)
 
 AC_SUBST(SLAPD_SQL_LDFLAGS)
 AC_SUBST(SLAPD_SQL_LIBS)
 
 AC_SUBST(SLAPD_SQL_LDFLAGS)
 AC_SUBST(SLAPD_SQL_LIBS)
@@ -2880,5 +3052,57 @@ tests/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk \
 ,[
 chmod +x tests/run
 date > stamp-h
 ,[
 chmod +x tests/run
 date > stamp-h
+BACKENDSC="servers/slapd/backends.c"
+echo "Making $BACKENDSC"
+rm -f $BACKENDSC
+cat > $BACKENDSC << ENDX
+/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
+ *
+ * Copyright 1998-2005 The OpenLDAP Foundation.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted only as authorized by the OpenLDAP
+ * Public License.
+ *
+ * A copy of this license is available in the file LICENSE in the
+ * top-level directory of the distribution or, alternatively, at
+ * <http://www.OpenLDAP.org/license.html>.
+ */
+/* This file is automatically generated by configure; please do not edit. */
+
+#include "portable.h"
+#include "slap.h"
+
+ENDX
+if test "${STATIC_BACKENDS}"; then
+       for b in ${STATIC_BACKENDS}; do
+               bb=`echo "${b}" | sed -e 's/back-//'`
+               cat >> $BACKENDSC << ENDX
+extern BI_init ${bb}_back_initialize;
+ENDX
+       done
+
+       cat >> $BACKENDSC << ENDX
+
+BackendInfo slap_binfo[[]] = {
+ENDX
+
+       for b in ${STATIC_BACKENDS}; do
+               bb=`echo "${b}" | sed -e 's/back-//'`
+               echo "    Add ${bb} ..."
+               cat >> $BACKENDSC << ENDX
+       { "${bb}", ${bb}_back_initialize },
+ENDX
+       done
+
+       cat >> $BACKENDSC << ENDX
+       { NULL, NULL },
+};
+
+/* end of generated file */
+ENDX
+fi
+
 echo Please run \"make depend\" to build dependencies
 echo Please run \"make depend\" to build dependencies
-])
+],[STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS"])