327
320
dnl --------------------------------------------------------------------
321
dnl Get major and minor version from <db.h>
322
AC_DEFUN([OL_BDB_HEADER_VERSION],
323
[AC_CACHE_CHECK([for Berkeley DB major version in db.h], [ol_cv_bdb_major],[
326
#ifndef DB_VERSION_MAJOR
327
# define DB_VERSION_MAJOR 1
329
__db_version DB_VERSION_MAJOR
331
set X `eval "$ac_cpp conftest.$ac_ext" | $EGREP __db_version` none none
334
case $ol_cv_bdb_major in [[1-9]]*) : ;; *)
335
AC_MSG_ERROR([Unknown Berkeley DB major version in db.h]) ;;
338
dnl Determine minor version
339
AC_CACHE_CHECK([for Berkeley DB minor version in db.h], [ol_cv_bdb_minor],[
342
#ifndef DB_VERSION_MINOR
343
# define DB_VERSION_MINOR 0
345
__db_version DB_VERSION_MINOR
347
set X `eval "$ac_cpp conftest.$ac_ext" | $EGREP __db_version` none none
350
case $ol_cv_bdb_minor in [[0-9]]*) : ;; *)
351
AC_MSG_ERROR([Unknown Berkeley DB minor version in db.h]) ;;
355
dnl --------------------------------------------------------------------
328
356
dnl Try to locate appropriate library
329
357
AC_DEFUN([OL_BERKELEY_DB_LINK],
332
dnl Determine major version
333
AC_CACHE_CHECK([for Berkeley DB major version], [ol_cv_bdb_major],[
335
if test $ol_cv_bdb_major = 0 ; then
336
AC_EGREP_CPP(__db_version, [
338
#ifndef DB_VERSION_MAJOR
339
# define DB_VERSION_MAJOR 1
341
#if DB_VERSION_MAJOR == 4
344
], [ol_cv_bdb_major=4], [:])
346
if test $ol_cv_bdb_major = 0 ; then
347
AC_EGREP_CPP(__db_version, [
349
#ifndef DB_VERSION_MAJOR
350
# define DB_VERSION_MAJOR 1
352
#if DB_VERSION_MAJOR == 3
355
], [ol_cv_bdb_major=3], [:])
357
if test $ol_cv_bdb_major = 0 ; then
358
AC_EGREP_CPP(__db_version, [
360
#ifndef DB_VERSION_MAJOR
361
# define DB_VERSION_MAJOR 1
363
#if DB_VERSION_MAJOR == 2
366
], [ol_cv_bdb_major=2], [:])
368
if test $ol_cv_bdb_major = 0 ; then
369
AC_EGREP_CPP(__db_version, [
371
#ifndef DB_VERSION_MAJOR
372
# define DB_VERSION_MAJOR 1
374
#if DB_VERSION_MAJOR == 1
377
], [ol_cv_bdb_major=1], [:])
380
if test $ol_cv_bdb_major = 0 ; then
381
AC_MSG_ERROR([Unknown Berkeley DB major version])
385
dnl Determine minor version
386
AC_CACHE_CHECK([for Berkeley DB minor version], [ol_cv_bdb_minor],[
388
if test $ol_cv_bdb_minor = 0 ; then
389
AC_EGREP_CPP(__db_version, [
391
#ifndef DB_VERSION_MINOR
392
# define DB_VERSION_MINOR 0
394
#if DB_VERSION_MINOR == 9
397
], [ol_cv_bdb_minor=9], [:])
399
if test $ol_cv_bdb_minor = 0 ; then
400
AC_EGREP_CPP(__db_version, [
402
#ifndef DB_VERSION_MINOR
403
# define DB_VERSION_MINOR 0
405
#if DB_VERSION_MINOR == 8
408
], [ol_cv_bdb_minor=8], [:])
410
if test $ol_cv_bdb_minor = 0 ; then
411
AC_EGREP_CPP(__db_version, [
413
#ifndef DB_VERSION_MINOR
414
# define DB_VERSION_MINOR 0
416
#if DB_VERSION_MINOR == 7
419
], [ol_cv_bdb_minor=7], [:])
421
if test $ol_cv_bdb_minor = 0 ; then
422
AC_EGREP_CPP(__db_version, [
424
#ifndef DB_VERSION_MINOR
425
# define DB_VERSION_MINOR 0
427
#if DB_VERSION_MINOR == 6
430
], [ol_cv_bdb_minor=6], [:])
432
if test $ol_cv_bdb_minor = 0 ; then
433
AC_EGREP_CPP(__db_version, [
435
#ifndef DB_VERSION_MINOR
436
# define DB_VERSION_MINOR 0
438
#if DB_VERSION_MINOR == 5
441
], [ol_cv_bdb_minor=5], [:])
443
if test $ol_cv_bdb_minor = 0 ; then
444
AC_EGREP_CPP(__db_version, [
446
#ifndef DB_VERSION_MINOR
447
# define DB_VERSION_MINOR 0
449
#if DB_VERSION_MINOR == 4
452
], [ol_cv_bdb_minor=4], [:])
454
if test $ol_cv_bdb_minor = 0 ; then
455
AC_EGREP_CPP(__db_version, [
457
#ifndef DB_VERSION_MINOR
458
# define DB_VERSION_MINOR 0
460
#if DB_VERSION_MINOR == 3
463
], [ol_cv_bdb_minor=3], [:])
465
if test $ol_cv_bdb_minor = 0 ; then
466
AC_EGREP_CPP(__db_version, [
468
#ifndef DB_VERSION_MINOR
469
# define DB_VERSION_MINOR 0
471
#if DB_VERSION_MINOR == 2
474
], [ol_cv_bdb_minor=2], [:])
476
if test $ol_cv_bdb_minor = 0 ; then
477
AC_EGREP_CPP(__db_version, [
479
#ifndef DB_VERSION_MINOR
480
# define DB_VERSION_MINOR 0
482
#if DB_VERSION_MINOR == 1
485
], [ol_cv_bdb_minor=1], [:])
489
360
if test $ol_cv_bdb_major = 4 ; then
490
if test $ol_cv_bdb_minor = 6 ; then
491
OL_BERKELEY_DB_TRY(ol_cv_db_db_4_dot_6,[-ldb-4.6])
492
OL_BERKELEY_DB_TRY(ol_cv_db_db46,[-ldb46])
493
OL_BERKELEY_DB_TRY(ol_cv_db_db_46,[-ldb-46])
494
OL_BERKELEY_DB_TRY(ol_cv_db_db_4_6,[-ldb-4-6])
495
elif test $ol_cv_bdb_minor = 5 ; then
496
OL_BERKELEY_DB_TRY(ol_cv_db_db_4_dot_5,[-ldb-4.5])
497
OL_BERKELEY_DB_TRY(ol_cv_db_db45,[-ldb45])
498
OL_BERKELEY_DB_TRY(ol_cv_db_db_45,[-ldb-45])
499
OL_BERKELEY_DB_TRY(ol_cv_db_db_4_5,[-ldb-4-5])
500
elif test $ol_cv_bdb_minor = 4 ; then
501
OL_BERKELEY_DB_TRY(ol_cv_db_db_4_dot_4,[-ldb-4.4])
502
OL_BERKELEY_DB_TRY(ol_cv_db_db44,[-ldb44])
503
OL_BERKELEY_DB_TRY(ol_cv_db_db_44,[-ldb-44])
504
OL_BERKELEY_DB_TRY(ol_cv_db_db_4_4,[-ldb-4-4])
505
elif test $ol_cv_bdb_minor = 3 ; then
506
OL_BERKELEY_DB_TRY(ol_cv_db_db_4_dot_3,[-ldb-4.3])
507
OL_BERKELEY_DB_TRY(ol_cv_db_db43,[-ldb43])
508
OL_BERKELEY_DB_TRY(ol_cv_db_db_43,[-ldb-43])
509
OL_BERKELEY_DB_TRY(ol_cv_db_db_4_3,[-ldb-4-3])
510
elif test $ol_cv_bdb_minor = 2 ; then
511
OL_BERKELEY_DB_TRY(ol_cv_db_db_4_dot_2,[-ldb-4.2])
512
OL_BERKELEY_DB_TRY(ol_cv_db_db42,[-ldb42])
513
OL_BERKELEY_DB_TRY(ol_cv_db_db_42,[-ldb-42])
514
OL_BERKELEY_DB_TRY(ol_cv_db_db_4_2,[-ldb-4-2])
361
OL_BERKELEY_DB_TRY(ol_cv_db_db_4_dot_m,[-ldb-4.$ol_cv_bdb_minor])
362
OL_BERKELEY_DB_TRY(ol_cv_db_db4m,[-ldb4$ol_cv_bdb_minor])
363
OL_BERKELEY_DB_TRY(ol_cv_db_db_4m,[-ldb-4$ol_cv_bdb_minor])
364
OL_BERKELEY_DB_TRY(ol_cv_db_db_4_m,[-ldb-4-$ol_cv_bdb_minor])
516
365
OL_BERKELEY_DB_TRY(ol_cv_db_db_4,[-ldb-4])
517
366
OL_BERKELEY_DB_TRY(ol_cv_db_db4,[-ldb4])
518
367
OL_BERKELEY_DB_TRY(ol_cv_db_db,[-ldb])
520
elif test $ol_cv_bdb_major = 3 ; then
521
OL_BERKELEY_DB_TRY(ol_cv_db_db3,[-ldb3])
522
OL_BERKELEY_DB_TRY(ol_cv_db_db_3,[-ldb-3])
524
elif test $ol_cv_bdb_major = 2 ; then
525
OL_BERKELEY_DB_TRY(ol_cv_db_db2,[-ldb2])
526
OL_BERKELEY_DB_TRY(ol_cv_db_db_2,[-ldb-2])
528
elif test $ol_cv_bdb_major = 1 ; then
529
OL_BERKELEY_DB_TRY(ol_cv_db_db1,[-ldb1])
530
OL_BERKELEY_DB_TRY(ol_cv_db_db_1,[-ldb-1])
532
369
OL_BERKELEY_DB_TRY(ol_cv_db_none)