diff options
author | Colin Watson <cjwatson@debian.org> | 2008-01-15 14:37:27 +0000 |
---|---|---|
committer | Colin Watson <cjwatson@debian.org> | 2008-01-15 14:37:27 +0000 |
commit | b29fdfc6719aa80dc07bfbc69eb298e43ddd7cce (patch) | |
tree | 5d001fe657d5d2423c004a1d67b34aaea98e69ba /m4/man-bdb.m4 | |
parent | b2f11b3d25fcb9e6f25e6e3d468f8c8f303c2206 (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.m4 | 67 |
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 |