|
|
|
--- a/build/top.mk
|
|
|
|
+++ b/build/top.mk
|
|
|
|
@@ -160,6 +160,7 @@
|
|
|
|
LTHREAD_LIBS = @LTHREAD_LIBS@
|
|
|
|
|
|
|
|
BDB_LIBS = @BDB_LIBS@
|
|
|
|
+MDB_LIBS = @MDB_LIBS@
|
|
|
|
SLAPD_NDB_LIBS = @SLAPD_NDB_LIBS@
|
|
|
|
|
|
|
|
LDAP_LIBLBER_LA = $(LDAP_LIBDIR)/liblber/liblber.la
|
|
|
|
--- ./build/openldap.m4.orig
|
|
|
|
+++ ./build/openldap.m4
|
|
|
|
@@ -563,6 +563,38 @@
|
|
|
|
], [ol_cv_bdb_compat=yes], [ol_cv_bdb_compat=no])])
|
|
|
|
])
|
|
|
|
|
|
|
|
+dnl --------------------------------------------------------------------
|
|
|
|
+dnl Check for version compatility with back-mdb
|
|
|
|
+AC_DEFUN([OL_MDB_COMPAT],
|
|
|
|
+[AC_CACHE_CHECK([if LMDB version supported by MDB backends], [ol_cv_mdb_compat],[
|
|
|
|
+ AC_EGREP_CPP(__mdb_version_compat,[
|
|
|
|
+#include <lmdb.h>
|
|
|
|
+
|
|
|
|
+/* require 0.9.14 or later */
|
|
|
|
+#if MDB_VERSION_FULL >= 0x00000009000E
|
|
|
|
+ __mdb_version_compat
|
|
|
|
+#endif
|
|
|
|
+ ], [ol_cv_mdb_compat=yes], [ol_cv_mdb_compat=no])])
|
|
|
|
+])
|
|
|
|
+
|
|
|
|
+dnl
|
|
|
|
+dnl --------------------------------------------------------------------
|
|
|
|
+dnl Find any MDB
|
|
|
|
+AC_DEFUN([OL_MDB],
|
|
|
|
+[ol_cv_mdb=no
|
|
|
|
+AC_CHECK_HEADERS(lmdb.h)
|
|
|
|
+if test $ac_cv_header_lmdb_h = yes; then
|
|
|
|
+ OL_MDB_COMPAT
|
|
|
|
+
|
|
|
|
+ if test $ol_cv_mdb_compat != yes ; then
|
|
|
|
+ AC_MSG_ERROR([LMDB version incompatible with MDB backends])
|
|
|
|
+ fi
|
|
|
|
+
|
|
|
|
+ ol_cv_lib_mdb=-llmdb
|
|
|
|
+ ol_cv_mdb=yes
|
|
|
|
+fi
|
|
|
|
+])
|
|
|
|
+
|
|
|
|
dnl
|
|
|
|
dnl ====================================================================
|
|
|
|
dnl Check POSIX Thread version
|
|
|
|
--- a/servers/slapd/back-mdb/Makefile.in
|
|
|
|
+++ b/servers/slapd/back-mdb/Makefile.in
|
|
|
|
@@ -25,11 +25,10 @@
|
|
|
|
extended.lo operational.lo \
|
|
|
|
attr.lo index.lo key.lo filterindex.lo \
|
|
|
|
dn2entry.lo dn2id.lo id2entry.lo idl.lo \
|
|
|
|
- nextid.lo monitor.lo mdb.lo midl.lo
|
|
|
|
+ nextid.lo monitor.lo
|
|
|
|
|
|
|
|
LDAP_INCDIR= ../../../include
|
|
|
|
LDAP_LIBDIR= ../../../libraries
|
|
|
|
-MDB_SUBDIR = $(srcdir)/$(LDAP_LIBDIR)/liblmdb
|
|
|
|
|
|
|
|
BUILD_OPT = "--enable-mdb"
|
|
|
|
BUILD_MOD = @BUILD_MDB@
|
|
|
|
@@ -44,7 +43,7 @@
|
|
|
|
|
|
|
|
LIBBASE = back_mdb
|
|
|
|
|
|
|
|
-XINCPATH = -I.. -I$(srcdir)/.. -I$(MDB_SUBDIR)
|
|
|
|
+XINCPATH = -I.. -I$(srcdir)/..
|
|
|
|
XDEFS = $(MODULES_CPPFLAGS)
|
|
|
|
|
|
|
|
all-local-lib: ../.backend
|
|
|
|
@@ -52,11 +51,5 @@
|
|
|
|
../.backend: lib$(LIBBASE).a
|
|
|
|
@touch $@
|
|
|
|
|
|
|
|
-mdb.lo: $(MDB_SUBDIR)/mdb.c
|
|
|
|
- $(LTCOMPILE_MOD) $(MDB_SUBDIR)/mdb.c
|
|
|
|
-
|
|
|
|
-midl.lo: $(MDB_SUBDIR)/midl.c
|
|
|
|
- $(LTCOMPILE_MOD) $(MDB_SUBDIR)/midl.c
|
|
|
|
-
|
|
|
|
veryclean-local-lib: FORCE
|
|
|
|
$(RM) $(XXHEADERS) $(XXSRCS) .links
|
|
|
|
--- a/configure.in
|
|
|
|
+++ b/configure.in
|
|
|
|
@@ -519,6 +519,7 @@
|
|
|
|
dnl Initialize vars
|
|
|
|
LDAP_LIBS=
|
|
|
|
BDB_LIBS=
|
|
|
|
+MDB_LIBS=
|
|
|
|
SLAPD_NDB_LIBS=
|
|
|
|
SLAPD_NDB_INCS=
|
|
|
|
LTHREAD_LIBS=
|
|
|
|
@@ -1905,6 +1906,30 @@
|
|
|
|
fi
|
|
|
|
|
|
|
|
dnl ----------------------------------------------------------------
|
|
|
|
+ol_link_mdb=no
|
|
|
|
+
|
|
|
|
+if test $ol_enable_mdb != no; then
|
|
|
|
+ OL_MDB
|
|
|
|
+
|
|
|
|
+ if test $ol_cv_mdb = no ; then
|
|
|
|
+ AC_MSG_ERROR(MDB: LMDB not available)
|
|
|
|
+ fi
|
|
|
|
+
|
|
|
|
+ AC_DEFINE(HAVE_MDB,1,
|
|
|
|
+ [define this if LMDB is available])
|
|
|
|
+
|
|
|
|
+ dnl $ol_cv_lib_mdb should be yes or -llmdb
|
|
|
|
+ dnl (it could be no, but that would be an error
|
|
|
|
+ if test $ol_cv_lib_mdb != yes ; then
|
|
|
|
+ MDB_LIBS="$MDB_LIBS $ol_cv_lib_mdb"
|
|
|
|
+ fi
|
|
|
|
+
|
|
|
|
+ SLAPD_LIBS="$SLAPD_LIBS \$(MDB_LIBS)"
|
|
|
|
+
|
|
|
|
+ ol_link_mdb=yes
|
|
|
|
+fi
|
|
|
|
+
|
|
|
|
+dnl ----------------------------------------------------------------
|
|
|
|
|
|
|
|
if test $ol_enable_dynamic = yes && test $enable_shared = yes ; then
|
|
|
|
BUILD_LIBS_DYNAMIC=shared
|
|
|
|
@@ -3133,6 +3158,7 @@
|
|
|
|
AC_SUBST(LDAP_LIBS)
|
|
|
|
AC_SUBST(SLAPD_LIBS)
|
|
|
|
AC_SUBST(BDB_LIBS)
|
|
|
|
+AC_SUBST(MDB_LIBS)
|
|
|
|
AC_SUBST(SLAPD_NDB_LIBS)
|
|
|
|
AC_SUBST(SLAPD_NDB_INCS)
|
|
|
|
AC_SUBST(LTHREAD_LIBS)
|