X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=build%2Fopenldap.m4;h=81a7c8c66d8a0011afbf2953bf20c8c19b391db6;hb=902350f991fabc9fb070587ecf404af50bfa6a43;hp=9a4ca93c920824878970f71a6e0ed74c6f3732c1;hpb=118ca0dd4b6f64d695c84730ffc1a4256c960f99;p=openldap diff --git a/build/openldap.m4 b/build/openldap.m4 index 9a4ca93c92..81a7c8c66d 100644 --- a/build/openldap.m4 +++ b/build/openldap.m4 @@ -1,7 +1,13 @@ dnl $OpenLDAP$ dnl -dnl Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved. -dnl COPYING RESTRICTIONS APPLY, See COPYRIGHT file +dnl Copyright 1998-2002 The OpenLDAP Foundation, Redwood City, California, USA +dnl All rights reserved. +dnl +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 OpenLDAP Autoconf Macros dnl @@ -306,6 +312,7 @@ dnl Try to locate appropriate library AC_DEFUN([OL_BERKELEY_DB_LINK], [ol_cv_lib_db=no OL_BERKELEY_DB_TRY(ol_cv_db_none) +OL_BERKELEY_DB_TRY(ol_cv_db_db4,[-ldb4]) OL_BERKELEY_DB_TRY(ol_cv_db_db,[-ldb]) OL_BERKELEY_DB_TRY(ol_cv_db_db3,[-ldb3]) OL_BERKELEY_DB_TRY(ol_cv_db_db2,[-ldb2]) @@ -333,12 +340,9 @@ AC_DEFUN([OL_BERKELEY_DB_THREAD], main() { int rc; - u_int32_t flags = DB_CREATE | DB_INIT_CDB | DB_INIT_MPOOL | + u_int32_t flags = DB_CREATE | #ifdef DB_PRIVATE DB_PRIVATE | -#endif -#ifdef DB_MPOOL_PRIVATE - DB_MPOOL_PRIVATE | #endif DB_THREAD; @@ -347,19 +351,15 @@ main() rc = db_env_create( &env, 0 ); - if( rc ) { - printf("BerkeleyDB: %s\n", db_strerror(rc) ); - return rc; - } - -#ifdef DB_CDB_ALLDB - rc = env->set_flags( env, DB_CDB_ALLDB, 1 ); + flags |= DB_INIT_MPOOL; +#ifdef DB_MPOOL_PRIVATE + flags |= DB_MPOOL_PRIVATE; +#endif if( rc ) { printf("BerkeleyDB: %s\n", db_strerror(rc) ); return rc; } -#endif #if (DB_VERSION_MAJOR > 3) || (DB_VERSION_MINOR >= 1) rc = env->open( env, NULL, flags, 0 ); @@ -417,12 +417,29 @@ if test $ac_cv_header_db_h = yes; then fi fi ]) -dnl +dnl -------------------------------------------------------------------- +dnl Check for version compatility with back-bdb +AC_DEFUN([OL_BDB_COMPAT], +[AC_CACHE_CHECK([Berkeley DB version for BDB backend], [ol_cv_bdb_compat],[ + AC_EGREP_CPP(__db_version_compat,[ +#include + + /* this check could be improved */ +#ifndef DB_VERSION_MAJOR +# define DB_VERSION_MAJOR 1 +#endif + +/* require 4.0 or later */ +#if DB_VERSION_MAJOR >= 4 + __db_version_compat +#endif + ], [ol_cv_bdb_compat=yes], [ol_cv_bdb_compat=no])]) +]) + dnl -------------------------------------------------------------------- dnl Find old Berkeley DB 1.85/1.86 AC_DEFUN([OL_BERKELEY_COMPAT_DB], -[ol_cv_berkeley_db=no -AC_CHECK_HEADERS(db_185.h db.h) +[AC_CHECK_HEADERS(db_185.h db.h) if test $ac_cv_header_db_185_h = yes -o $ac_cv_header_db_h = yes; then AC_CACHE_CHECK([if Berkeley DB header compatibility], [ol_cv_header_db1],[ AC_EGREP_CPP(__db_version_1,[ @@ -775,6 +792,7 @@ AC_DEFUN([OL_NT_THREADS], [ if test $ac_cv_func__beginthread = yes ; then AC_DEFINE(HAVE_NT_THREADS,1,[if you have NT Threads]) + ol_cv_nt_threads=yes fi ]) dnl ====================================================================