]> git.sur5r.net Git - openldap/blobdiff - configure.in
Update copyright (including with or without modification clarification)
[openldap] / configure.in
index 5704727c5fa85ededa7af561d8bbbf78dd7808be..4b63321bce873962c8353176dfc1ccc0442f82d4 100644 (file)
@@ -1,11 +1,12 @@
 dnl $OpenLDAP$
 dnl
-dnl Copyright 1998-2000 The OpenLDAP Foundation.  All Rights Reserved.
+dnl Copyright 1998-2001 The OpenLDAP Foundation.  All Rights Reserved.
 dnl 
-dnl Redistribution and use in source and binary forms are permitted only
-dnl as authorized by the OpenLDAP Public License.  A copy of this
-dnl license is available at http://www.OpenLDAP.org/license.html or
-dnl in file LICENSE in the top-level directory of the distribution.
+dnl Redistribution and use in source and binary forms, with or without
+dnl modification, are permitted only as authorized by the OpenLDAP
+dnl Public License.  A copy of this license is available at
+dnl http://www.OpenLDAP.org/license.html or in file LICENSE in the
+dnl top-level directory of the distribution.
 dnl
 dnl ----------------------------------------------------------------
 dnl Redefine AC_INIT_BINSH to provide RCS IDs and copyright notice
@@ -15,14 +16,15 @@ define([AC_INIT_BINSH],
 # $]OpenLDAP[$
 # from] translit([$OpenLDAP$], $")] [
 
-# Copyright 1998-2000 The OpenLDAP Foundation.  All Rights Reserved.
+# Copyright 1998-2001 The OpenLDAP Foundation.  All Rights Reserved.
 # 
-# Redistribution and use in source and binary forms are permitted only
-# as authorized by the OpenLDAP Public License.  A copy of this
-# license is available at http://www.OpenLDAP.org/license.html or
-# in file LICENSE in the top-level directory of the distribution.
+# 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 at
+# http://www.OpenLDAP.org/license.html or in file LICENSE in the
+# top-level directory of the distribution.
 
-echo "Copyright 1998-2000 The OpenLDAP Foundation,  All Rights Reserved."
+echo "Copyright 1998-2001 The OpenLDAP Foundation,  All Rights Reserved."
 echo "Restrictions apply, see COPYRIGHT and LICENSE files."
 ])dnl
 dnl ----------------------------------------------------------------
@@ -31,36 +33,44 @@ define([AC_CACHE_LOAD], )dnl
 define([AC_CACHE_SAVE], )dnl
 dnl ================================================================
 dnl Configure.in for OpenLDAP
-AC_INIT(build/version)dnl
+AC_INIT(build/version.sh)dnl
 
-# set unset (borrowed from autoconf 2.14a)
-if (unset FOO) >/dev/null 2>&1; then
+# set unset (borrowed from autoconf 2.49c)
+if (OL_FOO=OL_FOO; unset OL_FOO) >/dev/null 2>&1; then
   ol_unset=unset
 else
   ol_unset=false
 fi
 # unset CDPATH
-$ol_unset CDPATH || test "${CDPATH+set}" != set || CDPATH=: && export CDPATH
+$ol_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; }
 
 AC_CONFIG_AUX_DIR(build)dnl
 
-OL_VERSION=`cat $ac_aux_dir/version`
-if test -z "$OL_VERSION"; then
+eval `$ac_aux_dir/version.sh`
+if test -z "$OL_STRING"; then
        AC_MSG_ERROR([could not determine version])
 fi
 
-echo "Configuring OpenLDAP $OL_VERSION ..."
+echo "Configuring $OL_STRING ..."
 
 dnl Determine host platform
 dnl            we try not to use this for much
 AC_CANONICAL_SYSTEM
 
-AM_INIT_AUTOMAKE(OpenLDAP,[$OL_VERSION], [no defines])dnl
-AC_SUBST(PACKAGE)
-AC_SUBST(VERSION)
+AM_INIT_AUTOMAKE([$OL_PACKAGE],[$OL_VERSION], [no defines])dnl
+AC_SUBST(PACKAGE)dnl
+AC_SUBST(VERSION)dnl
 AC_DEFINE_UNQUOTED(OPENLDAP_PACKAGE,"$PACKAGE",Package)
 AC_DEFINE_UNQUOTED(OPENLDAP_VERSION,"$VERSION",Version)
 
+AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION,$OL_API_INC,Version)
+AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION_MAJOR,$OL_MAJOR,Major)
+AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION_MINOR,$OL_MINOR,Minor)
+AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION_PATCH,$OL_PATCH,Patch)
+
+OPENLDAP_LIBVERSION=$OL_API_LIB
+AC_SUBST(OPENLDAP_LIBVERSION)dnl
+
 dnl We use autoconf features new to 2.13.
 dnl aclocal.m4 should be built using aclocal from automake 1.4
 dnl libtool 1.3.3 should be installed.
@@ -81,7 +91,7 @@ dnl --with-subdir
 ldap_subdir="/openldap"
 
 AC_ARG_WITH(subdir,
-[  --with-subdir=DIR change default subdirectory used for installs],
+[  --with-subdir=DIR       change default subdirectory used for installs],
 [case "$withval" in
        no) ldap_subdir=""
                ;;
@@ -103,11 +113,12 @@ dnl General "enable" options
 OL_ARG_ENABLE(debug,[  --enable-debug    enable debugging], yes)dnl
 OL_ARG_ENABLE(syslog,[  --enable-syslog          enable syslog support], auto)dnl
 OL_ARG_ENABLE(proctitle,[  --enable-proctitle    enable proctitle support], yes)dnl
-OL_ARG_ENABLE(cache,[  --enable-cache    enable caching], yes)dnl
-OL_ARG_ENABLE(referrals,[  --enable-referrals    enable V2 Referrals extension], yes)dnl
-OL_ARG_ENABLE(kbind,[  --enable-kbind    enable V2 Kerberos IV bind], auto)dnl
+OL_ARG_ENABLE(cache,[  --enable-cache    enable caching (experimental)], no)dnl
+OL_ARG_ENABLE(referrals,[  --enable-referrals    enable V2 Referrals (experimental)], no)dnl
+OL_ARG_ENABLE(kbind,[  --enable-kbind    enable V2 Kerberos IV bind (deprecated)], no)dnl
 OL_ARG_ENABLE(ipv6,[  --enable-ipv6      enable IPv6 support], auto)dnl
 OL_ARG_ENABLE(local,[  --enable-local    enable AF_LOCAL (AF_UNIX) socket support], auto)dnl
+OL_ARG_ENABLE(rewrite,[    --enable-rewrite      enable rewrite], no)dnl
 OL_ARG_ENABLE(x_compile,[  --enable-x-compile    enable cross compiling],
        no, [yes no])dnl
 
@@ -138,19 +149,24 @@ dnl ----------------------------------------------------------------
 dnl SLAPD OPTIONS
 AC_ARG_WITH(xxslapdoptions,[SLAPD (Standalone LDAP Daemon) Options:])
 OL_ARG_ENABLE(slapd,[  --enable-slapd    enable building slapd], yes)dnl
+OL_ARG_ENABLE(aci,[    --enable-aci      enable per-object ACIs (experimental)], no)dnl
 OL_ARG_ENABLE(cleartext,[    --enable-cleartext          enable cleartext passwords], yes)dnl
-OL_ARG_ENABLE(crypt,[    --enable-crypt          enable crypt(3) passwords], auto)dnl
-OL_ARG_ENABLE(kpasswd,[    --enable-kpasswd      enable kerberos password verification], no)dnl
+OL_ARG_ENABLE(crypt,[    --enable-crypt          enable crypt(3) passwords], no)dnl
+OL_ARG_ENABLE(dynamic,[    --enable-dynamic      enable linking built binaries with dynamic libs], no)dnl
+OL_ARG_ENABLE(kpasswd,[    --enable-kpasswd      enable Kerberos password verification], no)dnl
+OL_ARG_ENABLE(lmpasswd,[    --enable-lmpasswd    enable LAN Manager passwords], no)dnl
 OL_ARG_ENABLE(spasswd,[    --enable-spasswd      enable (Cyrus) SASL password verification], no)dnl
 OL_ARG_ENABLE(modules,[    --enable-modules      enable dynamic module support], no)dnl
-OL_ARG_ENABLE(multimaster,[    --enable-multimaster  enable multimaster replication], no)dnl
+dnl OL_ARG_ENABLE(multimaster,[    --enable-multimaster  enable multimaster replication], no)dnl
 OL_ARG_ENABLE(phonetic,[    --enable-phonetic    enable phonetic/soundex], no)dnl
-OL_ARG_ENABLE(rlookups,[    --enable-rlookups    enable reverse lookups], auto)dnl
-OL_ARG_ENABLE(aci,[    --enable-aci      enable per-object ACIs], no)dnl
+OL_ARG_ENABLE(rlookups,[    --enable-rlookups    enable reverse lookups], no)dnl
+OL_ARG_ENABLE(slp, [    --enable-slp          enable SLPv2 support], no)dnl     
 OL_ARG_ENABLE(wrappers,[    --enable-wrappers    enable tcp wrapper support], no)dnl
-OL_ARG_ENABLE(dynamic,[    --enable-dynamic      enable linking built binaries with dynamic libs], no)dnl
 
 dnl SLAPD Backend options
+OL_ARG_ENABLE(bdb,[    --enable-bdb      enable Berkeley DB backend], no)dnl
+OL_ARG_WITH(bdb_module,[    --with-bdb-module     module type], static,
+       [static dynamic])
 OL_ARG_ENABLE(dnssrv,[    --enable-dnssrv        enable dnssrv backend], no)dnl
 OL_ARG_WITH(dnssrv_module,[    --with-dnssrv-module  module type], static,
        [static dynamic])
@@ -164,6 +180,9 @@ OL_ARG_WITH(ldbm_module,[    --with-ldbm-module       module type], static,
        [static dynamic])
 OL_ARG_WITH(ldbm_type,[    --with-ldbm-type      use LDBM type], auto,
        [auto btree hash])
+OL_ARG_ENABLE(meta,[    --enable-meta    enable metadirectory backend], no)dnl
+OL_ARG_WITH(meta_module,[    --with-meta-module          module type], static,
+       [static dynamic])
 OL_ARG_ENABLE(passwd,[    --enable-passwd        enable passwd backend], no)dnl
 OL_ARG_WITH(passwd_module,[    --with-passwd-module  module type], static,
        [static dynamic])
@@ -197,6 +216,9 @@ dnl General "enable" options
 # validate options
 if test $ol_enable_slapd = no ; then
        dnl SLAPD was specificallly disabled
+       if test $ol_enable_bdb = yes ; then
+               AC_MSG_WARN([slapd disabled, ignoring --enable-bdb argument])
+       fi
        if test $ol_enable_dnssrv = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-dnssrv argument])
        fi
@@ -206,6 +228,9 @@ if test $ol_enable_slapd = no ; then
        if test $ol_enable_ldbm = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-ldbm argument])
        fi
+       if test $ol_enable_meta = yes ; then
+               AC_MSG_WARN([slapd disabled, ignoring --enable-meta argument])
+       fi
        if test $ol_enable_passwd = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-passwd argument])
        fi
@@ -224,9 +249,9 @@ if test $ol_enable_slapd = no ; then
        if test $ol_enable_modules = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-modules argument])
        fi
-       if test $ol_enable_multimaster = yes ; then
-               AC_MSG_WARN([slapd disabled, ignoring --enable-multimaster argument])
-       fi
+dnl    if test $ol_enable_multimaster = yes ; then
+dnl            AC_MSG_WARN([slapd disabled, ignoring --enable-multimaster argument])
+dnl    fi
        if test $ol_enable_wrappers = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-wrappers argument])
        fi
@@ -245,6 +270,9 @@ if test $ol_enable_slapd = no ; then
        if test $ol_with_ldbm_type != auto ; then
                AC_MSG_WARN([slapd disabled, ignoring --with-ldbm-type argument])
        fi
+       if test $ol_with_bdb_module != static ; then
+               AC_MSG_WARN([slapd disabled, ignoring --with-bdb-module argument])
+       fi
        if test $ol_with_dnssrv_module != static ; then
                AC_MSG_WARN([slapd disabled, ignoring --with-dnssrv-module argument])
        fi
@@ -254,6 +282,9 @@ if test $ol_enable_slapd = no ; then
        if test $ol_with_ldbm_module != static ; then
                AC_MSG_WARN([slapd disabled, ignoring --with-ldbm-module argument])
        fi
+       if test $ol_with_meta_module != static ; then
+               AC_MSG_WARN([slapd disabled, ignoring --with-meta-module argument])
+       fi
        if test $ol_with_passwd_module != static ; then
                AC_MSG_WARN([slapd disabled, ignoring --with-passwd-module argument])
        fi
@@ -272,11 +303,16 @@ if test $ol_enable_slapd = no ; then
        if test $ol_enable_slurpd = yes ; then
                AC_MSG_ERROR([slurpd requires slapd])
        fi
+       if test $ol_enable_rewrite = yes ; then
+               AC_MSG_WARN([slapd disabled, ignoring --enable-rewrite argument])
+       fi
 
        # force settings to no
+       ol_enable_bdb=no
        ol_enable_dnssrv=no
        ol_enable_ldap=no
        ol_enable_ldbm=no
+       ol_enable_meta=no
        ol_enable_passwd=no
        ol_enable_perl=no
        ol_enable_shell=no
@@ -284,7 +320,7 @@ if test $ol_enable_slapd = no ; then
        ol_enable_sql=no
 
        ol_enable_modules=no
-       ol_enable_multimaster=no
+dnl    ol_enable_multimaster=no
        ol_enable_phonetic=no
        ol_enable_rlookups=no
        ol_enable_aci=no
@@ -294,9 +330,11 @@ if test $ol_enable_slapd = no ; then
        ol_with_ldbm_api=no
        ol_with_ldbm_type=no
 
+       ol_with_bdb_module=static
        ol_with_dnssrv_module=static
        ol_with_ldap_module=static
        ol_with_ldbm_module=static
+       ol_with_meta_module=static
        ol_with_passwd_module=static
        ol_with_perl_module=static
        ol_with_shell_module=static
@@ -305,6 +343,8 @@ if test $ol_enable_slapd = no ; then
 
        ol_enable_slurpd=no
 
+       ol_enable_rewrite=no
+
 elif test $ol_enable_ldbm = no ; then
        dnl SLAPD without LDBM
 
@@ -321,8 +361,10 @@ elif test $ol_enable_ldbm = no ; then
        fi
 
        if test $ol_enable_modules != yes -a \
+               $ol_enable_bdb = no -a \
                $ol_enable_dnssrv = no -a \
                $ol_enable_ldap = no -a \
+               $ol_enable_meta = no -a \
                $ol_enable_passwd = no -a \
                $ol_enable_perl = no -a \
                $ol_enable_shell = no -a \
@@ -358,13 +400,19 @@ if test $ol_enable_slurpd = yes ; then
        fi
 fi
 
+if test $ol_enable_lmpasswd = yes ; then
+       if test $ol_with_tls = no ; then
+               AC_MSG_ERROR([LAN Manager passwords require OpenSSL])
+       fi
+fi
+
 if test $ol_enable_kbind = yes -o $ol_enable_kpasswd = yes ; then
        if test $ol_with_kerberos = no ; then
                AC_MSG_ERROR([options require --with-kerberos])
        fi
        ol_with_kerberos=yes
 elif test $ol_enable_kbind = no -o $ol_enable_kpasswd = no ; then
-       if test $ol_with_kerberos != no -a $ol_with_kerberos != no ; then
+       if test $ol_with_kerberos != no -a $ol_with_kerberos != auto ; then
                AC_MSG_WARN([Kerberos detection enabled unnecessarily]);
        fi
        ol_with_kerberos=no
@@ -374,7 +422,7 @@ if test $ol_enable_spasswd = yes ; then
        if test $ol_with_cyrus_sasl = no ; then
                AC_MSG_ERROR([options require --with-cyrus-sasl])
        fi
-       ol_link_spasswd=yes
+       ol_with_cyrus_sasl=yes
 fi
 
 AC_MSG_RESULT(done)
@@ -395,18 +443,22 @@ BUILD_SLURPD=no
 
 BUILD_THREAD=no
 
+BUILD_BDB=no
 BUILD_DNSSRV=no
 BUILD_LDAP=no
 BUILD_LDBM=no
+BUILD_META=no
 BUILD_PASSWD=no
 BUILD_PERL=no
 BUILD_SHELL=no
 BUILD_SQL=no
 BUILD_TCL=no
 
+BUILD_BDB_DYNAMIC=static
 BUILD_DNSSRV_DYNAMIC=static
 BUILD_LDAP_DYNAMIC=static
 BUILD_LDBM_DYNAMIC=static
+BUILD_META_DYNAMIC=static
 BUILD_PASSWD_DYNAMIC=static
 BUILD_PERL_DYNAMIC=static
 BUILD_SHELL_DYNAMIC=static
@@ -435,6 +487,8 @@ TLS_LIBS=
 MODULES_LIBS=
 AUTH_LIBS=
 
+SLAPD_SLP_LIBS=
+
 dnl ================================================================
 dnl Checks for programs
 
@@ -594,28 +648,6 @@ AC_CHECK_LIB(s, afopen, [
 ])
 
 
-dnl ----------------------------------------------------------------
-dnl PF_INET6 support requires getaddrinfo
-dnl PF_LOCAL may use getaddrinfo in available
-AC_CHECK_FUNCS( getaddrinfo )
-
-if test $ac_cv_func_getaddrinfo = no ; then
-       if test $ol_enable_ipv6 = yes ; then
-               AC_MSG_ERROR([IPv6 support requires getaddrinfo()])
-       fi
-       ol_enable_ipv6=no
-fi
-
-if test $ol_enable_local != no ; then
-       AC_CHECK_HEADERS( sys/un.h )
-
-       if test $ol_enable_local = auto ; then
-               ol_enable_local=$ac_cv_header_sys_un_h
-       elif test $ac_cv_header_sys_un_h = no ; then
-               AC_MSG_ERROR([AF_LOCAL domain support requires sys/un.h])
-       fi
-fi
-
 dnl ----------------------------------------------------------------
 dnl Check for module support
 ol_link_modules=no
@@ -636,9 +668,11 @@ if test $ol_enable_modules != no ; then
        fi
        ol_link_modules=yes
 else
+       ol_with_bdb_module=static
        ol_with_dnssrv_module=static
        ol_with_ldap_module=static
        ol_with_ldbm_module=static
+       ol_with_meta_module=static
        ol_with_passwd_module=static
        ol_with_perl_module=static
        ol_with_shell_module=static
@@ -712,6 +746,8 @@ AC_CHECK_HEADERS(   \
 dnl ----------------------------------------------------------------
 dnl Checks for libraries
 
+AC_CHECK_FUNC(dlopen, :, [AC_CHECK_LIB(dl, dlopen)])
+
 dnl HP-UX requires -lV3
 AC_CHECK_LIB(V3, sigset)
 
@@ -807,6 +843,44 @@ if test "$ol_enable_dnssrv" = yes -a "$ol_link_dnssrv" = no ; then
        AC_MSG_ERROR([DNSSRV requires res_query()])
 fi
 
+dnl ----------------------------------------------------------------
+dnl PF_INET6 support requires getaddrinfo and INET6_ADDRSTRLEN
+dnl PF_LOCAL may use getaddrinfo in available
+AC_CHECK_FUNCS( getaddrinfo inet_ntop )
+
+ol_link_ipv6=no
+if test $ac_cv_func_getaddrinfo = no -o $ac_cv_func_inet_ntop = no ; then
+       if test $ol_enable_ipv6 = yes ; then
+               AC_MSG_ERROR([IPv6 support requires getaddrinfo() and inet_ntop()])
+       fi
+else
+       AC_CHECK_FUNCS( gai_strerror )
+
+       AC_CACHE_CHECK([INET6_ADDRSTRLEN],[ol_cv_inet6_addrstrlen],[
+               AC_EGREP_CPP(__has_inet6_addrstrlen__,[
+#                      include <netinet/in.h>
+#                      ifdef INET6_ADDRSTRLEN
+                               __has_inet6_addrstrlen__;
+#                      endif
+               ], [ol_cv_inet6_addrstrlen=yes], [ol_cv_inet6_addrstrlen=no])])
+
+       if test $ol_cv_inet6_addrstrlen = yes ; then
+               ol_link_ipv6=yes
+       elif test $ol_enable_ipv6 = yes ; then
+               AC_MSG_ERROR([IPv6 support requires INET6_ADDRSTRLEN])
+       fi
+fi
+
+if test $ol_enable_local != no ; then
+       AC_CHECK_HEADERS( sys/un.h )
+
+       if test $ol_enable_local = auto ; then
+               ol_enable_local=$ac_cv_header_sys_un_h
+       elif test $ac_cv_header_sys_un_h = no ; then
+               AC_MSG_ERROR([AF_LOCAL domain support requires sys/un.h])
+       fi
+fi
+
 dnl ----------------------------------------------------------------
 dnl Kerberos
 ol_link_kbind=no
@@ -889,7 +963,7 @@ if test $ol_link_krb5 = yes -a \( $ol_with_kerberos = yes -o \
 
                else
                        have_425=no
-                       AC_MSG_WARN([Unrecongized Kerberos5 Implementation])
+                       AC_MSG_WARN([Unrecongized Kerberos V Implementation])
                fi
 
                if test $have_k425 = yes ; then
@@ -1034,6 +1108,16 @@ elif test $ol_with_tls != no ; then
        AC_ERROR([Could not locate TLS/SSL package])
 fi
 
+dnl ----------------------------------------------------------------
+dnl LAN Manger password checking requires DES from OpenSSL
+if test $ol_enable_lmpasswd != no; then
+       if test $ol_link_tls != yes ; then
+               AC_ERROR([LAN Manager passwords require OpenSSL])
+       fi
+
+       AC_DEFINE(SLAPD_LMHASH, 1, [define to support LAN Manager passwords])
+fi
+
 dnl ----------------------------------------------------------------
 dnl Tests for reentrant functions necessary to build a
 dnl thread_safe -lldap.
@@ -1888,7 +1972,11 @@ if test $ol_with_cyrus_sasl != no ; then
                                AC_MSG_WARN([Strong authentication not supported!])
                        fi
                fi
+
+       elif test $ol_enable_spasswd != no ; then
+               ol_link_spasswd=yes
        fi
+
 else
        AC_MSG_WARN([SASL authentication not supported!])
        if test $ol_link_tls = no ; then
@@ -2001,6 +2089,23 @@ if test $ol_enable_proctitle != no ; then
        fi
 fi
 
+dnl ----------------------------------------------------------------
+dnl Check for SLPv2 Compliant API Library
+if test $ol_enable_slp != no ; then
+       AC_CHECK_HEADERS( slp.h )
+
+       if test $ac_cv_header_slp_h = yes ; then
+               AC_CHECK_LIB(slp, SLPOpen, [have_slp=yes], [have_slp=no])
+               if test $have_slp = yes ; then
+                       AC_DEFINE(HAVE_SLP, 1, [define if you have -lslp])
+                       SLAPD_SLP_LIBS=-lslp
+               fi
+
+       elif test $ol_enable_slp = yes ; then
+               AC_MSG_ERROR([SLP not found])
+       fi
+fi
+
 dnl ----------------------------------------------------------------
 dnl Checks for typedefs, structures, and compiler characteristics.
 AC_TYPE_MODE_T
@@ -2084,6 +2189,7 @@ AC_CHECK_FUNCS(           \
        chroot                  \
        endgrent                \
        endpwent                \
+       fcntl                   \
        flock                   \
        getdtablesize   \
        getgrgid                \
@@ -2156,10 +2262,6 @@ if test "$ol_enable_syslog" = yes ; then
        AC_DEFINE(LDAP_SYSLOG,1,
                [define this to add syslog code])
 fi
-if test "$ol_enable_libui" = yes ; then
-       AC_DEFINE(LDAP_LIBUI,1,
-               [define this for LDAP User Interface support])
-fi
 if test "$ol_enable_cache" = no ; then
        AC_DEFINE(LDAP_NOCACHE,1,
                [define this to remove -lldap cache support])
@@ -2177,7 +2279,7 @@ fi
 if test "$ol_enable_local" != no; then
        AC_DEFINE(LDAP_PF_LOCAL,1,[define to support PF_LOCAL])
 fi
-if test "$ol_enable_ipv6" != no; then
+if test "$ol_link_ipv6" != no; then
        AC_DEFINE(LDAP_PF_INET6,1,[define to support PF_INET6])
 fi
 if test "$ol_enable_cleartext" != no ; then
@@ -2192,9 +2294,9 @@ fi
 if test "$ol_link_spasswd" != no ; then
        AC_DEFINE(SLAPD_SPASSWD,1,[define to support SASL passwords])
 fi
-if test "$ol_enable_multimaster" != no ; then
-       AC_DEFINE(SLAPD_MULTIMASTER,1,[define to support multimaster replication])
-fi
+dnl if test "$ol_enable_multimaster" != no ; then
+dnl    AC_DEFINE(SLAPD_MULTIMASTER,1,[define to support multimaster replication])
+dnl fi
 if test "$ol_enable_phonetic" != no ; then
        AC_DEFINE(SLAPD_PHONETIC,1,[define to support phonetic])
 fi
@@ -2211,6 +2313,19 @@ if test "$ol_link_modules" != no ; then
        SLAPD_MODULES_LDFLAGS="-dlopen self"
 fi
 
+if test "$ol_enable_bdb" != no ; then
+       AC_DEFINE(SLAPD_BDB,1,[define to support BDB backend])
+       BUILD_SLAPD=yes
+       BUILD_BDB=yes
+       if test "$ol_with_bdb_module" != static ; then
+               AC_DEFINE(SLAPD_BDB_DYNAMIC,1,
+                       [define to support dynamic BDB backend])
+               BUILD_BDB=mod
+               BUILD_BDB_DYNAMIC=shared
+               SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-bdb/back_bdb.la"
+       fi
+fi
+
 if test "$ol_link_dnssrv" != no ; then
        AC_DEFINE(SLAPD_DNSSRV,1,[define to support DNS SRV backend])
        BUILD_SLAPD=yes
@@ -2250,6 +2365,25 @@ if test "$ol_link_ldbm" != no ; then
        fi
 fi
 
+if test "$ol_enable_meta" != no ; then
+       if test "$ol_enable_ldap" = no ; then
+               AC_MSG_ERROR([need --enable-ldap to use --enable-meta])
+       fi
+       if test "$ol_enable_rewrite" = no ; then
+               AC_MSG_ERROR([need --enable-rewrite to use --enable-meta])
+       fi
+       AC_DEFINE(SLAPD_META,1,[define to support LDAP Metadirectory backend])
+       BUILD_SLAPD=yes
+       BUILD_META=yes
+       if test "$ol_with_meta_module" != static ; then
+               AC_DEFINE(SLAPD_META_DYNAMIC,1,
+                       [define to support dynamic LDAP Metadirectory backend])
+               BUILD_META=mod
+               BUILD_META_DYNAMIC=shared
+               SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-meta/back_meta.la"
+       fi
+fi
+
 if test "$ol_enable_passwd" != no ; then
        AC_DEFINE(SLAPD_PASSWD,1,[define to support PASSWD backend])
        BUILD_SLAPD=yes
@@ -2320,6 +2454,12 @@ if test "$ol_enable_slurpd" != no -a "$ol_link_threads" != no -a \
        BUILD_SLURPD=yes
 fi
 
+if test "$ol_enable_rewrite" != no ; then
+       AC_DEFINE(ENABLE_REWRITE,1,[define to enable rewriting in back-ldap and back-meta])
+       BUILD_REWRITE=yes
+       SLAPD_LIBS="$SLAPD_LIBS -lrewrite"
+fi
+
 dnl ----------------------------------------------------------------
 
 if test "$LINK_BINS_DYNAMIC" = yes; then
@@ -2346,17 +2486,21 @@ AC_SUBST(LT_LIB_LINKAGE)
 AC_SUBST(DYN_EXT)
 
 AC_SUBST(BUILD_SLAPD)
+  AC_SUBST(BUILD_BDB)
   AC_SUBST(BUILD_DNSSRV)
   AC_SUBST(BUILD_LDAP)
   AC_SUBST(BUILD_LDBM)
+  AC_SUBST(BUILD_META)
   AC_SUBST(BUILD_PASSWD)
   AC_SUBST(BUILD_PERL)
   AC_SUBST(BUILD_SHELL)
   AC_SUBST(BUILD_SQL)
   AC_SUBST(BUILD_TCL)
+  AC_SUBST(BUILD_BDB_DYNAMIC)
   AC_SUBST(BUILD_DNSSRV_DYNAMIC)
   AC_SUBST(BUILD_LDAP_DYNAMIC)
   AC_SUBST(BUILD_LDBM_DYNAMIC)
+  AC_SUBST(BUILD_META_DYNAMIC)
   AC_SUBST(BUILD_PASSWD_DYNAMIC)
   AC_SUBST(BUILD_PERL_DYNAMIC)
   AC_SUBST(BUILD_SHELL_DYNAMIC)
@@ -2392,6 +2536,8 @@ AC_SUBST(TLS_LIBS)
 AC_SUBST(MODULES_LIBS)
 AC_SUBST(AUTH_LIBS)
 
+AC_SUBST(SLAPD_SLP_LIBS)
+
 AC_SUBST(SLAPD_SQL_LDFLAGS)
 AC_SUBST(SLAPD_SQL_LIBS)
 AC_SUBST(SLAPD_SQL_INCLUDES)
@@ -2427,11 +2573,14 @@ libraries/libldbm/Makefile:build/top.mk:libraries/libldbm/Makefile.in:build/lib.
 libraries/libldif/Makefile:build/top.mk:libraries/libldif/Makefile.in:build/lib.mk:build/lib-static.mk \
 libraries/liblunicode/Makefile:build/top.mk:libraries/liblunicode/Makefile.in:build/lib.mk:build/lib-static.mk \
 libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk:build/lib-static.mk       \
+libraries/librewrite/Makefile:build/top.mk:libraries/librewrite/Makefile.in:build/lib.mk:build/lib-static.mk    \
 servers/Makefile:build/top.mk:servers/Makefile.in:build/dir.mk \
 servers/slapd/Makefile:build/top.mk:servers/slapd/Makefile.in:build/srv.mk \
+servers/slapd/back-bdb/Makefile:build/top.mk:servers/slapd/back-bdb/Makefile.in:build/mod.mk \
 servers/slapd/back-dnssrv/Makefile:build/top.mk:servers/slapd/back-dnssrv/Makefile.in:build/mod.mk \
 servers/slapd/back-ldap/Makefile:build/top.mk:servers/slapd/back-ldap/Makefile.in:build/mod.mk \
 servers/slapd/back-ldbm/Makefile:build/top.mk:servers/slapd/back-ldbm/Makefile.in:build/mod.mk \
+servers/slapd/back-meta/Makefile:build/top.mk:servers/slapd/back-meta/Makefile.in:build/mod.mk \
 servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/back-passwd/Makefile.in:build/mod.mk \
 servers/slapd/back-perl/Makefile:build/top.mk:servers/slapd/back-perl/Makefile.in:build/mod.mk \
 servers/slapd/back-shell/Makefile:build/top.mk:servers/slapd/back-shell/Makefile.in:build/mod.mk \