-
-# This checks for the function ruserpass.
-#
-# 1) first, check for ruserpass
-# 2) else, check for _ruserpass
-# 3) else, check for _ruserpass in libsocket
-# 4) else, build version of ruserpass in nmh/sbr
-AC_DEFUN(AC_CHECK_RUSERPASS,
-[AC_CHECK_FUNC(ruserpass, ,
- AC_CHECK_FUNC(_ruserpass, ,
- AC_CHECK_LIB(socket, _ruserpass)))
-if test x$ac_cv_func_ruserpass = xno; then
- if test x$ac_cv_func__ruserpass = xyes -o x$ac_cv_lib_socket__ruserpass = xyes; then
- AC_DEFINE(ruserpass, _ruserpass)
- else
- LIBOBJS="$LIBOBJS ruserpass.o"
- fi
+dnl --------------
+dnl CHECK FOR NDBM
+dnl --------------
+dnl
+dnl NMH_CHECK_DBM(libname,action-if-true,action-if-false,other-libraries)
+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 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 the dbm_open() function is provided via a #define and
+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.)
+AC_DEFUN(NMH_CHECK_DBM,
+[
+if test "x$1" == "x"; then
+ nmh_libs=
+ dnl this is just for the benefit of AC_CACHE_CHECK's message
+ nmh_testname=libc
+else
+ nmh_libs="-l$1 "
+ nmh_testname="$1"