From 8f40e857fe17740e8789ef33e27d51430007dedf Mon Sep 17 00:00:00 2001 From: Bojan Smojver Date: Tue, 24 Jun 2008 23:52:55 +0000 Subject: [PATCH] Add support for Berkeley DB 4.7. Patch by Arfrever Frehtes Taifersar Arahesis git-svn-id: https://svn.eu.apache.org/repos/asf/apr/apr-util/trunk@671382 13f79535-47bb-0310-9956-ffa450edef68 --- CHANGES | 3 +++ build/dbm.m4 | 68 ++++++++++++++++++++++++++++++++++++++++++++---------------- 2 files changed, 53 insertions(+), 18 deletions(-) diff --git a/CHANGES b/CHANGES index 91fbff1..e226c24 100644 --- a/CHANGES +++ b/CHANGES @@ -10,6 +10,9 @@ Changes with APR-util 1.4.0 args. Provide detection code and alternative implementation. [Ruediger Pluem] + *) Add Berkeley DB 4.7 support. + [Arfrever Frehtes Taifersar Arahesis ] + Changes with APR-util 1.3.0 *) apr_reslist: destroy all resources in apr_cleanup. diff --git a/build/dbm.m4 b/build/dbm.m4 index c9d1792..6998eee 100644 --- a/build/dbm.m4 +++ b/build/dbm.m4 @@ -503,6 +503,25 @@ AC_DEFUN([APU_CHECK_DB46], [ apu_db_version=4 fi ]) +dnl +dnl APU_CHECK_DB47: is DB4.7 present? +dnl +dnl if present: sets apu_db_header, apu_db_lib, and apu_db_version +dnl +AC_DEFUN([APU_CHECK_DB47], [ + places=$1 + if test -z "$places"; then + places="std /usr/local/BerkeleyDB.4.7 /boot/home/config" + fi + APU_CHECK_BERKELEY_DB("4", "7", "-1", + "$places", + "db47/db.h db4/db.h db.h", + "db-4.7 db4-4.7 db47 db4 db" + ) + if test "$apu_have_db" = "1"; then + apu_db_version=4 + fi +]) AC_DEFUN([APU_CHECK_DB], [ requested=$1 @@ -581,6 +600,12 @@ AC_DEFUN([APU_CHECK_DB], [ AC_MSG_ERROR(Berkeley db4 not found) fi ;; + db47) + APU_CHECK_DB47("$check_places") + if test "$apu_db_version" != "4"; then + AC_MSG_ERROR(Berkeley db4 not found) + fi + ;; default) APU_CHECK_DB_ALL("$check_places") ;; @@ -588,32 +613,35 @@ AC_DEFUN([APU_CHECK_DB], [ ]) dnl -dnl APU_CHECK_DB_ALL: Try all Berkeley DB versions, from 4.6 to 1. +dnl APU_CHECK_DB_ALL: Try all Berkeley DB versions, from 4.7 to 1. dnl AC_DEFUN([APU_CHECK_DB_ALL], [ all_places=$1 - APU_CHECK_DB46("$all_places") + APU_CHECK_DB47("$all_places") if test "$apu_db_version" != "4"; then - APU_CHECK_DB45("$all_places") + APU_CHECK_DB46("$all_places") if test "$apu_db_version" != "4"; then - APU_CHECK_DB44("$all_places") + APU_CHECK_DB45("$all_places") if test "$apu_db_version" != "4"; then - APU_CHECK_DB43("$all_places") + APU_CHECK_DB44("$all_places") if test "$apu_db_version" != "4"; then - APU_CHECK_DB42("$all_places") + APU_CHECK_DB43("$all_places") if test "$apu_db_version" != "4"; then - APU_CHECK_DB41("$all_places") + APU_CHECK_DB42("$all_places") if test "$apu_db_version" != "4"; then - APU_CHECK_DB4("$all_places") + APU_CHECK_DB41("$all_places") if test "$apu_db_version" != "4"; then - APU_CHECK_DB3("$all_places") - if test "$apu_db_version" != "3"; then - APU_CHECK_DB2("$all_places") - if test "$apu_db_version" != "2"; then - APU_CHECK_DB1("$all_places") - if test "$apu_db_version" != "1"; then - APU_CHECK_DB185("$all_places") + APU_CHECK_DB4("$all_places") + if test "$apu_db_version" != "4"; then + APU_CHECK_DB3("$all_places") + if test "$apu_db_version" != "3"; then + APU_CHECK_DB2("$all_places") + if test "$apu_db_version" != "2"; then + APU_CHECK_DB1("$all_places") + if test "$apu_db_version" != "1"; then + APU_CHECK_DB185("$all_places") + fi fi fi fi @@ -651,11 +679,11 @@ AC_DEFUN([APU_CHECK_DBM], [ apu_db_version=0 AC_ARG_WITH(dbm, [APR_HELP_STRING([--with-dbm=DBM], [choose the DBM type to use. - DBM={sdbm,gdbm,ndbm,db,db1,db185,db2,db3,db4,db41,db42,db43,db44,db45,db46}])], + DBM={sdbm,gdbm,ndbm,db,db1,db185,db2,db3,db4,db41,db42,db43,db44,db45,db46,db47}])], [ if test "$withval" = "yes"; then AC_MSG_ERROR([--with-dbm needs to specify a DBM type to use. - One of: sdbm, gdbm, ndbm, db, db1, db185, db2, db3, db4, db41, db42, db43, db44, db45, db46]) + One of: sdbm, gdbm, ndbm, db, db1, db185, db2, db3, db4, db41, db42, db43, db44, db45, db46, db47]) fi requested="$withval" ], [ @@ -850,6 +878,10 @@ AC_DEFUN([APU_CHECK_DBM], [ apu_use_db=1 apu_default_dbm=db4 ;; + db47) + apu_use_db=1 + apu_default_dbm=db4 + ;; default) dnl ### use more sophisticated DBMs for the default? apu_default_dbm="sdbm (default)" @@ -857,7 +889,7 @@ AC_DEFUN([APU_CHECK_DBM], [ ;; *) AC_MSG_ERROR([--with-dbm=$look_for is an unknown DBM type. - Use one of: sdbm, gdbm, ndbm, db, db1, db185, db2, db3, db4, db41, db42, db43, db44, db45, db46]) + Use one of: sdbm, gdbm, ndbm, db, db1, db185, db2, db3, db4, db41, db42, db43, db44, db45, db46, db47]) ;; esac -- 2.11.4.GIT