X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/b166a6e1e60845be7e40397c59d2e997af8fdf5b..52391b538640f320acb25a66b673042c51567f61:/configure.ac diff --git a/configure.ac b/configure.ac index ed4b6b15..df70c7ab 100644 --- a/configure.ac +++ b/configure.ac @@ -28,14 +28,6 @@ dnl Do you want to debug nmh? AC_ARG_ENABLE([debug], AS_HELP_STRING([--enable-debug],[enable nmh code debugging])) -dnl Do you want to disable use of locale functions -AH_TEMPLATE([LOCALE], -[Undefine if you don't want locale features. By default this is defined.]) -AC_ARG_ENABLE([locale], - [AS_HELP_STRING([--disable-locale], [turn off locale features])], - [AS_IF([test x$enableval = xyes], [AC_DEFINE(LOCALE)])], - [AC_DEFINE(LOCALE)]) - dnl Do you want client-side support for using SASL for authentication? dnl Note that this code will be enabled for both POP and SMTP AC_ARG_WITH([cyrus-sasl], AS_HELP_STRING([--with-cyrus-sasl], @@ -50,7 +42,7 @@ AS_IF([test x"$with_cyrus_sasl" != x -a x"$with_cyrus_sasl" != x"no"],[ dnl Do you want client-side support for encryption with TLS? AC_ARG_WITH([tls], AS_HELP_STRING([--with-tls], [Enable TLS support])) -AS_IF([test x"$with_tls" != x -a x"$with_tls" != x"no"],[ +AS_IF([test x"$with_tls" != x"no"],[ AC_DEFINE([TLS_SUPPORT], [1], [Support TLS for session encryption.])dnl tls_support=yes],[tls_support=no]) @@ -119,6 +111,22 @@ if test -n "$auto_cflags"; then CFLAGS="$nmh_saved_cflags"]) test "$nmh_cv_has_dash_ansi" = "yes" && \ CFLAGS="${CFLAGS:+$CFLAGS }-ansi -pedantic" + + dnl For Ubuntu gcc 4.8.1, with -O2. It would be better to fix all these, + dnl but until then, suppress the warning. + AC_CACHE_CHECK([whether compiler needs -Wno-unused-result], + [nmh_cv_needs_wnur], + [nmh_saved_cflags="$CFLAGS" + CFLAGS="$CFLAGS -Werror -O2" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include ], + [extern const char *path; + chdir (path); + return 0;])], + [nmh_cv_needs_wnur=no], + [nmh_cv_needs_wnur=yes]) + CFLAGS="$nmh_saved_cflags"]) + AS_IF([test "$nmh_cv_needs_wnur" = yes], + [CFLAGS="${CFLAGS:+$CFLAGS }-Wno-unused-result"]) else dnl Use -v and some other options with SunStudio cc. lex produces dnl code that causes unreachable-statement warnings. It might be @@ -136,16 +144,6 @@ if test -n "$auto_cflags"; then CFLAGS="$nmh_saved_cflags"]) test "$nmh_cv_has_wall" = "yes" && CFLAGS="${CFLAGS:+$CFLAGS }-Wall" - dnl for Ubuntu - AC_CACHE_CHECK([whether compiler supports -Wno-unused-result], - [nmh_cv_has_wnur], - [nmh_saved_cflags="$CFLAGS" - CFLAGS="$CFLAGS -Wno-unused-result -Werror" - AC_TRY_COMPILE([],[],nmh_cv_has_wnur=yes,nmh_cv_has_wnur=no) - CFLAGS="$nmh_saved_cflags"]) - test "$nmh_cv_has_wnur" = "yes" && \ - CFLAGS="${CFLAGS:+$CFLAGS }-Wno-unused-result" - AC_CACHE_CHECK([whether compiler supports -Wextra], [nmh_cv_has_wextra], [nmh_saved_cflags="$CFLAGS" CFLAGS="$CFLAGS -Wextra -Werror" @@ -155,14 +153,20 @@ if test -n "$auto_cflags"; then test "$nmh_cv_has_wextra" = "yes" && CFLAGS="${CFLAGS:+$CFLAGS }-Wextra" fi +dnl FreeBSD needs a bit of magic to bring getline() into scope. +dnl We do this here rather than in (say) h/mh.h because this macro must +dnl be defined before is pulled in. +AS_IF([test `uname` = FreeBSD], + [CPPFLAGS="$CPPFLAGS -D_WITH_GETLINE"]) + dnl -------------- dnl CUSTOMIZE LINK dnl -------------- -if test `uname` = OpenBSD; then - dnl Filter out "often/almost always misused" warnings from OpenBSD linker. - [POSTLINK="2>&1 | egrep -v ': [w]arning: s[a-z]+\(\) is \ -(almost always|often) misused, please use' || true"] -fi +AS_IF([test `uname` = OpenBSD], + dnl Munge "often/almost always misused" warnings from OpenBSD linker + dnl so that they don't color the waterfall. + [POSTLINK="2>&1 | sed -e \ +'s/: w\(arning: s.*() is .* misused, please use\)/: W\1/'"]) AC_SUBST([POSTLINK]) dnl ----------------- @@ -308,6 +312,7 @@ MAIL_SPOOL_GRP=$nmh_cv_ls_mail_grp AC_SUBST([MAIL_SPOOL_GRP])dnl NMH_MIMETYPEPROC +NMH_MIMEENCODINGPROC dnl ------------------ dnl CHECK HEADER FILES @@ -330,8 +335,7 @@ AS_CASE(["$host_os"], [CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"])]) AC_HEADER_TIOCGWINSZ -AC_CHECK_HEADERS([fcntl.h langinfo.h wchar.h wctype.h sys/param.h \ - sys/time.h sys/stream.h]) +AC_CHECK_HEADERS([fcntl.h wchar.h wctype.h sys/param.h sys/time.h sys/stream.h]) AC_CHECK_HEADER([sys/ptem.h], AC_DEFINE(WINSIZE_IN_PTEM,1, [Define to 1 if `struct winsize' requires .]),, @@ -343,7 +347,7 @@ AC_CHECK_HEADER([sys/ptem.h], AC_DEFINE(WINSIZE_IN_PTEM,1, dnl --------------- dnl CHECK FUNCTIONS dnl --------------- -AC_CHECK_FUNCS([wcwidth mbtowc nl_langinfo getutxent arc4random]) +AC_CHECK_FUNCS([wcwidth mbtowc getutxent arc4random mkstemps]) dnl Check for multibyte character set support AS_IF([test "x$ac_cv_header_wchar_h" = "xyes" -a \ @@ -362,9 +366,6 @@ dnl ------------------- dnl Checks for network libraries (nsl, socket) NMH_CHECK_NETLIBS -dnl Check for readline support -NMH_READLINE - dnl Check the locking functions supported and what we should use by default NMH_LOCKING @@ -380,8 +381,11 @@ for lib in $termcap_curses_order; do done AC_SUBST([TERMLIB])dnl AS_IF([test "x$TERMLIB" = "x"], - [AC_MSG_FAILURE([Could not find setupterm in any library. Is there a curses -or ncurses library or package that you can install?])]) + [AC_MSG_FAILURE([Could not find setupterm in any library. Is there a +curses or ncurses library or package that you can install?])]) + +dnl Check for readline support +NMH_READLINE dnl -------------- dnl CHECK FOR NDBM @@ -406,7 +410,7 @@ if test "$nmh_ndbm" = "autodetect"; then 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: + dnl Berkeley DBv2 emulating ndbm: header in db.h, e.g., 32-bit Cygwin: NMH_CHECK_NDBM(db.h,db,, dnl Berkeley DBv1 emulating ndbm: NMH_CHECK_NDBM(ndbm.h,db,, @@ -420,8 +424,11 @@ if test "$nmh_ndbm" = "autodetect"; then 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)))))))))) - + dnl 64-bit Cygwin: + NMH_CHECK_NDBM(ndbm.h,gdbm_compat -lgdbm,, + dnl On Linux, libgdbm_compat.so loads libgdbm.so as well, so it doesn't + dnl need to be explicit: + NMH_CHECK_NDBM(gdbm-ndbm.h,gdbm_compat))))))))))) fi else dnl We don't really need to check that the user-specified values work, @@ -489,14 +496,14 @@ dnl ---------------- dnl CHECK FLEX FIXUP dnl ---------------- dnl Use LFLAGS make variable setting to work around bugs in flex -dnl 2.5.36 that cause signed/unsigned mismatch, +dnl 2.5.36-37 that cause signed/unsigned mismatch, dnl http://sourceforge.net/p/flex/bugs/140/ AS_IF([test "$LEX" = flex], [AS_CASE([`$LEX -V`], [flex\ 2.5.35], [LFLAGS=\ -'; sed -e "s/ int n;/ size_t n;/" $@ >$@.tmp && mv -f $@.tmp $@; true'], - [flex\ 2.5.36], [LFLAGS=\ -'; sed -s "s/\( \)int i;/\1yy_size_t i;/" $@ >$.tmp && mv -f $@.tmp $@; true']) +'; sed "s/ int n;/ size_t n;/" $@ >$@.tmp && mv -f $@.tmp $@'], + [flex\ 2.5.3[[67]]], [LFLAGS=\ +'; sed "s/\( \)int i;/\1yy_size_t i;/" $@ >$@.tmp && mv -f $@.tmp $@']) AC_SUBST([LFLAGS])]) dnl ----------------