]> git.sur5r.net Git - openldap/blobdiff - configure.in
Do not require ac/string.h for lber_pvt.h
[openldap] / configure.in
index 72cd4c0631fb2e0f29b8d66eb4786d97441f5249..60c446096383f3cc7459a1e861ae9397a2d3fecf 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-2015 The OpenLDAP Foundation.
+dnl Copyright 1998-2018 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-2015 The OpenLDAP Foundation. All rights reserved.
+AC_COPYRIGHT([[Copyright 1998-2018 The OpenLDAP Foundation. All rights reserved.
 Restrictions apply, see COPYRIGHT and LICENSE files.]])
 AC_REVISION([$Id$])
 AC_INIT([OpenLDAP],,[http://www.openldap.org/its/])
 Restrictions apply, see COPYRIGHT and LICENSE files.]])
 AC_REVISION([$Id$])
 AC_INIT([OpenLDAP],,[http://www.openldap.org/its/])
@@ -98,7 +98,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-2015 The OpenLDAP Foundation
+ * Copyright 1998-2018 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
@@ -288,6 +288,7 @@ Backends="bdb \
        ldap \
        mdb \
        meta \
        ldap \
        mdb \
        meta \
+       asyncmeta \
        monitor \
        ndb \
        null \
        monitor \
        ndb \
        null \
@@ -296,7 +297,8 @@ Backends="bdb \
        relay \
        shell \
        sock \
        relay \
        shell \
        sock \
-       sql"
+       sql \
+       wt"
 
 AC_ARG_ENABLE(xxslapbackends,[
 SLAPD Backend Options:])
 
 AC_ARG_ENABLE(xxslapbackends,[
 SLAPD Backend Options:])
@@ -315,6 +317,8 @@ OL_ARG_ENABLE(mdb,[    --enable-mdb   enable mdb database backend],
        yes, [no yes mod], ol_enable_backends)dnl
 OL_ARG_ENABLE(meta,[    --enable-meta    enable metadirectory backend],
        no, [no yes mod], ol_enable_backends)dnl
        yes, [no yes mod], ol_enable_backends)dnl
 OL_ARG_ENABLE(meta,[    --enable-meta    enable metadirectory backend],
        no, [no yes mod], ol_enable_backends)dnl
+OL_ARG_ENABLE(asyncmeta,[    --enable-asyncmeta          enable asynchronous 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
 OL_ARG_ENABLE(ndb,[    --enable-ndb      enable MySQL NDB Cluster backend],
 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],
@@ -333,11 +337,14 @@ 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
        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(wt,[    --enable-wt        enable WiredTiger backend],
+       no, [no yes mod], ol_enable_backends)dnl
 
 dnl ----------------------------------------------------------------
 dnl SLAPD Overlay Options
 Overlays="accesslog \
        auditlog \
 
 dnl ----------------------------------------------------------------
 dnl SLAPD Overlay Options
 Overlays="accesslog \
        auditlog \
+       autoca \
        collect \
        constraint \
        dds \
        collect \
        constraint \
        dds \
@@ -366,6 +373,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(autoca,[    --enable-autoca        Automatic Certificate Authority 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],
 OL_ARG_ENABLE(collect,[    --enable-collect      Collect overlay],
        no, [no yes mod], ol_enable_overlays)
 OL_ARG_ENABLE(constraint,[    --enable-constraint        Attribute Constraint overlay],
@@ -413,7 +422,7 @@ dnl ----------------------------------------------------------------
 
 # validate options
 if test $ol_enable_slapd = no ; then
 
 # validate options
 if test $ol_enable_slapd = no ; then
-       dnl SLAPD was specificallly disabled
+       dnl SLAPD was specifically disabled
        if test $ol_enable_slapi = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-slapi argument])
        fi
        if test $ol_enable_slapi = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-slapi argument])
        fi
@@ -477,6 +486,7 @@ elif test $ol_enable_modules != yes &&
        test $ol_enable_ldap = no &&
        test $ol_enable_mdb = no &&
        test $ol_enable_meta = no &&
        test $ol_enable_ldap = no &&
        test $ol_enable_mdb = no &&
        test $ol_enable_meta = no &&
+       test $ol_enable_asyncmeta = no &&
        test $ol_enable_monitor = no &&
        test $ol_enable_ndb = no &&
        test $ol_enable_null = no &&
        test $ol_enable_monitor = no &&
        test $ol_enable_ndb = no &&
        test $ol_enable_null = no &&
@@ -485,7 +495,8 @@ elif test $ol_enable_modules != yes &&
        test $ol_enable_relay = no &&
        test $ol_enable_shell = no &&
        test $ol_enable_sock = no &&
        test $ol_enable_relay = no &&
        test $ol_enable_shell = no &&
        test $ol_enable_sock = no &&
-       test $ol_enable_sql = no ; then
+       test $ol_enable_sql = no &&
+       test $ol_enable_wt = no ; then
        dnl no slapd backend
 
        if test $ol_enable_slapd = yes ; then
        dnl no slapd backend
 
        if test $ol_enable_slapd = yes ; then
@@ -500,6 +511,10 @@ if test $ol_enable_meta/$ol_enable_ldap = yes/no ; then
        AC_MSG_ERROR([--enable-meta requires --enable-ldap])
 fi
 
        AC_MSG_ERROR([--enable-meta requires --enable-ldap])
 fi
 
+if test $ol_enable_asyncmeta/$ol_enable_ldap = yes/no ; then
+       AC_MSG_ERROR([--enable-asyncmeta requires --enable-ldap])
+fi
+
 if test $ol_enable_lmpasswd = yes ; then
        if test $ol_with_tls = no ; then
                AC_MSG_ERROR([LAN Manager passwords require OpenSSL])
 if test $ol_enable_lmpasswd = yes ; then
        if test $ol_with_tls = no ; then
                AC_MSG_ERROR([LAN Manager passwords require OpenSSL])
@@ -539,6 +554,7 @@ BUILD_HDB=no
 BUILD_LDAP=no
 BUILD_MDB=no
 BUILD_META=no
 BUILD_LDAP=no
 BUILD_MDB=no
 BUILD_META=no
+BUILD_ASYNCMETA=no
 BUILD_MONITOR=no
 BUILD_NDB=no
 BUILD_NULL=no
 BUILD_MONITOR=no
 BUILD_NDB=no
 BUILD_NULL=no
@@ -548,9 +564,11 @@ BUILD_RELAY=no
 BUILD_SHELL=no
 BUILD_SOCK=no
 BUILD_SQL=no
 BUILD_SHELL=no
 BUILD_SOCK=no
 BUILD_SQL=no
+BUILD_WT=no
 
 BUILD_ACCESSLOG=no
 BUILD_AUDITLOG=no
 
 BUILD_ACCESSLOG=no
 BUILD_AUDITLOG=no
+BUILD_AUTOCA=no
 BUILD_CONSTRAINT=no
 BUILD_DDS=no
 BUILD_DENYOP=no
 BUILD_CONSTRAINT=no
 BUILD_DDS=no
 BUILD_DENYOP=no
@@ -592,6 +610,7 @@ KRB4_LIBS=
 KRB5_LIBS=
 SASL_LIBS=
 TLS_LIBS=
 KRB5_LIBS=
 SASL_LIBS=
 TLS_LIBS=
+WITH_TLS_TYPE=
 MODULES_LIBS=
 SLAPI_LIBS=
 LIBSLAPI=
 MODULES_LIBS=
 SLAPI_LIBS=
 LIBSLAPI=
@@ -951,7 +970,7 @@ AC_CHECK_FUNC(select, :, AC_MSG_ERROR([select() required.]))
 
 if test "${ac_cv_header_winsock_h}" != yes; then
        dnl Select arg types
 
 if test "${ac_cv_header_winsock_h}" != yes; then
        dnl Select arg types
-       dnl (if this detection becomes permenent, it and the select() detection
+       dnl (if this detection becomes permanent, it and the select() detection
        dnl should be done before the yielding select test) 
        AC_FUNC_SELECT_ARGTYPES
 fi
        dnl should be done before the yielding select test) 
        AC_FUNC_SELECT_ARGTYPES
 fi
@@ -977,6 +996,18 @@ if test "${ac_cv_header_sys_epoll_h}" = yes; then
        AC_DEFINE(HAVE_EPOLL,1, [define if your system supports epoll])],[AC_MSG_RESULT(no)],[AC_MSG_RESULT(no)])
 fi
 
        AC_DEFINE(HAVE_EPOLL,1, [define if your system supports epoll])],[AC_MSG_RESULT(no)],[AC_MSG_RESULT(no)])
 fi
 
+dnl ----------------------------------------------------------------
+AC_CHECK_HEADERS( sys/event.h )
+if test "${ac_cv_header_sys_event_h}" = yes; then
+AC_MSG_CHECKING(for kqueue system call)
+AC_RUN_IFELSE([AC_LANG_SOURCE([[int main(int argc, char **argv)
+{
+       int kqfd = kqueue();
+       exit (kqfd == -1 ? 1 : 0);
+}]])],[AC_MSG_RESULT(yes)
+AC_DEFINE(HAVE_KQUEUE,1, [define if your system supports kqueue])],[AC_MSG_RESULT(no)],[AC_MSG_RESULT(no)])
+fi
+
 dnl ----------------------------------------------------------------
 AC_CHECK_HEADERS( sys/devpoll.h )
 dnl "/dev/poll" needs <sys/poll.h> as well...
 dnl ----------------------------------------------------------------
 AC_CHECK_HEADERS( sys/devpoll.h )
 dnl "/dev/poll" needs <sys/poll.h> as well...
@@ -1165,7 +1196,7 @@ if test $ol_with_tls = openssl || test $ol_with_tls = auto ; then
        AC_CHECK_HEADERS(openssl/ssl.h)
 
        if test $ac_cv_header_openssl_ssl_h = yes ; then
        AC_CHECK_HEADERS(openssl/ssl.h)
 
        if test $ac_cv_header_openssl_ssl_h = yes ; then
-               AC_CHECK_LIB(ssl, SSL_library_init,
+               AC_CHECK_LIB(ssl, SSL_CTX_set_msg_callback,
                        [have_openssl=yes
                        need_rsaref=no], [have_openssl=no],
                        [-lcrypto])
                        [have_openssl=yes
                        need_rsaref=no], [have_openssl=no],
                        [-lcrypto])
@@ -1180,6 +1211,7 @@ if test $ol_with_tls = openssl || test $ol_with_tls = auto ; then
                if test $have_openssl = yes ; then
                        ol_with_tls=openssl
                        ol_link_tls=yes
                if test $have_openssl = yes ; then
                        ol_with_tls=openssl
                        ol_link_tls=yes
+                       WITH_TLS_TYPE=openssl
 
                        AC_DEFINE(HAVE_OPENSSL, 1, 
                                [define if you have OpenSSL])
 
                        AC_DEFINE(HAVE_OPENSSL, 1, 
                                [define if you have OpenSSL])
@@ -1207,11 +1239,11 @@ if test $ol_link_tls = no ; then
                AC_CHECK_HEADERS(gnutls/gnutls.h)
 
                if test $ac_cv_header_gnutls_gnutls_h = yes ; then
                AC_CHECK_HEADERS(gnutls/gnutls.h)
 
                if test $ac_cv_header_gnutls_gnutls_h = yes ; then
-                       AC_PREPROC_IFELSE(
+                       AC_PREPROC_IFELSE([AC_LANG_SOURCE(
                                [[#include <gnutls/gnutls.h>]
 [#if GNUTLS_VERSION_NUMBER < 0x020c00]
 [#error "GnuTLS 2.12.0 or newer required"]
                                [[#include <gnutls/gnutls.h>]
 [#if GNUTLS_VERSION_NUMBER < 0x020c00]
 [#error "GnuTLS 2.12.0 or newer required"]
-[#endif]],
+[#endif]])],
                                        , [AC_MSG_FAILURE([GnuTLS is too old])])
 
                        AC_CHECK_LIB(gnutls, gnutls_init,
                                        , [AC_MSG_FAILURE([GnuTLS is too old])])
 
                        AC_CHECK_LIB(gnutls, gnutls_init,
@@ -1220,6 +1252,7 @@ if test $ol_link_tls = no ; then
                        if test $have_gnutls = yes ; then
                                ol_with_tls=gnutls
                                ol_link_tls=yes
                        if test $have_gnutls = yes ; then
                                ol_with_tls=gnutls
                                ol_link_tls=yes
+                               WITH_TLS_TYPE=gnutls
 
                                TLS_LIBS="-lgnutls"
 
 
                                TLS_LIBS="-lgnutls"
 
@@ -1473,7 +1506,7 @@ pthread_rwlock_t rwlock;
                        AC_DEFINE(HAVE_PTHREAD_DETACH,1,
                                [define if you have pthread_detach function])
 
                        AC_DEFINE(HAVE_PTHREAD_DETACH,1,
                                [define if you have pthread_detach function])
 
-                       dnl Check for setconcurreny functions
+                       dnl Check for setconcurrency functions
                        AC_CHECK_FUNCS( \
                                pthread_setconcurrency \
                                pthread_getconcurrency \
                        AC_CHECK_FUNCS( \
                                pthread_setconcurrency \
                                pthread_getconcurrency \
@@ -1488,7 +1521,7 @@ pthread_rwlock_t rwlock;
                                AC_MSG_ERROR([LinuxThreads header/library mismatch]);
                        fi
 
                                AC_MSG_ERROR([LinuxThreads header/library mismatch]);
                        fi
 
-                       AC_CACHE_CHECK([if pthread_create() works],
+                       AC_CACHE_CHECK([AC_LANG_SOURCE([if pthread_create() works])],
                                ol_cv_pthread_create_works,[
                        AC_RUN_IFELSE([OL_PTHREAD_TEST_PROGRAM],
                                [ol_cv_pthread_create_works=yes],
                                ol_cv_pthread_create_works,[
                        AC_RUN_IFELSE([OL_PTHREAD_TEST_PROGRAM],
                                [ol_cv_pthread_create_works=yes],
@@ -1719,7 +1752,7 @@ case $ol_with_threads in auto | yes | lwp)
                                ol_with_yielding_select=yes
                        fi
 
                                ol_with_yielding_select=yes
                        fi
 
-                       dnl Check for setconcurreny functions
+                       dnl Check for setconcurrency functions
                        AC_CHECK_FUNCS( \
                                thr_setconcurrency \
                                thr_getconcurrency \
                        AC_CHECK_FUNCS( \
                                thr_setconcurrency \
                                thr_getconcurrency \
@@ -1954,7 +1987,7 @@ hosts_access(req)
                AC_DEFINE(HAVE_TCPD,1, [define if you have -lwrap])
                WRAP_LIBS="-lwrap"
        elif test $ol_enable_wrappers = yes ; then
                AC_DEFINE(HAVE_TCPD,1, [define if you have -lwrap])
                WRAP_LIBS="-lwrap"
        elif test $ol_enable_wrappers = yes ; then
-               AC_MSG_ERROR([could not find TCP wrappers, select apppropriate options or disable])
+               AC_MSG_ERROR([could not find TCP wrappers, select appropriate options or disable])
        else
                AC_MSG_WARN([could not find TCP wrappers, support disabled])
                WRAP_LIBS=""
        else
                AC_MSG_WARN([could not find TCP wrappers, support disabled])
                WRAP_LIBS=""
@@ -2082,6 +2115,33 @@ if test $ol_enable_ndb != no ; then
        fi
 fi
 
        fi
 fi
 
+dnl ----------------------------------------------------------------
+dnl WiredTiger
+ol_link_wt=no
+if test $ol_enable_wt != no ; then
+       AC_CHECK_PROG(PKGCONFIG,pkg-config,yes)
+       if test "$PKGCONFIG" != yes ; then
+               AC_MSG_ERROR([could not locate pkg-config])
+       fi
+       WT_INCS=`pkg-config --cflags wiredtiger`
+       WT_LIBS=`pkg-config --libs wiredtiger`
+
+       save_CFLAGS="$CFLAGS"
+       save_LDFLAGS="$LDFLAGS"
+       CFLAGS="$WT_INCS"
+       CPPFLAGS="$WT_INCS"
+       LDFLAGS="$WT_LIBS"
+       AC_CHECK_HEADERS([wiredtiger.h])
+       AC_CHECK_LIB(wiredtiger,wiredtiger_version,[: ok],[
+               AC_MSG_ERROR([could not locate wiredtiger library])
+       ])
+       CFLAGS="$save_CFLAGS"
+       CPPFLAGS="$save_CPPFLAGS"
+       LDFLAGS="$save_LDFLAGS"
+       SLAPD_LIBS="$SLAPD_LIBS \$(WT_LIBS)"
+       ol_link_wt=yes
+fi
+
 dnl ----------------------------------------------------------------
 dnl International Components for Unicode
 OL_ICU
 dnl ----------------------------------------------------------------
 dnl International Components for Unicode
 OL_ICU
@@ -2197,10 +2257,16 @@ if test $ol_enable_crypt != no ; then
                AC_CHECK_LIB(crypt, crypt, [LUTIL_LIBS="$LUTIL_LIBS -lcrypt"
                        have_crypt=yes], [have_crypt=no])])
 
                AC_CHECK_LIB(crypt, crypt, [LUTIL_LIBS="$LUTIL_LIBS -lcrypt"
                        have_crypt=yes], [have_crypt=no])])
 
+       LIBS="$TLS_LIBS $LIBS"
+       AC_CHECK_LIB(crypt, crypt_r, [have_crypt_r=yes], [have_crypt_r=no])
+
        LIBS="$save_LIBS"
 
        if test $have_crypt = yes ; then
                AC_DEFINE(HAVE_CRYPT,1, [define if crypt(3) is available])
        LIBS="$save_LIBS"
 
        if test $have_crypt = yes ; then
                AC_DEFINE(HAVE_CRYPT,1, [define if crypt(3) is available])
+               if test $have_crypt_r = yes ; then
+                       AC_DEFINE(HAVE_CRYPT_R, 1, [define if crypt_r() is also available])
+               fi
        else
                AC_MSG_WARN([could not find crypt])
                if test $ol_enable_crypt = yes ; then
        else
                AC_MSG_WARN([could not find crypt])
                if test $ol_enable_crypt = yes ; then
@@ -2505,7 +2571,7 @@ if test "$ac_cv_func_getpeereid" != yes; then
                fi
                AC_CHECK_MEMBERS([struct stat.st_fstype, struct stat.st_vfstype])
                if test "$ac_cv_member_struct_stat_st_fstype" = yes; then
                fi
                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_COMPILE_IFELSE([AC_LANG_SOURCE([struct stat st; char *ptr=st.st_fstype;])],
                                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
                                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
@@ -2704,6 +2770,20 @@ 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_asyncmeta" != no ; then
+       BUILD_SLAPD=yes
+       BUILD_ASYNCMETA=$ol_enable_asyncmeta
+       BUILD_REWRITE=yes
+       if test "$ol_enable_asyncmeta" = mod ; then
+               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-asyncmeta"
+               MFLAG=SLAPD_MOD_DYNAMIC
+       else
+               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-asyncmeta"
+               MFLAG=SLAPD_MOD_STATIC
+       fi
+       AC_DEFINE_UNQUOTED(SLAPD_ASYNCMETA,$MFLAG,[define to support LDAP Async Metadirectory backend])
+fi
+
 if test "$ol_enable_ndb" != no ; then
        BUILD_SLAPD=yes
        BUILD_NDB=$ol_enable_ndb
 if test "$ol_enable_ndb" != no ; then
        BUILD_SLAPD=yes
        BUILD_NDB=$ol_enable_ndb
@@ -2811,6 +2891,19 @@ if test "$ol_link_sql" != no ; then
        AC_DEFINE_UNQUOTED(SLAPD_SQL,$MFLAG,[define to support SQL backend])
 fi
 
        AC_DEFINE_UNQUOTED(SLAPD_SQL,$MFLAG,[define to support SQL backend])
 fi
 
+if test "$ol_link_wt" != no ; then
+       BUILD_SLAPD=yes
+       BUILD_WT=$ol_enable_wt
+       if test "$ol_enable_wt" = mod; then
+               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-wt"
+               MFLAG=SLAPD_MOD_DYNAMIC
+       else
+               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-wt"
+               MFLAG=SLAPD_MOD_STATIC
+       fi
+       AC_DEFINE_UNQUOTED(SLAPD_WT,$MFLAG,[define to support WiredTiger backend])
+fi
+
 if test "$ol_enable_accesslog" != no ; then
        BUILD_ACCESSLOG=$ol_enable_accesslog
        if test "$ol_enable_accesslog" = mod ; then
 if test "$ol_enable_accesslog" != no ; then
        BUILD_ACCESSLOG=$ol_enable_accesslog
        if test "$ol_enable_accesslog" = mod ; then
@@ -2835,6 +2928,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_autoca" != no ; then
+       BUILD_AUTOCA=$ol_enable_autoca
+       if test "$ol_enable_autoca" = mod ; then
+               MFLAG=SLAPD_MOD_DYNAMIC
+               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS autoca.la"
+       else
+               MFLAG=SLAPD_MOD_STATIC
+               SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS autoca.o"
+       fi
+       AC_DEFINE_UNQUOTED(SLAPD_OVER_AUTOCA,$MFLAG,[define for Automatic Certificate Authority overlay])
+fi
+
 if test "$ol_enable_collect" != no ; then
         BUILD_COLLECT=$ol_enable_collect
         if test "$ol_enable_collect" = mod ; then
 if test "$ol_enable_collect" != no ; then
         BUILD_COLLECT=$ol_enable_collect
         if test "$ol_enable_collect" = mod ; then
@@ -3097,6 +3202,7 @@ dnl backends
   AC_SUBST(BUILD_LDAP)
   AC_SUBST(BUILD_MDB)
   AC_SUBST(BUILD_META)
   AC_SUBST(BUILD_LDAP)
   AC_SUBST(BUILD_MDB)
   AC_SUBST(BUILD_META)
+  AC_SUBST(BUILD_ASYNCMETA)
   AC_SUBST(BUILD_MONITOR)
   AC_SUBST(BUILD_NDB)
   AC_SUBST(BUILD_NULL)
   AC_SUBST(BUILD_MONITOR)
   AC_SUBST(BUILD_NDB)
   AC_SUBST(BUILD_NULL)
@@ -3106,9 +3212,11 @@ dnl backends
   AC_SUBST(BUILD_SHELL)
   AC_SUBST(BUILD_SOCK)
   AC_SUBST(BUILD_SQL)
   AC_SUBST(BUILD_SHELL)
   AC_SUBST(BUILD_SOCK)
   AC_SUBST(BUILD_SQL)
+  AC_SUBST(BUILD_WT)
 dnl overlays
   AC_SUBST(BUILD_ACCESSLOG)
   AC_SUBST(BUILD_AUDITLOG)
 dnl overlays
   AC_SUBST(BUILD_ACCESSLOG)
   AC_SUBST(BUILD_AUDITLOG)
+  AC_SUBST(BUILD_AUTOCA)
   AC_SUBST(BUILD_COLLECT)
   AC_SUBST(BUILD_CONSTRAINT)
   AC_SUBST(BUILD_DDS)
   AC_SUBST(BUILD_COLLECT)
   AC_SUBST(BUILD_CONSTRAINT)
   AC_SUBST(BUILD_DDS)
@@ -3156,6 +3264,7 @@ AC_SUBST(KRB4_LIBS)
 AC_SUBST(KRB5_LIBS)
 AC_SUBST(SASL_LIBS)
 AC_SUBST(TLS_LIBS)
 AC_SUBST(KRB5_LIBS)
 AC_SUBST(SASL_LIBS)
 AC_SUBST(TLS_LIBS)
+AC_SUBST(WITH_TLS_TYPE)
 AC_SUBST(MODULES_LIBS)
 AC_SUBST(SLAPI_LIBS)
 AC_SUBST(LIBSLAPI)
 AC_SUBST(MODULES_LIBS)
 AC_SUBST(SLAPI_LIBS)
 AC_SUBST(LIBSLAPI)
@@ -3169,6 +3278,9 @@ AC_SUBST(SLAPD_SQL_LDFLAGS)
 AC_SUBST(SLAPD_SQL_LIBS)
 AC_SUBST(SLAPD_SQL_INCLUDES)
 
 AC_SUBST(SLAPD_SQL_LIBS)
 AC_SUBST(SLAPD_SQL_INCLUDES)
 
+AC_SUBST(WT_INCS)
+AC_SUBST(WT_LIBS)
+
 dnl ----------------------------------------------------------------
 dnl final help output
 AC_ARG_WITH(xxinstall,[
 dnl ----------------------------------------------------------------
 dnl final help output
 AC_ARG_WITH(xxinstall,[
@@ -3204,6 +3316,7 @@ 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-mdb/Makefile:build/top.mk:servers/slapd/back-mdb/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-ldif/Makefile:build/top.mk:servers/slapd/back-ldif/Makefile.in:build/mod.mk]
 [servers/slapd/back-mdb/Makefile:build/top.mk:servers/slapd/back-mdb/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-asyncmeta/Makefile:build/top.mk:servers/slapd/back-asyncmeta/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-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]
@@ -3213,6 +3326,7 @@ AC_CONFIG_FILES([Makefile:build/top.mk:Makefile.in:build/dir.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/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/back-wt/Makefile:build/top.mk:servers/slapd/back-wt/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/overlays/Makefile:build/top.mk:servers/slapd/overlays/Makefile.in:build/lib.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/overlays/Makefile:build/top.mk:servers/slapd/overlays/Makefile.in:build/lib.mk]
@@ -3229,7 +3343,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-2015 The OpenLDAP Foundation.
+ * Copyright 1998-2018 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
@@ -3280,7 +3394,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-2015 The OpenLDAP Foundation.
+ * Copyright 1998-2018 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