X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/1761743053b665d3d25c51195ff8e56f2eb2e165..164fc755c40aeb37efe1b330fd0c01b7fa9ce72c:/configure.ac?ds=inline diff --git a/configure.ac b/configure.ac index 9b7bb49e..a4caa82f 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], @@ -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,15 +144,6 @@ if test -n "$auto_cflags"; then CFLAGS="$nmh_saved_cflags"]) test "$nmh_cv_has_wall" = "yes" && CFLAGS="${CFLAGS:+$CFLAGS }-Wall" - 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" @@ -157,28 +156,29 @@ fi 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 ----------------- dnl CUSTOMIZE LDFLAGS dnl ----------------- -if test "$GCC" = yes; then - dnl Disable clang complaint about unused -ansi when linking. - AC_CACHE_CHECK([whether linker supports -Qunused-arguments], - [nmh_cv_has_q_unused_arguments], - [nmh_saved_ldflags="$LDFLAGS" - LDFLAGS="$LDFLAGS -Qunused-arguments" - AC_TRY_LINK([],[],nmh_cv_has_q_unused_arguments=yes, - nmh_cv_has_q_unused_arguments=no) - LDFLAGS="$nmh_saved_ldflags"]) - test "$nmh_cv_has_q_unused_arguments" = "yes" && \ - LDFLAGS="${LDFLAGS:+$LDFLAGS }-Qunused-arguments" -fi +dnl Disable clang complaint about unused -ansi when linking. +AC_CACHE_CHECK([whether linker supports -Qunused-arguments], + [nmh_cv_has_q_unused_arguments], + [AS_IF([test "$GCC" = yes && `${CC} --version 2>&1 | \ + grep clang >/dev/null`], + [nmh_saved_ldflags="$LDFLAGS" + LDFLAGS="$LDFLAGS -Qunused-arguments" + AC_TRY_LINK([],[],nmh_cv_has_q_unused_arguments=yes, + nmh_cv_has_q_unused_arguments=no) + LDFLAGS="$nmh_saved_ldflags"], + [nmh_cv_has_q_unused_arguments=no])]) +test "$nmh_cv_has_q_unused_arguments" = "yes" && \ + LDFLAGS="${LDFLAGS:+$LDFLAGS }-Qunused-arguments" dnl This hack turns off assertions by default, assuming dnl that configure still uses this shell variable. Without @@ -305,18 +305,8 @@ AC_CACHE_CHECK(what group owns the mail spool, nmh_cv_ls_mail_grp, MAIL_SPOOL_GRP=$nmh_cv_ls_mail_grp AC_SUBST([MAIL_SPOOL_GRP])dnl -dnl --------------------------------------------- -dnl CHECK FOR PROGRAM TO PROVIDE MIME TYPE STRING -dnl --------------------------------------------- -AS_IF([file --mime "${srcdir}"/configure >/dev/null 2>&1], - [AS_IF([file --brief --mime "${srcdir}"/configure >/dev/null 2>&1], - [nmh_mimetypeproc='"file --brief --mime"'], - [nmh_mimetypeproc='"file --mime"'])]) -AS_CASE([$nmh_mimetypeproc], [?*], - [AC_DEFINE_UNQUOTED([MIMETYPEPROC], [$nmh_mimetypeproc], - [Program, with arguments, that provides MIME type string.])]) -AS_ECHO_N(["AS_ESCAPE([checking program to provide MIME type string ... ])"]) -AS_ECHO(["AS_ESCAPE([$nmh_mimetypeproc], [""])"]) +NMH_MIMETYPEPROC +NMH_MIMEENCODINGPROC dnl ------------------ dnl CHECK HEADER FILES @@ -339,8 +329,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 .]),, @@ -352,7 +341,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 \ @@ -371,9 +360,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 @@ -389,8 +375,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 @@ -415,7 +404,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,, @@ -429,8 +418,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, @@ -503,11 +495,9 @@ dnl http://sourceforge.net/p/flex/bugs/140/ AS_IF([test "$LEX" = flex], [AS_CASE([`$LEX -V`], [flex\ 2.5.35], [LFLAGS=\ -'; printf "%s\n" '\''1,$$s/(size_t) \(num_to_read\)/\1/'\'' w q | ed -s $@; \ -true'], +'; sed -e "s/ int n;/ size_t n;/" $@ >$@.tmp && mv -f $@.tmp $@; true'], [flex\ 2.5.36], [LFLAGS=\ -'; printf "%s\n" '\''1,$$s/\( \)int i;/\1yy_size_t i;/'\'' w q | ed -s $@; \ -true']) +'; sed -s "s/\( \)int i;/\1yy_size_t i;/" $@ >$@.tmp && mv -f $@.tmp $@; true']) AC_SUBST([LFLAGS])]) dnl ----------------