X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=configure.in;h=525ba8c722ef851a72605514b7d55b19a467ea25;hp=287875bc95dc6948ff218ba5e32ddb4c2b575bc1;hb=c0591ef34ea123aa8c709bda122308256d2c84cd;hpb=56539e8eafef3e955be9d08254d61b139faf34f1 diff --git a/configure.in b/configure.in index 287875b..525ba8c 100644 --- a/configure.in +++ b/configure.in @@ -352,11 +352,11 @@ AC_SUBST(pagerpath)dnl dnl Look for `sendmail' pathtmp=/usr/lib:/usr/sbin:/usr/etc:/usr/ucblib:/usr/bin:/bin -AC_PATH_PROG(sendmailpath, sendmail, no, [$pathtmp]) +AC_PATH_PROG(sendmailpath, sendmail, /usr/sbin/sendmail, [$pathtmp]) 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. @@ -448,9 +448,9 @@ AC_HEADER_SYS_WAIT 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 @@ -505,7 +505,7 @@ AC_FUNC_VFORK 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)], @@ -517,7 +517,7 @@ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[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 @@ -539,6 +539,13 @@ dnl preprocessor to preprocess stdio.h and make sure that there's actually a 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 ------------------- @@ -602,19 +609,65 @@ fi 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 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