dnl $OpenLDAP$
dnl This work is part of OpenLDAP Software <http://www.openldap.org/>.
dnl
-dnl Copyright 1998-2014 The OpenLDAP Foundation.
+dnl Copyright 1998-2017 The OpenLDAP Foundation.
dnl All rights reserved.
dnl
dnl Redistribution and use in source and binary forms, with or without
define([AC_LIBTOOL_LANG_GCJ_CONFIG], [:])dnl
dnl ================================================================
dnl Configure.in for OpenLDAP
-AC_COPYRIGHT([[Copyright 1998-2014 The OpenLDAP Foundation. All rights reserved.
+AC_COPYRIGHT([[Copyright 1998-2017 The OpenLDAP Foundation. All rights reserved.
Restrictions apply, see COPYRIGHT and LICENSE files.]])
AC_REVISION([$Id$])
AC_INIT([OpenLDAP],,[http://www.openldap.org/its/])
/* begin of portable.h.pre */
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
*
- * Copyright 1998-2014 The OpenLDAP Foundation
+ * Copyright 1998-2017 The OpenLDAP Foundation
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
ldap \
mdb \
meta \
+ asyncmeta \
monitor \
ndb \
null \
relay \
shell \
sock \
- sql"
+ sql \
+ wt"
AC_ARG_ENABLE(xxslapbackends,[
SLAPD Backend Options:])
OL_ARG_ENABLE(backends,[ --enable-backends enable all available backends],
--, [no yes mod])dnl
-OL_ARG_ENABLE(deprecated_bdb,[ --enable-deprecated-bdb enable deprecated Berkeley DB backend. Will be removed in OpenLDAP 2.6],
+OL_ARG_ENABLE(bdb,[ --enable-bdb enable Berkeley DB backend],
no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(dnssrv,[ --enable-dnssrv enable dnssrv backend],
no, [no yes mod], ol_enable_backends)dnl
-OL_ARG_ENABLE(deprecated_hdb,[ --enable-deprecated-hdb enable deprecated Hierarchical DB backend. Will be removed in OpenLDAP 2.6],
+OL_ARG_ENABLE(hdb,[ --enable-hdb enable Hierarchical DB backend],
no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(ldap,[ --enable-ldap enable ldap 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],
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
ol_enable_rewrite=no
elif test $ol_enable_modules != yes &&
- test $ol_enable_deprecated_bdb = no &&
+ test $ol_enable_bdb = no &&
test $ol_enable_dnssrv = no &&
- test $ol_enable_deprecated_hdb = no &&
+ test $ol_enable_hdb = 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_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
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])
BUILD_LDAP=no
BUILD_MDB=no
BUILD_META=no
+BUILD_ASYNCMETA=no
BUILD_MONITOR=no
BUILD_NDB=no
BUILD_NULL=no
BUILD_SHELL=no
BUILD_SOCK=no
BUILD_SQL=no
+BUILD_WT=no
BUILD_ACCESSLOG=no
BUILD_AUDITLOG=no
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])
AC_CHECK_HEADERS(gnutls/gnutls.h)
if test $ac_cv_header_gnutls_gnutls_h = yes ; then
+ AC_PREPROC_IFELSE(
+ [[#include <gnutls/gnutls.h>]
+[#if GNUTLS_VERSION_NUMBER < 0x020c00]
+[#error "GnuTLS 2.12.0 or newer required"]
+[#endif]],
+ , [AC_MSG_FAILURE([GnuTLS is too old])])
+
AC_CHECK_LIB(gnutls, gnutls_init,
[have_gnutls=yes], [have_gnutls=no])
dnl ----------------------------------------------------------------
ol_link_bdb=no
-if test $ol_enable_deprecated_bdb/$ol_enable_deprecated_hdb != no/no; then
+if test $ol_enable_bdb/$ol_enable_hdb != no/no; then
OL_BERKELEY_DB
if test $ol_cv_berkeley_db = no ; then
])
sql_LIBS="$LIBS"
- LIBS="$LTHREAD_LIBS"
+ LIBS="$LTHREAD_LIBS $LIBS"
if test $ol_with_odbc = auto ; then
ol_with_odbc="iodbc unixodbc odbc32"
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
AC_DEFINE_UNQUOTED(SLAPD_MONITOR,$MFLAG,[define to support cn=Monitor backend])
fi
-if test "$ol_enable_deprecated_bdb" != no ; then
+if test "$ol_enable_bdb" != no ; then
BUILD_SLAPD=yes
- BUILD_BDB=$ol_enable_deprecated_bdb
- if test "$ol_enable_deprecated_bdb" = mod ; then
+ BUILD_BDB=$ol_enable_bdb
+ if test "$ol_enable_bdb" = mod ; then
SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-bdb"
MFLAG=SLAPD_MOD_DYNAMIC
else
AC_DEFINE_UNQUOTED(SLAPD_DNSSRV,$MFLAG,[define to support DNS SRV backend])
fi
-if test "$ol_enable_deprecated_hdb" != no ; then
+if test "$ol_enable_hdb" != no ; then
BUILD_SLAPD=yes
- BUILD_HDB=$ol_enable_deprecated_hdb
- if test "$ol_enable_deprecated_hdb" = mod ; then
+ BUILD_HDB=$ol_enable_hdb
+ if test "$ol_enable_hdb" = mod ; then
SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-hdb"
MFLAG=SLAPD_MOD_DYNAMIC
else
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
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
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_SHELL)
AC_SUBST(BUILD_SOCK)
AC_SUBST(BUILD_SQL)
+ AC_SUBST(BUILD_WT)
dnl overlays
AC_SUBST(BUILD_ACCESSLOG)
AC_SUBST(BUILD_AUDITLOG)
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,[
[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-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]
cat > $BACKENDSC << ENDX
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
*
- * Copyright 1998-2014 The OpenLDAP Foundation.
+ * Copyright 1998-2017 The OpenLDAP Foundation.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
cat > $OVERLAYSC << ENDX
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
*
- * Copyright 1998-2014 The OpenLDAP Foundation.
+ * Copyright 1998-2017 The OpenLDAP Foundation.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without