You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by je...@apache.org on 2001/12/05 19:23:05 UTC

cvs commit: apr-util/build apu-conf.m4

jerenkrantz    01/12/05 10:23:05

  Modified:    .        CHANGES
               build    apu-conf.m4
  Log:
  Improve the Berkeley DB detection code.
  
  - Split out DB2 and DB3 detection since they are no longer related
    (as DB3 only has db_create and DB2 has db_open).
  - Check for db[23]/db.h and libdb[23] to be nicer about detecting
    platforms that have this combination.
  
  Reviewed by:	Ian Holsman, Blaise Tarr
  
  Revision  Changes    Path
  1.43      +3 -0      apr-util/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /home/cvs/apr-util/CHANGES,v
  retrieving revision 1.42
  retrieving revision 1.43
  diff -u -r1.42 -r1.43
  --- CHANGES	2001/12/04 17:33:59	1.42
  +++ CHANGES	2001/12/05 18:23:05	1.43
  @@ -1,4 +1,7 @@
   Changes with APR-util b1  
  +
  +  *) Improve autoconf detection of DBMs.  [Justin Erenkrantz]
  +
     *) BerkeleyDBM v2 now checks minor level for cursor ops [Ian Holsman]
   
     *) Reading a file bucket bigger than APR_MMAP_LIMIT (4MB) now yields
  
  
  
  1.20      +52 -43    apr-util/build/apu-conf.m4
  
  Index: apu-conf.m4
  ===================================================================
  RCS file: /home/cvs/apr-util/build/apu-conf.m4,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- apu-conf.m4	2001/11/30 18:27:46	1.19
  +++ apu-conf.m4	2001/12/05 18:23:05	1.20
  @@ -89,39 +89,57 @@
     ])])])
   
   dnl
  -dnl APU_CHECK_DB2OR3: are DB2 or DB3 present?
  +dnl APU_CHECK_DB2: is DB2 present?
   dnl
   dnl if present: sets apu_have_db=1, db_header, and db_lib
   dnl
  -AC_DEFUN(APU_CHECK_DB2OR3,[
  -AC_CHECK_HEADER(db.h, [
  +AC_DEFUN(APU_CHECK_DB2,[
  +apu_found_db=0
  +AC_CHECK_HEADER(db2/db.h, [
     AC_CHECK_LIB(db2, db_open, [
     apu_have_db=1
  +  db_header=db2/db.h
  +  db_lib=db2
  +  db_version=2
  +  apu_found_db=1
  +  ])])
  +if test $apu_found_db = 0; then
  +AC_CHECK_HEADER(db.h, [
  +  AC_CHECK_LIB(db, db_open, [
  +  apu_have_db=1
     db_header=db.h
     db_lib=db
  -  ])])])
  +  db_version=2
  +  apu_found_db=1
  +  ])])
  +fi
  +])
   
   dnl
  -dnl APU_CHECK_DB_VSN: check the actual version of db (for db2 or db3)
  +dnl APU_CHECK_DB3: is DB3 present?
   dnl
  -dnl sets db_version
  +dnl if present: sets apu_have_db=1, db_header, and db_lib
   dnl
  -AC_DEFUN(APU_CHECK_DB_VSN,[
  -  apu_save_libs="$LIBS"
  -  LIBS="$LIBS -ldb"
  -  AC_TRY_RUN([
  -#include <stdlib.h> /* for exit() */
  -#include "db.h"
  -int main()
  -{
  -    int major, minor, patch;
  -    db_version(&major, &minor, &patch);
  -    if (major == 2)
  -        exit(1);
  -    exit(0);
  -}
  -], db_version=3, db_version=2, db_version=2)
  -  LIBS="$apu_save_libs"
  +AC_DEFUN(APU_CHECK_DB3,[
  +apu_found_db=0
  +AC_CHECK_HEADER(db3/db.h, [
  +  AC_CHECK_LIB(db3, db_create, [
  +  apu_have_db=1
  +  db_header=db3/db.h
  +  db_lib=db3
  +  db_version=3
  +  apu_found_db=1
  +  ])])
  +if test $apu_found_db = 0; then
  +AC_CHECK_HEADER(db.h, [
  +  AC_CHECK_LIB(db, db_create, [
  +  apu_have_db=1
  +  db_header=db.h
  +  db_lib=db
  +  db_version=3
  +  apu_found_db=1
  +  ])])
  +fi
   ])
   
   dnl
  @@ -153,13 +171,14 @@
   AC_CHECK_HEADER(gdbm.h, AC_CHECK_LIB(gdbm, gdbm_open, [apu_have_gdbm=1]))
   
   dnl We're going to try to find the highest version of Berkeley DB supported.
  -APU_CHECK_DB2OR3
  -if test $apu_have_db = 1; then
  -  APU_CHECK_DB_VSN
  -else
  -  APU_CHECK_DB1
  -  if test $apu_have_db != 1; then
  -    APU_CHECK_DB185
  +APU_CHECK_DB3
  +if test $apu_have_db = 0; then
  +  APU_CHECK_DB2
  +  if test $apu_have_db = 0; then
  +    APU_CHECK_DB1
  +    if test $apu_have_db = 0; then
  +      APU_CHECK_DB185
  +    fi
     fi
   fi
   
  @@ -216,30 +235,20 @@
       ;;
     db2)
       apu_have_db=0
  -    APU_CHECK_DB2OR3
  +    APU_CHECK_DB2
       if test $apu_have_db = 1; then
         apu_use_db=1
  -      APU_CHECK_DB_VSN
  -      if test "$db_version" = 2; then
  -        default_dbm=db2
  -      else
  -        AC_MSG_ERROR([db2 not present (found db3)])
  -      fi
  +      default_dbm=db2
       else
         AC_MSG_ERROR([db2 not present])
       fi
       ;;
     db3)
       apu_have_db=0
  -    APU_CHECK_DB2OR3
  +    APU_CHECK_DB3
       if test $apu_have_db = 1; then
         apu_use_db=1
  -      APU_CHECK_DB_VSN
  -      if test "$db_version" = 3; then
  -        default_dbm=db3
  -      else
  -        AC_MSG_ERROR([db3 not present (found db2)])
  -      fi
  +      default_dbm=db3
       else
         AC_MSG_ERROR([db3 not present])
       fi
  
  
  

Re: cvs commit: apr-util/build apu-conf.m4

Posted by Greg Stein <gs...@lyra.org>.
On Wed, Dec 05, 2001 at 06:23:05PM -0000, jerenkrantz@apache.org wrote:
>...
>   +AC_DEFUN(APU_CHECK_DB2,[
>   +apu_found_db=0
>   +AC_CHECK_HEADER(db2/db.h, [
>      AC_CHECK_LIB(db2, db_open, [
>      apu_have_db=1
>   +  db_header=db2/db.h
>   +  db_lib=db2
>   +  db_version=2
>   +  apu_found_db=1
>   +  ])])
>   +if test $apu_found_db = 0; then
>   +AC_CHECK_HEADER(db.h, [
>   +  AC_CHECK_LIB(db, db_open, [
>   +  apu_have_db=1
>      db_header=db.h
>      db_lib=db
>   -  ])])])
>   +  db_version=2
>   +  apu_found_db=1
>   +  ])])
>   +fi
>   +])

Why did you introduce apu_found_db when apu_have_db is available?

There are a bazillion variables in there. Let's try to simplify :-)

(I might even suggest apu_found_db is redundant, given db_version)

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/