summaryrefslogtreecommitdiff
path: root/m4/man-bdb.m4
diff options
context:
space:
mode:
authorColin Watson <cjwatson@debian.org>2008-01-15 14:37:27 +0000
committerColin Watson <cjwatson@debian.org>2008-01-15 14:37:27 +0000
commitb29fdfc6719aa80dc07bfbc69eb298e43ddd7cce (patch)
tree5d001fe657d5d2423c004a1d67b34aaea98e69ba /m4/man-bdb.m4
parentb2f11b3d25fcb9e6f25e6e3d468f8c8f303c2206 (diff)
* m4/man-bdb.m4: Add WITH-DB option; make ACTION-IF-FOUND optional;
define BDB_H and BTREE. * configure.ac: Make Berkeley DB checks more concise using the above.
Diffstat (limited to 'm4/man-bdb.m4')
-rw-r--r--m4/man-bdb.m467
1 files changed, 41 insertions, 26 deletions
diff --git a/m4/man-bdb.m4 b/m4/man-bdb.m4
index 12216454..49595516 100644
--- a/m4/man-bdb.m4
+++ b/m4/man-bdb.m4
@@ -1,36 +1,51 @@
-# man-bdb.m4 serial 1
-dnl MAN_CHECK_BDB(HEADERS, LIBS, ACTION-IF-FOUND)
+# man-bdb.m4 serial 2
+dnl MAN_CHECK_BDB(WITH-DB, HEADERS, LIBS, [ACTION-IF-FOUND])
dnl Helper to check Berkeley DB linkage when particular header files and
dnl libraries are included. ACTION-IF-FOUND may contain $head and $lib.
dnl Contributed by Duncan Simpson <dps@io.stargate.co.uk> and hacked into a
dnl macro by Colin Watson.
AC_DEFUN([MAN_CHECK_BDB], [dnl
-for head in $1
+man_bdb_requested=no
+for trydb in $1
do
- AC_CHECK_HEADERS([$head], [got=yes], [got=no])
- if test "$got" = "yes"
+ if test "$db" = "$trydb"
then
- for lib in $2
- do
- AS_VAR_PUSHDEF([man_tr_bdb], [man_cv_bdb_header_${head}_lib_${lib}])dnl
- man_saved_LIBS="$LIBS"
- LIBS="$LIBS -l$lib"
- AC_CACHE_CHECK([for dbopen from <${head}> in -l${lib}], man_tr_bdb,
- [AC_TRY_LINK([#include <$head>], [dbopen("foo", 0, 0, 0, (void *) 0)],
- [AS_VAR_SET(man_tr_bdb, yes)],
- [AS_VAR_SET(man_tr_bdb, no)])
- ])
- AS_IF([test AS_VAR_GET(man_tr_bdb) = yes],
- [$3
- DBLIBS="-l$lib"
- db=yes],
- [db=no])
- LIBS="$man_saved_LIBS"
- AS_VAR_POPDEF([man_tr_bdb])dnl
- test "$db" = "yes" && break
- done
+ man_bdb_requested=yes
fi
- test "$db" = "yes" && break
-done[]dnl
+done
+if test "$db" = no || test "$man_bdb_requested" = yes
+then
+ for head in $2
+ do
+ AC_CHECK_HEADERS([$head], [got=yes], [got=no])
+ if test "$got" = "yes"
+ then
+ for lib in $3
+ do
+ AS_VAR_PUSHDEF([man_tr_bdb], [man_cv_bdb_header_${head}_lib_${lib}])dnl
+ man_saved_LIBS="$LIBS"
+ LIBS="$LIBS -l$lib"
+ AC_CACHE_CHECK([for dbopen from <${head}> in -l${lib}], man_tr_bdb,
+ [AC_TRY_LINK([#include <$head>], [dbopen("foo", 0, 0, 0, (void *) 0)],
+ [AS_VAR_SET(man_tr_bdb, yes)],
+ [AS_VAR_SET(man_tr_bdb, no)])
+ ])
+ AS_IF([test AS_VAR_GET(man_tr_bdb) = yes],
+ [$4
+ AC_DEFINE_UNQUOTED([BDB_H], [<$head>],
+ [Define if you have, and want to use, Berkeley database header files.])
+ AC_DEFINE_UNQUOTED([BTREE], [1],
+ [Define if you have, and want to use, the Berkeley database library.])
+ DBLIBS="-l$lib"
+ db=yes],
+ [db=no])
+ LIBS="$man_saved_LIBS"
+ AS_VAR_POPDEF([man_tr_bdb])dnl
+ test "$db" = "yes" && break
+ done
+ fi
+ test "$db" = "yes" && break
+ done
+fi[]dnl
])# MAN_CHECK_BDB