summaryrefslogtreecommitdiff
path: root/m4/ax_berkeley_db_cxx.m4
diff options
context:
space:
mode:
authorT.v.Dein <tlinden@cpan.org>2015-05-23 12:11:08 +0200
committerPeter Simons <simons@cryp.to>2015-05-23 12:12:41 +0200
commitb87ebf8630e85447adc29fe26ab2e4a2d82877f9 (patch)
tree239bdf06ec4a92ffaf2bdd81123acf84c8da64be /m4/ax_berkeley_db_cxx.m4
parent38b0bb462b850201f42047bb9c4210148416a06f (diff)
downloadautoconf-archive-b87ebf8630e85447adc29fe26ab2e4a2d82877f9.tar.gz
AX_BERKELEY_DB_CXX: improve support for FreeBSD
Submitted in https://savannah.gnu.org/patch/?8672.
Diffstat (limited to 'm4/ax_berkeley_db_cxx.m4')
-rw-r--r--m4/ax_berkeley_db_cxx.m495
1 files changed, 48 insertions, 47 deletions
diff --git a/m4/ax_berkeley_db_cxx.m4 b/m4/ax_berkeley_db_cxx.m4
index 42b4722..598f809 100644
--- a/m4/ax_berkeley_db_cxx.m4
+++ b/m4/ax_berkeley_db_cxx.m4
@@ -37,7 +37,7 @@
# and this notice are preserved. This file is offered as-is, without any
# warranty.
-#serial 4
+#serial 5
AC_DEFUN([AX_BERKELEY_DB_CXX],
[
@@ -75,12 +75,12 @@ AC_DEFUN([AX_BERKELEY_DB_CXX],
AC_MSG_CHECKING([for Berkeley DB (C++)])
else
minvermajor=`echo $minversion | cut -d. -f1`
- minverminor=`echo $minversion | cut -d. -f2`
- minverpatch=`echo $minversion | cut -d. -f3`
- minvermajor=${minvermajor:-0}
- minverminor=${minverminor:-0}
- minverpatch=${minverpatch:-0}
- AC_MSG_CHECKING([for Berkeley DB (C++) >= $minversion])
+ minverminor=`echo $minversion | cut -d. -f2 -s`
+ minverpatch=`echo $minversion | cut -d. -f3 -s`
+ if test -z "$minvermajor"; then minvermajor=0; fi
+ if test -z "$minverminor"; then minverminor=0; fi
+ if test -z "$minverpatch"; then minverpatch=0; fi
+ AC_MSG_CHECKING([for Berkeley DB (C++) >= $minvermajor.$minverminor.$minverpatch])
fi
if test x$libdbdir != x""; then
@@ -90,46 +90,47 @@ AC_DEFUN([AX_BERKELEY_DB_CXX],
CPPFLAGS="$DB_CXX_CPPFLAGS $old_CPPFLAGS"
fi
- for version in "" 5.0 4.9 4.8 4.7 4.6 4.5 4.4 4.3 4.2 4.1 4.0 3.6 3.5 3.4 3.3 3.2 3.1 ; do
-
- if test -z $version ; then
- db_cxx_lib="-ldb_cxx -ldb"
- try_headers="db_cxx.h"
- else
- db_cxx_lib="$libdbdir -ldb_cxx-$version -ldb-$version"
- try_headers="db$version/db_cxx.h db`echo $version | sed -e 's,\..*,,g'`/db_cxx.h"
- fi
-
- LIBS="$old_LIBS $db_cxx_lib"
-
- for db_cxx_hdr in $try_headers ; do
- if test -z $DB_CXX_HEADER ; then
- AC_LINK_IFELSE(
- [AC_LANG_PROGRAM(
- [
- #include <${db_cxx_hdr}>
- ],
- [
- #if !((DB_VERSION_MAJOR > (${minvermajor}) || \
- (DB_VERSION_MAJOR == (${minvermajor}) && \
- DB_VERSION_MINOR > (${minverminor})) || \
- (DB_VERSION_MAJOR == (${minvermajor}) && \
- DB_VERSION_MINOR == (${minverminor}) && \
- DB_VERSION_PATCH >= (${minverpatch}))))
- #error "too old version"
- #endif
-
- DB *db;
- db_create(&db, NULL, 0);
- ])],
- [
- AC_MSG_RESULT([header $db_cxx_hdr, library $db_cxx_lib])
-
- DB_CXX_HEADER="$db_cxx_hdr"
- DB_CXX_LIBS="$db_cxx_lib"
- ])
- fi
- done
+ for major in 4; do
+ for minor in 0 1 2 3 4 5 6 7 8 9; do
+ for version in "${major}.${minor}" "${major}${minor}"; do
+
+ try_libs="-ldb_cxx-${version}%-ldb-${version} -ldb${version}_cxx%-ldb${version}"
+ try_headers="db${major}.${minor}/db_cxx.h db${major}${minor}/db_cxx.h db${major}/db_cxx.h"
+ for db_cxx_hdr in $try_headers ; do
+ for db_cxx_lib in $try_libs; do
+ db_cxx_lib="$libdbdir `echo "$db_cxx_lib" | sed 's/%/ /g'`"
+ LIBS="$old_LIBS $db_cxx_lib"
+ #echo "Trying <$db_cxx_lib> <$db_cxx_hdr>"
+ if test -z $DB_CXX_HEADER ; then
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [
+ #include <${db_cxx_hdr}>
+ ],
+ [
+ #if !((DB_VERSION_MAJOR > (${minvermajor}) || \
+ (DB_VERSION_MAJOR == (${minvermajor}) && \
+ DB_VERSION_MINOR > (${minverminor})) || \
+ (DB_VERSION_MAJOR == (${minvermajor}) && \
+ DB_VERSION_MINOR == (${minverminor}) && \
+ DB_VERSION_PATCH >= (${minverpatch}))))
+ #error "too old version"
+ #endif
+
+ DB *db;
+ db_create(&db, NULL, 0);
+ ])],
+ [
+ AC_MSG_RESULT([header $db_cxx_hdr, library $db_cxx_lib])
+ DB_CXX_HEADER="$db_cxx_hdr"
+ DB_CXX_LIBS="$db_cxx_lib"
+ ],
+ )
+ fi
+ done
+ done
+ done
+ done
done
LIBS="$old_LIBS"