Submitted By:            Randy McMurchy <randy_at_linuxfromscratch_dot_org>
Date:                    2010-11-16
Initial Package Version: 2.2.17
Upstream Status:         In upstream CVS
Origin:                  Upstream CVS
Description:             Allows building against Berkeley DB-5.1

--- httpd-2.2.17/srclib/apr-util/build/dbm.m4	2010-09-30 04:47:05.000000000 -0500
+++ httpd-2.2.17.fixed/srclib/apr-util/build/dbm.m4	2010-11-15 18:34:57.000000000 -0600
@@ -560,6 +560,25 @@
     apu_db_version=5
   fi
 ])
+dnl
+dnl APU_CHECK_DB51: is DB5.1 present?
+dnl
+dnl if present: sets apu_db_header, apu_db_lib, and apu_db_version
+dnl
+AC_DEFUN([APU_CHECK_DB51], [
+  places=$1
+  if test -z "$places"; then
+    places="std /usr/local/BerkeleyDB.5.1 /boot/home/config"
+  fi
+  APU_CHECK_BERKELEY_DB("5", "1", "-1",
+    "$places",
+    "db51/db.h db5/db.h db.h",
+    "db-5.1 db5-5.1 db51 db5 db"
+  )
+  if test "$apu_have_db" = "1"; then
+    apu_db_version=5
+  fi
+])
 
 AC_DEFUN([APU_CHECK_DB], [
   requested=$1
@@ -656,6 +675,12 @@
       AC_MSG_ERROR(Berkeley db5 not found)
     fi
     ;;
+  db51)
+    APU_CHECK_DB51("$check_places")
+    if test "$apu_db_version" != "5"; then
+      AC_MSG_ERROR(Berkeley db5 not found)
+    fi
+    ;;
   default)
     APU_CHECK_DB_ALL("$check_places")
     ;;
@@ -663,38 +688,41 @@
 ])
 
 dnl
-dnl APU_CHECK_DB_ALL: Try all Berkeley DB versions, from 5.0 to 1.
+dnl APU_CHECK_DB_ALL: Try all Berkeley DB versions, from 5.1 to 1.
 dnl
 AC_DEFUN([APU_CHECK_DB_ALL], [
   all_places=$1
  
-  APU_CHECK_DB50("$all_places")
+  APU_CHECK_DB51("$all_places")
   if test "$apu_db_version" != "5"; then
-    APU_CHECK_DB48("$all_places")
-    if test "$apu_db_version" != "4"; then
-      APU_CHECK_DB47("$all_places")
+    APU_CHECK_DB50("$all_places")
+    if test "$apu_db_version" != "5"; then
+      APU_CHECK_DB48("$all_places")
       if test "$apu_db_version" != "4"; then
-        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
@@ -735,11 +763,11 @@
   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,db47,db48,db50}])],
+      DBM={sdbm,gdbm,ndbm,db,db1,db185,db2,db3,db4,db41,db42,db43,db44,db45,db46,db47,db48,db50,db51}])],
   [
     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, db47, db48, db50])
+        One of: sdbm, gdbm, ndbm, db, db1, db185, db2, db3, db4, db41, db42, db43, db44, db45, db46, db47, db48, db50, db51])
     fi
     requested="$withval"
   ], [
@@ -946,6 +974,10 @@
       apu_use_db=1
       apu_default_dbm=db5
       ;;
+    db51)
+      apu_use_db=1
+      apu_default_dbm=db5
+      ;;
     default)
       dnl ### use more sophisticated DBMs for the default?
       apu_default_dbm="sdbm (default)"
@@ -953,7 +985,7 @@
       ;;
     *)
       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, db47, db48, db50])
+        Use one of: sdbm, gdbm, ndbm, db, db1, db185, db2, db3, db4, db41, db42, db43, db44, db45, db46, db47, db48, db50, db51])
       ;;
   esac
 
@@ -997,3 +1029,4 @@
   AC_SUBST(LDADD_dbm_ndbm)
 ])
 
+
