--- build/dbm.m4
+++ build/dbm.m4
@@ -579,6 +579,25 @@
     apu_db_version=5
   fi
 ])
+dnl
+dnl APU_CHECK_DB52: is DB5.2 present?
+dnl
+dnl if present: sets apu_db_header, apu_db_lib, and apu_db_version
+dnl
+AC_DEFUN([APU_CHECK_DB52], [
+  places=$1
+  if test -z "$places"; then
+    places="std /usr/local/BerkeleyDB.5.2 /boot/home/config"
+  fi
+  APU_CHECK_BERKELEY_DB("5", "2", "-1",
+    "$places",
+    "db52/db.h db5/db.h db.h",
+    "db-5.2 db5-5.2 db52 db5 db"
+  )
+  if test "$apu_have_db" = "1"; then
+    apu_db_version=5
+  fi
+])
 
 AC_DEFUN([APU_CHECK_DB], [
   requested=$1
@@ -681,6 +700,12 @@
       AC_MSG_ERROR(Berkeley db5 not found)
     fi
     ;;
+  db52)
+    APU_CHECK_DB52("$check_places")
+    if test "$apu_db_version" != "5"; then
+      AC_MSG_ERROR(Berkeley db5 not found)
+    fi
+    ;;
   default)
     APU_CHECK_DB_ALL("$check_places")
     ;;
@@ -688,40 +713,43 @@
 ])
 
 dnl
-dnl APU_CHECK_DB_ALL: Try all Berkeley DB versions, from 5.1 to 1.
+dnl APU_CHECK_DB_ALL: Try all Berkeley DB versions, from 5.2 to 1.
 dnl
 AC_DEFUN([APU_CHECK_DB_ALL], [
   all_places=$1
  
-  APU_CHECK_DB51("$all_places")
+  APU_CHECK_DB52("$all_places")
   if test "$apu_db_version" != "5"; then
-    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
@@ -763,11 +791,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,db51}])],
+      DBM={sdbm,gdbm,ndbm,db,db1,db185,db2,db3,db4,db41,db42,db43,db44,db45,db46,db47,db48,db50,db51,db52}])],
   [
     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, db51])
+        One of: sdbm, gdbm, ndbm, db, db1, db185, db2, db3, db4, db41, db42, db43, db44, db45, db46, db47, db48, db50, db51, db52])
     fi
     requested="$withval"
   ], [
@@ -978,6 +1006,10 @@
       apu_use_db=1
       apu_default_dbm=db5
       ;;
+    db52)
+      apu_use_db=1
+      apu_default_dbm=db5
+      ;;
     default)
       dnl ### use more sophisticated DBMs for the default?
       apu_default_dbm="sdbm (default)"
@@ -985,7 +1017,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, db51])
+        Use one of: sdbm, gdbm, ndbm, db, db1, db185, db2, db3, db4, db41, db42, db43, db44, db45, db46, db47, db48, db50, db51, db52])
       ;;
   esac
 
