dnl Look for `vi'
pathtmp=/usr/bin:/bin:/usr/ucb:/usr/local/bin
-AC_PATH_PROG(vipath, vi, no, [$pathtmp])
+AC_PATH_PROG(vipath, vi, /bin/vi, [$pathtmp])
dnl If editor is not specified yet,
dnl then use `vi' as the default.
AC_HEADER_STAT
AC_CHECK_HEADERS(string.h memory.h stdlib.h unistd.h errno.h fcntl.h \
limits.h crypt.h termcap.h termio.h termios.h locale.h \
- langinfo.h netdb.h sys/param.h sys/time.h sys/utsname.h \
- iconv.h sys/stream.h arpa/inet.h arpa/ftp.h)
-
+ langinfo.h wchar.h wctype.h iconv.h netdb.h \
+ sys/param.h sys/time.h sys/utsname.h sys/stream.h \
+ arpa/inet.h arpa/ftp.h)
AC_CACHE_CHECK(POSIX termios, nmh_cv_sys_posix_termios,
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
AC_CHECK_LIB(mkstemp,mkstemp)
AC_CHECK_FUNCS(waitpid wait3 sigaction sigprocmask sigblock sigsetmask \
sighold sigrelse writev lstat uname tzset killpg mkstemp \
- sethostent getutent nl_langinfo)
+ sethostent getutent nl_langinfo mbtowc wcwidth)
dnl solaris screws this up
AC_CHECK_FUNC(gethostbyname, [AC_DEFINE(HAVE_GETHOSTBYNAME)],
[[sigsetjmp((void *)0, 0);]])],[AC_DEFINE(HAVE_SIGSETJMP) AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no)])
-AC_REPLACE_FUNCS(snprintf strerror strdup)
+AC_REPLACE_FUNCS(snprintf strdup)
dnl Look for the initgroups() declaration. On AIX 4.[13], Solaris 4.1.3, and
dnl ULTRIX 4.2A the function is defined in libc but there's no declaration in
dnl prototype.
AC_EGREP_HEADER(snprintf, stdio.h, AC_DEFINE(HAVE_SNPRINTF_PROTOTYPE))
+dnl Check for multibyte character set support
+if test "x$ac_cv_header_wchar_h" = "xyes" -a "x$ac_cv_header_wctype_h" = "xyes" \
+ -a "x$ac_cv_func_wcwidth" = "xyes" -a "x$ac_cv_func_mbtowc" = "xyes"; then
+ AC_DEFINE(MULTIBYTE_SUPPORT, 1,
+ [Define to enable support for multibyte character sets])
+fi
+
dnl -------------------
dnl CHECK FOR LIBRARIES
dnl -------------------
dnl --------------
dnl CHECK FOR NDBM
dnl --------------
-dnl Checks for ndbm
-AC_CHECK_FUNC(dbm_open, ,
- AC_CHECK_LIB(ndbm, dbm_open, ,
- AC_CHECK_LIB(dbm, dbm_open, ,
- AC_CHECK_LIB(db1, dbm_open, ,
- AC_CHECK_LIB(gdbm, dbm_open, ,
- AC_CHECK_LIB(db, __db_ndbm_open))))))
-dnl ----------------
-dnl CHECK FOR NDBM.H
-dnl ----------------
+AC_ARG_WITH([ndbm],AS_HELP_STRING([--with-ndbm=ARG],[use -lARG to link with ndbm]),
+ [nmh_ndbm=$withval],[nmh_ndbm=autodetect])
+AC_ARG_WITH([ndbmheader],AS_HELP_STRING([--with-ndbmheader=ARG],[#include <ARG> to use ndbm]),
+ [nmh_ndbmheader=$withval],[nmh_ndbmheader=autodetect])
+
+if test "$nmh_ndbm" = "autodetect"; then
+ if test "$nmh_ndbmheader" != "autodetect"; then
+ AC_MSG_ERROR([must specify both --with-ndbm and --with-ndbmheader or neither])
+ else
+
+ dnl There are at least four implementations of ndbm, and
+ dnl several of those can be in different places at the whim
+ dnl of the system integrator. A good summary of this mess
+ dnl can be found at http://www.unixpapa.com/incnote/dbm.html
+
+ dnl Classic ndbm with no library required (eg NetBSD): try this
+ dnl first so we don't accidentally link in a pointless but harmless
+ dnl library in one of the later ndbm.h+libfoo tests:
+ NMH_CHECK_NDBM(ndbm.h,,,
+ dnl Berkeley DBv2 emulating ndbm: header in db.h:
+ NMH_CHECK_NDBM(db.h,db,,
+ dnl Berkeley DBv1 emulating ndbm:
+ NMH_CHECK_NDBM(ndbm.h,db,,
+ NMH_CHECK_NDBM(ndbm.h,db1,,
+ dnl Classic ndbm:
+ NMH_CHECK_NDBM(ndbm.h,ndbm,,
+ dnl glibc2.1 systems put db1 in a subdir:
+ NMH_CHECK_NDBM(db1/ndbm.h,db1,,
+ dnl GNU gdbm emulating ndbm, with header possibly in gdbm/
+ dnl and possibly needing gbdm_compat library:
+ NMH_CHECK_NDBM(gdbm/ndbm.h,gdbm,,
+ NMH_CHECK_NDBM(gdbm/ndbm.h,gdbm_compat -lgdbm,,
+ NMH_CHECK_NDBM(ndbm.h,gdbm,,
+ NMH_CHECK_NDBM(ndbm.h,gdbm_compat -lgdbm))))))))))
+
+ fi
+else
+ dnl We don't really need to check that the user-specified values work,
+ dnl but it is a convenience to the user to bomb out early rather than
+ dnl after configure and half the compile process.
+ NMH_CHECK_NDBM([$nmh_ndbmheader],[$nmh_ndbm])
+fi
+
+if test "$nmh_ndbm_found" = "no"; then
+ AC_MSG_ERROR([could not find a working ndbm library/header combination])
+else
+ dnl Now export the lib/header to our makefile/config.h:
+ if test x"$nmh_ndbmheader" != x; then
+ AC_DEFINE_UNQUOTED(NDBM_HEADER, <$nmh_ndbmheader>)
+ fi
+ if test x"$nmh_ndbm" != x; then
+ NDBM_LIBS="-l$nmh_ndbm"
+ else
+ NDBM_LIBS=
+ fi
+ AC_SUBST(NDBM_LIBS)
+fi
-AC_CHECK_HEADERS(db1/ndbm.h gdbm/ndbm.h db.h, break, )
dnl ----------------
dnl CHECK FOR HESIOD