2 dnl configure.ac -- autoconf template for nmh
8 AC_INIT([nmh], m4_normalize(m4_include([VERSION])), [nmh-workers@nongnu.org])
9 AC_CONFIG_SRCDIR([h/nmh.h])
10 AC_CONFIG_HEADER([config.h])
11 AM_INIT_AUTOMAKE([-Wall foreign serial-tests subdir-objects 1.12])
15 AC_MSG_NOTICE([configuring for AC_PACKAGE_NAME-AC_PACKAGE_VERSION])
16 AC_SUBST(VERSION,AC_PACKAGE_VERSION)dnl
18 dnl What date of nmh are we building?
19 DATE=`cat ${srcdir}/DATE`
20 AC_MSG_NOTICE([configuring for nmh dated $DATE])
23 dnl --------------------------
24 dnl CHECK COMMAND LINE OPTIONS
25 dnl --------------------------
27 dnl Do you want to debug nmh?
28 AC_ARG_ENABLE([debug],
29 AS_HELP_STRING([--enable-debug],[enable nmh code debugging]))
31 dnl Do you want to disable use of locale functions
33 [Undefine if you don't want locale features. By default this is defined.])
34 AC_ARG_ENABLE([locale],
35 [AS_HELP_STRING([--disable-locale], [turn off locale features])],
36 [AS_IF([test x$enableval = xyes], [AC_DEFINE(LOCALE)])],
39 dnl Do you want client-side support for using SASL for authentication?
40 dnl Note that this code will be enabled for both POP and SMTP
41 AC_ARG_WITH([cyrus-sasl], AS_HELP_STRING([--with-cyrus-sasl],
42 [Enable SASL support via the Cyrus SASL library]))
43 AS_IF([test x"$with_cyrus_sasl" != x -a x"$with_cyrus_sasl" != x"no"],[
44 AC_DEFINE([CYRUS_SASL], [1],
45 [Define to use the Cyrus SASL library for authentication of POP and SMTP.])dnl
46 AS_IF([test x"$with_cyrus_sasl" != xyes],[
47 AC_MSG_WARN([Arguments to --with-cyrus-sasl now ignored])
48 AC_MSG_WARN([Please pass the appropriate arguments to CPPFLAGS/LDFLAGS])])
49 sasl_support=yes], [sasl_support=no])
51 dnl Do you want client-side support for encryption with TLS?
52 AC_ARG_WITH([tls], AS_HELP_STRING([--with-tls], [Enable TLS support]))
53 AS_IF([test x"$with_tls" != x -a x"$with_tls" != x"no"],[
54 AC_DEFINE([TLS_SUPPORT], [1], [Support TLS for session encryption.])dnl
55 tls_support=yes],[tls_support=no])
57 dnl Set the backup prefix
58 AC_ARG_WITH([hash-backup],
59 AS_HELP_STRING([--with-hash-backup],[use # as the backup prefix (default: ,)]))
60 AS_IF([test x"$with_hash_backup" != x -a x"$with_hash_backup" != x"no"],
61 [backup_prefix="#"], [backup_prefix=","])
62 AC_DEFINE_UNQUOTED([BACKUP_PREFIX], "$backup_prefix",
63 [The prefix that is prepended to the name of message files when they are "removed" by rmm. This should typically be `,' or `#'.])dnl
65 dnl What method of posting should post use?
67 AS_HELP_STRING([--with-mts=@<:@smtp|sendmail/smtp|sendmail/pipe@:>@],
68 [specify the default mail transport agent/service]))
70 AS_IF([test x"$with_mts" = x"smtp"], [MTS="smtp"],
71 [test x"$with_mts" = x"sendmail"], [MTS="sendmail/smtp"],
72 [test x"$with_mts" = x"sendmail/smtp"], [MTS="sendmail/smtp"],
73 [test x"$with_mts" = x"sendmail/pipe"], [MTS="sendmail/pipe"],
77 dnl What should be the default mail server(s)?
78 AC_ARG_WITH([smtpservers],
79 [AS_HELP_STRING([--with-smtpservers='SMTPSERVER1@<:@ SMTPSERVER2...@:>@'],
80 [specify the default SMTP server(s) @<:@localhost@:>@])])
81 AS_IF([test -n "$with_smtpservers"], [smtpservers="$with_smtpservers"],
82 [smtpservers="localhost"])
83 AC_SUBST([smtpservers])dnl
85 dnl ----------------------------------------------------
86 dnl Default location is /usr/local/nmh/{bin,etc,lib,man}
87 dnl ----------------------------------------------------
88 AC_PREFIX_DEFAULT([/usr/local/nmh])
90 dnl ------------------
91 dnl CHECK THE COMPILER
92 dnl ------------------
93 dnl We want these before the checks,
94 dnl so the checks can modify their values.
95 test -z "$CFLAGS" && CFLAGS= auto_cflags=1
96 if test x"$enable_debug" = x"yes"; then
97 test -z "$LDFLAGS" && LDFLAGS=-g
103 AC_CACHE_CHECK([whether compiler supports -Wextra], [nmh_cv_has_wextra],
104 [nmh_saved_cflags="$CFLAGS"
105 CFLAGS="$CFLAGS -Wextra -Werror"
106 AC_TRY_COMPILE([],[],nmh_cv_has_wextra=yes,nmh_cv_has_wextra=no)
107 CFLAGS="$nmh_saved_cflags"])
109 dnl Can't use -ansi with gcc 4.5.3 on Cygwin, at least through setup
110 dnl setup version 2.763, because it disables some features in the
111 dnl system system header files and warns about them with -Wall. Try
112 dnl to test for that generally, though still with gcc.
113 if test "$GCC" = yes; then
114 AC_CACHE_CHECK([whether we can use -ansi with gcc], [nmh_cv_has_dash_ansi],
115 [nmh_saved_cppflags="$CPPFLAGS"
116 nmh_saved_cflags="$CFLAGS"
117 CPPFLAGS="-D_GNU_SOURCE"
118 CFLAGS="-ansi -Wall -Werror"
119 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <time.h>],[tzset();])],
120 [nmh_cv_has_dash_ansi=yes],
121 [nmh_cv_has_dash_ansi=no])
122 CPPFLAGS="$nmh_saved_cppflags"
123 CFLAGS="$nmh_saved_cflags"])
125 dnl Disable clang complaint about unused -ansi when linking.
126 AC_CACHE_CHECK([whether linker supports -Qunused-arguments],
127 [nmh_cv_has_q_unused_arguments],
128 [nmh_saved_ldflags="$LDFLAGS"
129 LDFLAGS="$LDFLAGS -Qunused-arguments"
130 AC_TRY_LINK([],[],nmh_cv_has_q_unused_arguments=yes,
131 nmh_cv_has_q_unused_arguments=no)
132 LDFLAGS="$nmh_saved_ldflags"])
134 if test "$nmh_cv_has_q_unused_arguments" = "yes"; then
135 test -z "$LDFLAGS" && LDFLAGS=-Qunused-arguments \
136 || LDFLAGS="$LDFLAGS -Qunused-arguments"
139 nmh_cv_has_dash_ansi=no
142 dnl if the user hasn't specified CFLAGS, then
143 dnl if compiler is gcc, then
144 dnl use -O2 and some warning flags
146 dnl We use -Wall and -Wextra if supported. If the compiler supports it we
147 dnl also use -Wno-pointer-sign, because gcc 4 now produces a lot of new
148 dnl warnings which are probably mostly spurious and which in any case we
149 dnl don't want to deal with now.
150 if test "$nmh_cv_has_dash_ansi" = "yes"; then
151 nmh_gcc_warnflags="-ansi -pedantic -Wall"
153 nmh_gcc_warnflags="-Wall"
155 if test "$nmh_cv_has_wextra" = "yes"; then
156 nmh_gcc_warnflags="${nmh_gcc_warnflags} -Wextra"
159 if test -n "$auto_cflags"; then
160 if test x"$enable_debug" = x"yes"; then
161 if test -n "$GCC"; then
162 test -z "$CFLAGS" && CFLAGS="$nmh_gcc_warnflags -g" || CFLAGS="$CFLAGS $nmh_gcc_warnflags -g"
164 test -z "$CFLAGS" && CFLAGS=-g || CFLAGS="$CFLAGS -g"
167 if test -z "$LDFLAGS"; then
177 if test -n "$GCC"; then
178 test -z "$CFLAGS" && CFLAGS="$nmh_gcc_warnflags -O2" || CFLAGS="$CFLAGS $nmh_gcc_warnflags -O2"
180 test -z "$CFLAGS" && CFLAGS=-O || CFLAGS="$CFLAGS -O"
182 AC_DEFINE([NDEBUG], [1],
183 [Define to disable run-time debugging and asserts.])
187 dnl ------------------
188 dnl CHECK FOR PROGRAMS
189 dnl ------------------
190 AC_PROG_MAKE_SET dnl Does make define $MAKE
191 AC_PROG_INSTALL dnl Check for BSD compatible `install'
192 AC_PROG_RANLIB dnl Check for `ranlib'
193 AC_PROG_AWK dnl Check for mawk,gawk,nawk, then awk
194 AC_PROG_SED dnl Check for Posix-compliant sed
195 AM_PROG_LEX dnl Check for lex/flex
200 pathtmp=/usr/xpg4/bin:/usr/bin:/bin:/usr/local/bin:/usr/ucb
201 AC_PATH_PROG([cutpath], [cut], [no], [$pathtmp])
204 dnl Check for MD5 program and formatting command
206 AC_CHECK_PROGS([MD5SUM], [md5sum md5], [missing])
207 AS_CASE(["${MD5SUM}"],
208 [md5sum], [MD5FMT="cat"],
209 [md5], [[MD5FMT="${SED} -e 's/MD5 *(.*) *= \([0-9a-f]*\)/\1/'"]],
213 dnl ----------------------------------------------
214 dnl check for lclint, and lint if it doesn't exist
215 dnl ----------------------------------------------
216 AC_CHECK_PROG([linttmp1], [lclint], [lclint], [no])dnl
217 AS_IF([test x$ac_cv_prog_linttmp1 != xno],
218 [LINT=$ac_cv_prog_linttmp1
219 LINTFLAGS="-weak +posixlib -macrovarprefixexclude"],
220 [AC_CHECK_PROG([linttmp2], [lint], [lint], [no])dnl
221 AS_IF([test x$ac_cv_prog_linttmp2 != xno],
222 [LINT=$ac_cv_prog_linttmp2
224 [LINT="echo 'No lint program found'"
227 AC_SUBST([LINTFLAGS])dnl
230 pathtmp=/usr/xpg4/bin:/usr/bin:/bin:/usr/local/bin:/usr/ucb
231 AC_PATH_PROG([lspath], [ls], [no], [$pathtmp])
233 dnl See how we get ls to display the owner and the group
234 AS_IF([test "$lspath" != "no"],
235 [AC_CACHE_CHECK([how to get ls to show us the group ownership of a file],
237 [AS_IF([test x"`$lspath -dl / | $AWK '{print $9}'`" = x"/"],[
238 dnl There were 9 parameters, so unless this is a really bizarre, nonstandard
239 dnl ls, it would seem -l gave us both the user and group. On this type of
240 dnl ls, -g makes _only_ the group be displayed (and not the user).
241 nmh_cv_ls_grpopt="-l"],[
242 dnl Looks like -l only gave us the user, so we need -g to get the group too.
243 nmh_cv_ls_grpopt="-lg"])])])
245 dnl Look for `sendmail'
246 pathtmp=/usr/sbin:/usr/lib:/usr/etc:/usr/ucblib:/usr/bin:/bin
247 AC_PATH_PROG([sendmailpath], [sendmail], [/usr/sbin/sendmail], [$pathtmp])
249 dnl Cygwin FAT filesystems do not support hard links. So default to
250 dnl cp instead, even if running on an NTFS or other filesystem.
251 AS_CASE(["$host_os"],
256 dnl ----------------------------------------------------------
257 dnl FIND MAIL SPOOL AND SEE IF WE NEED TO MAKE inc SETGID MAIL
258 dnl ----------------------------------------------------------
259 AC_CACHE_CHECK(where mail spool is located, nmh_cv_mailspool,
260 [for mailspool in /var/mail dnl
263 /dev/null; dnl Just in case we fall through
265 test -d $mailspool && break
267 nmh_cv_mailspool=$mailspool
269 mailspool=$nmh_cv_mailspool
270 AC_SUBST([mailspool])dnl
272 dnl See whether the mail spool directory is world-writable.
273 if test "$lspath" != "no" -a "$cutpath" != "no"; then
274 AC_CACHE_CHECK(whether the mail spool is world-writable,
275 nmh_cv_mailspool_world_writable,
276 [if test "`$lspath -dlL $mailspool | $cutpath -c9`" = "-"; then
277 nmh_cv_mailspool_world_writable=no
279 nmh_cv_mailspool_world_writable=yes
283 dnl Also, check for liblockfile (as found on Debian systems)
284 AC_CHECK_HEADER([lockfile.h], [AC_CHECK_LIB(lockfile, lockfile_create)])
286 dnl and whether its companion program dotlockfile is setgid
287 AC_PATH_PROG(dotlockfilepath, dotlockfile, no)
288 if test "$ac_cv_lib_lockfile_lockfile_create" != "no" ; then
289 if test "$ac_cv_path_dotlockfilepath" != "no" ; then
290 AC_CACHE_CHECK(whether dotlockfile is setgid, nmh_cv_dotlockfile_setgid,
291 [ if test -g "$ac_cv_path_dotlockfilepath" ; then
292 nmh_cv_dotlockfile_setgid=yes
294 nmh_cv_dotlockfile_setgid=no
299 dnl Provide a way for distcheck to disable setgid_mail via
300 dnl DISTCHECK_CONFIGURE_FLAGS.
301 AS_IF([test x"$DISABLE_SETGID_MAIL" != x -a x"$DISABLE_SETGID_MAIL" != x0],
302 [nmh_cv_dotlockfile_setgid=yes])
304 dnl If mailspool is not world-writable and dotlockfile is not setgid,
305 dnl we need to #define MAILGROUP to 1 and make inc setgid.
306 if test x"$LOCKTYPE" = x"dot" -a x"$nmh_cv_mailspool_world_writable" = x"no" -a x"$nmh_cv_dotlockfile_setgid" != x"yes" ; then
307 dnl do we really need both of these?
308 AC_DEFINE(MAILGROUP,1,
309 [Define to 1 if you need to make `inc' set-group-id because your mail spool is not world writable. There are no guarantees as to the safety of doing this, but this #define will add some extra security checks.])dnl
312 AC_SUBST([SETGID_MAIL])dnl
314 dnl Use ls to see which group owns the mail spool directory.
315 AC_CACHE_CHECK(what group owns the mail spool, nmh_cv_ls_mail_grp,
316 [nmh_cv_ls_mail_grp=`$lspath -dL $nmh_cv_ls_grpopt $mailspool|$AWK '{print $4}'`
318 MAIL_SPOOL_GRP=$nmh_cv_ls_mail_grp
319 AC_SUBST(MAIL_SPOOL_GRP)dnl
321 dnl ------------------
322 dnl CHECK HEADER FILES
323 dnl ------------------
325 dnl On glibc we need to define at least the '_XOPEN_SOURCE' level of features,
326 dnl or wchar.h doesn't declare a prototype for wcwidth(). But if we only define
327 dnl that level then db.h won't compile. So we define _GNU_SOURCE which turns
328 dnl on everything. Perhaps other OSes need some feature switch set to get wcwidth()
329 dnl declared; if so they should have an entry added to this case statement.
330 dnl NB that we must define this on the compiler command line, not in config.h,
331 dnl because it must be set before any system header is included and there's no
332 dnl portable way to make sure that files generated by lex include config.h
333 dnl before system header files.
335 AS_CASE(["$host_os"],
337 [# Like DEFS, but doesn't get stomped on by configure when using config.h:
338 AS_IF([test -z "$CPPFLAGS"],[CPPFLAGS="-D_GNU_SOURCE"],
339 [CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"])])
342 AC_CHECK_HEADERS([fcntl.h ncurses/termcap.h termcap.h langinfo.h \
343 wchar.h wctype.h sys/param.h sys/time.h sys/stream.h])
345 AC_CHECK_HEADER([sys/ptem.h], AC_DEFINE(WINSIZE_IN_PTEM,1,
346 [Define to 1 if `struct winsize' requires <sys/ptem.h>.]),,
347 [[#if HAVE_SYS_STREAM_H
348 # include <sys/stream.h>
355 AC_CHECK_FUNCS([wcwidth mbtowc writev lstat nl_langinfo getutxent])
357 dnl Check for multibyte character set support
358 AS_IF([test "x$ac_cv_header_wchar_h" = "xyes" -a \
359 "x$ac_cv_header_wctype_h" = "xyes" -a \
360 "x$ac_cv_func_wcwidth" = "xyes" -a \
361 "x$ac_cv_func_mbtowc" = "xyes"],
362 [AC_DEFINE([MULTIBYTE_SUPPORT], [1],
363 [Define to enable support for multibyte character sets.])
364 MULTIBYTE_ENABLED=1],
365 [MULTIBYTE_ENABLED=0])
366 AC_SUBST([MULTIBYTE_ENABLED])
368 dnl -------------------
369 dnl CHECK FOR LIBRARIES
370 dnl -------------------
371 dnl Check location of modf
372 AC_CHECK_FUNC([modf], , AC_CHECK_LIB([m], [modf]))
374 dnl Checks for network libraries (nsl, socket)
377 dnl Check for readline support
380 dnl Check the locking functions supported and what we should use by default
386 termcap_curses_order="termcap curses ncurses"
387 for lib in $termcap_curses_order; do
388 AC_CHECK_LIB(${lib}, tgetent, [TERMLIB="-l$lib"; break])
390 AC_SUBST([TERMLIB])dnl
391 AS_IF([test "x$TERMLIB" = "x"],
392 [AC_MSG_FAILURE([Could not find tgetent in any library. Is there a curses
393 or ncurses library or package that you can install?])])
399 AC_ARG_WITH([ndbm],AS_HELP_STRING([--with-ndbm=ARG],[use -lARG to link with ndbm]),
400 [nmh_ndbm=$withval],[nmh_ndbm=autodetect])
401 AC_ARG_WITH([ndbmheader],AS_HELP_STRING([--with-ndbmheader=ARG],[#include <ARG> to use ndbm]),
402 [nmh_ndbmheader=$withval],[nmh_ndbmheader=autodetect])
404 if test "$nmh_ndbm" = "autodetect"; then
405 if test "$nmh_ndbmheader" != "autodetect"; then
406 AC_MSG_ERROR([must specify both --with-ndbm and --with-ndbmheader or neither])
409 dnl There are at least four implementations of ndbm, and
410 dnl several of those can be in different places at the whim
411 dnl of the system integrator. A good summary of this mess
412 dnl can be found at http://www.unixpapa.com/incnote/dbm.html
414 dnl Classic ndbm with no library required (eg NetBSD): try this
415 dnl first so we don't accidentally link in a pointless but harmless
416 dnl library in one of the later ndbm.h+libfoo tests:
417 NMH_CHECK_NDBM(ndbm.h,,,
418 dnl Berkeley DBv2 emulating ndbm: header in db.h:
419 NMH_CHECK_NDBM(db.h,db,,
420 dnl Berkeley DBv1 emulating ndbm:
421 NMH_CHECK_NDBM(ndbm.h,db,,
422 NMH_CHECK_NDBM(ndbm.h,db1,,
424 NMH_CHECK_NDBM(ndbm.h,ndbm,,
425 dnl glibc2.1 systems put db1 in a subdir:
426 NMH_CHECK_NDBM(db1/ndbm.h,db1,,
427 dnl GNU gdbm emulating ndbm, with header possibly in gdbm/
428 dnl and possibly needing gbdm_compat library:
429 NMH_CHECK_NDBM(gdbm/ndbm.h,gdbm,,
430 NMH_CHECK_NDBM(gdbm/ndbm.h,gdbm_compat -lgdbm,,
431 NMH_CHECK_NDBM(ndbm.h,gdbm,,
432 NMH_CHECK_NDBM(ndbm.h,gdbm_compat -lgdbm))))))))))
436 dnl We don't really need to check that the user-specified values work,
437 dnl but it is a convenience to the user to bomb out early rather than
438 dnl after configure and half the compile process.
439 NMH_CHECK_NDBM([$nmh_ndbmheader],[$nmh_ndbm])
442 if test "$nmh_ndbm_found" = "no"; then
443 AC_MSG_ERROR([could not find a working ndbm library/header combination])
445 dnl Now export the lib/header to our makefile/config.h:
446 if test x"$nmh_ndbmheader" != x; then
447 AC_DEFINE_UNQUOTED(NDBM_HEADER, <$nmh_ndbmheader>,
448 [Define to the header containing the ndbm API prototypes.])
450 if test x"$nmh_ndbm" != x; then
451 NDBM_LIBS="-l$nmh_ndbm"
455 AC_SUBST([NDBM_LIBS])
458 dnl ------------------
459 dnl Set RPM build root
460 dnl ------------------
461 dnl nmhrpm is used in the final summary, see below. The default value is
462 dnl reported there as ./RPM, consistent with the reporting of the default
463 dnl source code location as ., but its absolute path is used in the Makefile.
464 AC_ARG_WITH([rpmdir],
465 [AS_HELP_STRING([--with-rpmdir=RPMDIR], [RPM build directory @<:@RPM@:>@])])
466 AS_IF([test x"$with_rpmdir" = x], [rpmdir='$(abs_srcdir)/RPM'; nmhrpm=./RPM],
467 [rpmdir="$with_rpmdir"; eval "nmhrpm=${rpmdir}"])
471 dnl --------------------
472 dnl CHECK FOR CYRUS-SASL
473 dnl --------------------
475 AS_IF([test x"$sasl_support" = x"yes"],[
476 AC_CHECK_HEADER([sasl/sasl.h], , [AC_MSG_ERROR([sasl.h not found])])
477 AC_CHECK_LIB([sasl2], [sasl_client_new], [SASLLIB="-lsasl2"],
478 [AC_MSG_ERROR([Cyrus SASL library not found])])],[SASLLIB=""])
481 dnl -----------------
482 dnl CHECK FOR OPENSSL
483 dnl -----------------
485 AS_IF([test x"$tls_support" = x"yes"],[
486 AC_CHECK_HEADER([openssl/ssl.h], , [AC_MSG_ERROR([openssl/ssl.h not found])])
487 AC_CHECK_LIB([crypto], [BIO_write], [TLSLIB="-lcrypto"],
488 [AC_MSG_ERROR([OpenSSL crypto library not found])])
489 AC_CHECK_LIB([ssl], [SSL_library_init], [TLSLIB="-lssl $TLSLIB"],
490 [AC_MSG_ERROR([OpenSSL library not found])])],
494 dnl ---------------------
495 dnl CHECK TERMCAP LIBRARY
496 dnl ---------------------
498 dnl Add the termcap library, so that the following configure
499 dnl tests will find it when it tries to link test programs.
500 nmh_save_LIBS="$LIBS"
501 LIBS="$TERMLIB $LIBS"
503 dnl Check if tgetent accepts NULL (and will allocate its own termcap buffer)
504 dnl Some termcaps reportedly accept a zero buffer, but then dump core
506 dnl Under Cygwin test program crashes but exit code is still 0. So,
507 dnl we test for a file that porgram should create
508 AH_TEMPLATE([TGETENT_ACCEPTS_NULL],
509 [Define to 1 if tgetent() accepts NULL as a buffer.])
510 AC_CACHE_CHECK(if tgetent accepts NULL,
511 nmh_cv_func_tgetent_accepts_null,
516 int r1 = tgetent(buf, "vt100");
517 int r2 = tgetent((char*)0,"vt100");
518 if (r1 >= 0 && r1 == r2) {
522 creat("conftest.tgetent", 0640);
524 exit((r1 != r2) || r2 == -1);
527 if test -f conftest.tgetent; then
528 nmh_cv_func_tgetent_accepts_null=yes
530 nmh_cv_func_tgetent_accepts_null=no
532 nmh_cv_func_tgetent_accepts_null=no,
533 nmh_cv_func_tgetent_accepts_null=no)])
534 if test x$nmh_cv_func_tgetent_accepts_null = xyes; then
535 AC_DEFINE(TGETENT_ACCEPTS_NULL)
537 AC_CACHE_CHECK(if tgetent returns 0 on success,
538 nmh_cv_func_tgetent_zero_success,
543 int r1 = tgetent(buf, "!@#$%^&*");
544 int r2 = tgetent(buf, "vt100");
545 if (r1 < 0 && r2 == 0) {
549 creat("conftest.tgetent0", 0640);
554 if test -f conftest.tgetent0; then
555 nmh_cv_func_tgetent_zero_success=yes
557 nmh_cv_func_tgetent_zero_success=no
559 nmh_cv_func_tgetent_zero_success=no,
560 nmh_cv_func_tgetent_zero_success=no)])
561 AH_TEMPLATE([TGETENT_SUCCESS],
562 [Define to what tgetent() returns on success (0 on HP-UX X/Open curses).])
563 if test x$nmh_cv_func_tgetent_zero_success = xyes; then
564 AC_DEFINE(TGETENT_SUCCESS, 0)
566 AC_DEFINE(TGETENT_SUCCESS, 1)
569 dnl Now put the libraries back to what it was before we
570 dnl starting checking the termcap library.
571 LIBS="$nmh_save_LIBS"
576 dnl Use LFLAGS make variable setting to work around bugs in flex
577 dnl 2.5.35-37 that cause signed/unsigned mismatch,
578 dnl http://sourceforge.net/p/flex/bugs/140/
579 AS_IF([test "$LEX" = flex],
580 [AS_CASE([`$LEX -V`],
581 [flex\ 2.5.35], [[LFLAGS=\
582 '; printf "%s\n" '\''1,$$s/(size_t) \(num_to_read\)/\1/'\'' w q | ed -s $@']],
583 [flex\ 2.5.3@<:@67@:>@], [[LFLAGS=\
584 '; printf "%s\n" '\''1,$$s/\( \)int i;/\1yy_size_t i;/'\'' w q | ed -s $@']])
600 dnl For platforms such as FreeBSD that have tm_gmtoff in struct tm.
601 dnl (FreeBSD has a timezone() function but not a timezone global
602 dnl variable that is visible).
603 AC_CHECK_MEMBERS([struct tm.tm_gmtoff],,,[#include <time.h>])
605 AC_STRUCT_DIRENT_D_TYPE
607 dnl Where is <signal.h> located? Needed as input for signames.awk
608 AC_CACHE_CHECK(where signal.h is located, nmh_cv_path_signal_h,
609 [for SIGNAL_H in /usr/include/bsd/sys/signal.h dnl Next
610 /usr/include/asm/signal.h dnl Linux 1.3.0 and above
611 /usr/include/asm/signum.h dnl some versions of Linux/Alpha
612 /usr/include/linux/signal.h dnl Linux up to 1.2.11
613 /usr/include/sys/signal.h dnl Almost everybody else
614 /dev/null; dnl Just in case we fall through
616 test -f $SIGNAL_H && \
617 grep '#[ ]*define[ ][ ]*SIG[0-9A-Z]*[ ]*[0-9][0-9]*' $SIGNAL_H > /dev/null && \
620 nmh_cv_path_signal_h=$SIGNAL_H
622 SIGNAL_H=$nmh_cv_path_signal_h
623 AC_SUBST(SIGNAL_H)dnl
626 dnl Sigh, this is required because under the new world order autoconf has
627 dnl nothing to create in a few of the build directories when doing an object
628 dnl tree build. So make sure we created certain directories if they don't
632 AC_CONFIG_COMMANDS([build-directories],
633 [test -d etc || AS_MKDIR_P([etc])
634 test -d man || AS_MKDIR_P([man])])
636 AC_CONFIG_COMMANDS_POST([
638 dnl These odd looking assignments are done to expand out unexpanded
639 dnl variables in bindir et al (for instance mandir is '${datarootdir}/man'),
640 dnl but expanding that gives '${prefix}/share/man', so we need to expand
641 dnl again to get the final answer.
642 dnl We only use the expanded versions to print the install paths in
643 dnl the final summary and should use them nowhere else (see the autoconf
644 dnl docs for the rationale for bindir etc being unexpanded).
645 eval "nmhbin=${bindir}"; eval "nmhbin=${nmhbin}"
646 eval "nmhsysconf=${sysconfdir}"; eval "nmhsysconf=${nmhsysconf}"
647 eval "nmhlib=${libdir}"; eval "nmhlib=${nmhlib}"
648 eval "nmhman=${mandir}"; eval "nmhman=${nmhman}"
649 eval "nmhrpm=${nmhrpm}";
654 nmh version : AC_PACKAGE_VERSION
657 compiler flags : ${CFLAGS}
658 linker flags : ${LDFLAGS}
659 preprocessor flags : ${CPPFLAGS}
660 source code location : ${srcdir}
661 binary install path : ${nmhbin}
662 library install path : ${nmhlib}
663 config files install path : ${nmhsysconf}
664 man page install path : ${nmhman}
665 RPM build root : ${nmhrpm}
666 backup prefix : ${backup_prefix}
667 transport system : ${MTS}
668 spool default locking type : ${with_locking}
669 default smtp servers : ${smtpservers}
670 SASL support : ${sasl_support}
671 TLS support : ${tls_support}
677 AC_CONFIG_FILES([Makefile test/common.sh])
678 AC_CONFIG_FILES([uip/spost], [chmod +x uip/spost])