]> diplodocus.org Git - nmh/blobdiff - configure.ac
add $(kibi) function, as complement to %(kilo)
[nmh] / configure.ac
index c77e9e000ef4894cb22d946428b5abe6eccadbb1..a4caa82f50da55a5ec5289e07cae9298c5dfe726 100644 (file)
@@ -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 <unistd.h>],
+                                        [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,25 +156,27 @@ 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 -----------------
-AS_IF([test "$GCC" = yes  &&  `${CC} --version 2>&1 | grep clang >/dev/null`],
-  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"])])
+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"
 
@@ -304,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
@@ -338,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 <sys/ptem.h>.]),,
@@ -351,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 \
@@ -370,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
 
@@ -388,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
@@ -414,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,,
@@ -428,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,
@@ -504,7 +497,7 @@ AS_IF([test "$LEX" = flex],
                [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 "s/\(        \)int i;/\1yy_size_t i;/" $@ >$@.tmp && mv -f $@.tmp $@; true'])
        AC_SUBST([LFLAGS])])
 
 dnl ----------------