--- configure.in.orig Sat May 17 20:15:26 2003 +++ configure.in Mon Sep 8 00:44:07 2003 @@ -1,6 +1,5 @@ AC_INIT AM_INIT_AUTOMAKE([fastresolve], [2.10]) -AC_ARG_PROGRAM AC_PATH_PROGS(PERL, [perl5 perl], [/usr/bin/perl]) AC_PROG_CC AC_PROG_CXX @@ -26,6 +25,41 @@ AC_DEFUN(DJM_LIB_DB_CXX, [dnl Check for a C++ interface, either version. +AC_ARG_WITH(bdb-lib, + [ --with-bdb-lib=PATH Path to Berkeley DB C++ library], + with_bdb_lib=$withval, + [ test "${with_bdb_lib+set}" = set || with_bdb_lib=none]) +AC_ARG_WITH(bdb-incdir, + [ --with-bdb-incdir=DIR Berkeley DB C++ includes are in DIR], + with_bdb_incdir=$withval, + [ test "${with_bdb_incdir+set}" = set || with_bdb_incdir=none]) + +if test $with_bdb_incdir != none; then +CXXFLAGS="$CXXFLAGS -I$with_bdb_incdir" +fi + +if test $with_bdb_lib != none; then + +dnl Berkeley DB from supplied path +AC_MSG_CHECKING([for Db::open in ${with_bdb_lib}]) +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +djm_save_LIBS="$LIBS" +LIBS="$LIBS $with_bdb_lib" +AC_TRY_LINK([#include ], [Db *d = new Db(NULL, 0);], + djm_cv_lib_bdb_cxx_Db=yes, djm_cv_lib_bdb_cxx_Db=no) +LIBS="$djm_save_LIBS" +AC_LANG_RESTORE +AC_MSG_RESULT($djm_cv_lib_bdb_cxx_Db) + +if test $djm_cv_lib_bdb_cxx_Db = yes; then + LIBS="$LIBS $with_bdb_lib" +else + AC_MSG_ERROR([Berkeley DB library 2.x-4.x configured with --enable-cxx is required]) +fi + +else + dnl Berkeley DB 2.x. AC_CACHE_CHECK([for Db::open in -ldb], djm_cv_lib_db_Dbopen, [AC_LANG_SAVE @@ -41,54 +75,69 @@ LIBS="$LIBS -ldb" else -dnl Berkeley DB 3.x installed as libdb. -AC_CACHE_CHECK([for Db::open in -ldb_cxx], djm_cv_lib_db_cxx_Dbopen, + +dnl Berkeley DB 3.x or 4.x installed as libdb. +AC_CACHE_CHECK([for Db in -ldb_cxx], djm_cv_lib_db_cxx_Db, [AC_LANG_SAVE AC_LANG_CPLUSPLUS djm_save_LIBS="$LIBS" LIBS="$LIBS -ldb -ldb_cxx" -AC_TRY_LINK([#include ], [Db *d = new Db(NULL, 0); -d->open(NULL, NULL, DB_BTREE, DB_CREATE, 0);], - djm_cv_lib_db_cxx_Dbopen=yes, djm_cv_lib_db_cxx_Dbopen=no) +AC_TRY_LINK([#include ], [Db *d = new Db(NULL, 0);], + djm_cv_lib_db_cxx_Db=yes, djm_cv_lib_db_cxx_Db=no) LIBS="$djm_save_LIBS" AC_LANG_RESTORE]) -if test $djm_cv_lib_db_cxx_Dbopen = yes; then +if test $djm_cv_lib_db_cxx_Db = yes; then LIBS="$LIBS -ldb -ldb_cxx" else dnl Berkeley DB 3.x installed as libdb3 (as on FreeBSD). -AC_CACHE_CHECK([for Db::open in -ldb3_cxx], djm_cv_lib_db3_cxx_Dbopen, +AC_CACHE_CHECK([for Db in -ldb3_cxx], djm_cv_lib_db3_cxx_Db, [AC_LANG_SAVE AC_LANG_CPLUSPLUS djm_save_LIBS="$LIBS" LIBS="$LIBS -ldb3 -ldb3_cxx" -AC_TRY_LINK([#include ], [Db *d = new Db(NULL, 0); -d->open(NULL, NULL, DB_BTREE, DB_CREATE, 0);], - djm_cv_lib_db3_cxx_Dbopen=yes, djm_cv_lib_db3_cxx_Dbopen=no) +AC_TRY_LINK([#include ], [Db *d = new Db(NULL, 0);], + djm_cv_lib_db3_cxx_Db=yes, djm_cv_lib_db3_cxx_Db=no) LIBS="$djm_save_LIBS" AC_LANG_RESTORE]) -if test $djm_cv_lib_db3_cxx_Dbopen = yes; then +if test $djm_cv_lib_db3_cxx_Db = yes; then LIBS="$LIBS -ldb3 -ldb3_cxx" else -dnl Berkeley DB 4.x installed as libdb4 (as on FreeBSD). -AC_CACHE_CHECK([for Db::open in -ldb4_cxx], djm_cv_lib_db4_cxx_Dbopen, +dnl Berkeley DB 4.0.x installed as libdb4 (as on FreeBSD). +AC_CACHE_CHECK([for Db in -ldb4_cxx], djm_cv_lib_db4_cxx_Db, [AC_LANG_SAVE AC_LANG_CPLUSPLUS djm_save_LIBS="$LIBS" LIBS="$LIBS -ldb4 -ldb4_cxx" -AC_TRY_LINK([#include ], [Db *d = new Db(NULL, 0); -d->open(NULL, NULL, DB_BTREE, DB_CREATE, 0);], - djm_cv_lib_db4_cxx_Dbopen=yes, djm_cv_lib_db4_cxx_Dbopen=no) +AC_TRY_LINK([#include ], [Db *d = new Db(NULL, 0);], + djm_cv_lib_db4_cxx_Db=yes, djm_cv_lib_db4_cxx_Db=no) LIBS="$djm_save_LIBS" AC_LANG_RESTORE]) -if test $djm_cv_lib_db4_cxx_Dbopen = yes; then +if test $djm_cv_lib_db4_cxx_Db = yes; then LIBS="$LIBS -ldb4 -ldb4_cxx" else + +dnl Berkeley DB 4.1.x installed as libdb41 (as on FreeBSD). +AC_CACHE_CHECK([for Db in -ldb41_cxx], djm_cv_lib_db41_cxx_Db, +[AC_LANG_SAVE +AC_LANG_CPLUSPLUS +djm_save_LIBS="$LIBS" +LIBS="$LIBS -ldb41 -ldb41_cxx" +AC_TRY_LINK([#include ], [Db *d = new Db(NULL, 0);], + djm_cv_lib_db41_cxx_Db=yes, djm_cv_lib_db41_cxx_Db=no) +LIBS="$djm_save_LIBS" +AC_LANG_RESTORE]) + +if test $djm_cv_lib_db41_cxx_Db = yes; then + LIBS="$LIBS -ldb41 -ldb41_cxx" +else AC_MSG_ERROR([Berkeley DB library 2.x-4.x configured with --enable-cxx is required]) +fi +fi fi fi fi