Added -nocontentid (and -contentid, for symmetry) switch to mhbuild. This allows...
[mmh] / aclocal.m4
index c9362ec..c0d4fb8 100644 (file)
@@ -24,16 +24,19 @@ dnl --------------
 dnl CHECK FOR NDBM
 dnl --------------
 dnl
 dnl CHECK FOR NDBM
 dnl --------------
 dnl
-dnl NMH_CHECK_DBM(libname,action-if-true,action-if-false,other-libraries)
+dnl NMH_CHECK_DBM(include,library,action-if-found,action-if-not)
+
 dnl Check for presence of dbm_open() in the specified library
 dnl Check for presence of dbm_open() in the specified library
-dnl (if libname is the empty string then don't try to link against
-dnl any particular library). If action-if-true is unspecified it
-dnl defaults to adding "-llibname" to the beginning of LIBS.
-dnl If other-libraries is specified then these are prepended to
-dnl LIBS for the duration of the check.
-dnl NB that the checks for the right dbm header files must
-dnl be done before using this macro!
-dnl
+dnl and with the specified include file (if libname is the empty
+dnl string then don't try to link against any particular library).
+
+dnl We set nmh_ndbm_found to 'yes' or 'no'; if found we set
+dnl nmh_ndbmheader to the first arg and nmh_ndbm to the second.
+
+dnl If this macro accepted a list of include,library tuples
+dnl to test in order that would be cleaner than the current
+dnl nest of calls in configure.in.
+
 dnl We try to link our own code fragment (which includes the
 dnl headers in the same way slocal.c does) rather than
 dnl using AC_CHECK_LIB because on later versions of libdb
 dnl We try to link our own code fragment (which includes the
 dnl headers in the same way slocal.c does) rather than
 dnl using AC_CHECK_LIB because on later versions of libdb
@@ -42,45 +45,42 @@ dnl we don't want to hardcode searching for the internal
 dnl function that lies behind it. (AC_CHECK_LIB works by
 dnl defining its own bogus prototype rather than pulling in
 dnl the right header files.)
 dnl function that lies behind it. (AC_CHECK_LIB works by
 dnl defining its own bogus prototype rather than pulling in
 dnl the right header files.)
-AC_DEFUN(NMH_CHECK_DBM,
+
+dnl An oddity (bug) of this macro is that if you haven't
+dnl done AC_PROG_CC or something that implies it before
+dnl using this macro autoconf complains about a recursive
+dnl expansion.
+
+AC_DEFUN(NMH_CHECK_NDBM,
 [
 [
-if test "x$1" == "x"; then
-   nmh_libs=
-   dnl this is just for the benefit of AC_CACHE_CHECK's message
-   nmh_testname=libc
+if test "x$2" = "x"; then
+  nmh_libs=
+  AC_MSG_CHECKING([for dbm in $1])
 else
 else
-   nmh_libs="-l$1 "
-   nmh_testname="$1"
+  nmh_libs="-l$2 "
+  AC_MSG_CHECKING([for dbm in $1 and $2])
 fi
 fi
-AC_CACHE_CHECK([for dbm in $nmh_testname], [nmh_cv_check_dbm_$1],[
+
+dnl We don't try to cache the result, because that exceeds
+dnl my autoconf skills -- feel free to put it in :-> -- PMM
+
 nmh_saved_libs="$LIBS"
 nmh_saved_libs="$LIBS"
-LIBS="$nmh_libs $4 $LIBS"
+LIBS="$nmh_libs $5 $LIBS"
 AC_LINK_IFELSE(AC_LANG_PROGRAM([[
 AC_LINK_IFELSE(AC_LANG_PROGRAM([[
-#ifdef HAVE_DB1_NDBM_H
-#include <db1/ndbm.h>
-#else
-#ifdef HAVE_GDBM_NDBM_H
-#include <gdbm/ndbm.h>
-#else
-#if defined(HAVE_DB_H)
 #define DB_DBM_HSEARCH 1
 #define DB_DBM_HSEARCH 1
-#include <db.h>
-#else
-#include <ndbm.h>
-#endif
-#endif
-#endif
+#include <$1>
 ]],
 ]],
-[[dbm_open("",0,0);]]),[nmh_cv_check_dbm_$1=yes],[
-nmh_cv_check_dbm_$1=no])
+[[dbm_open("",0,0);]]),[nmh_ndbm_found=yes],[nmh_ndbm_found=no])
 LIBS="$nmh_saved_libs"
 LIBS="$nmh_saved_libs"
-])
-if eval "test \"`echo '$nmh_cv_check_dbm_'$1`\" = yes"; then
-  nmh_tr_macro=HAVE_LIB`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
-  AC_DEFINE_UNQUOTED($nmh_tr_macro)
-  m4_if([$2],,[LIBS="$nmh_libs$LIBS"],[$2])
-else
+
+if test "$nmh_ndbm_found" = "yes"; then
+  AC_MSG_RESULT(yes)
+  nmh_ndbmheader="$1"
+  nmh_ndbm="$2"
   $3
   $3
+else
+  AC_MSG_RESULT(no)
+  $4
   :
 fi
 ])dnl
   :
 fi
 ])dnl