]> diplodocus.org Git - nmh/blob - configure.in
Added back memory options for AIX to increase available memory.
[nmh] / configure.in
1 dnl
2 dnl configure.in -- autoconf template for nmh
3 dnl
4 dnl $Id$
5 dnl
6
7 AC_INIT(h/nmh.h)
8 AC_CONFIG_HEADER(config.h)
9
10 AC_CANONICAL_SYSTEM
11
12 dnl ---------------------
13 dnl define a macro or two
14 dnl ---------------------
15
16 AC_DEFUN(NMH_PROG_GNU_LIBTOOL, [
17 tmptest=`$LIBTOOL --version 2>&1 | grep GNU`
18 if test x"$tmptest" != x ; then
19 GNU_LIBTOOL=1
20 AC_SUBST(GNU_LIBTOOL)dnl
21 fi
22 ] )
23
24
25 dnl What version of nmh are we building?
26 VERSION=`sed -e 's/nmh-//' ${srcdir}/VERSION`
27 echo "configuring for nmh-$VERSION"
28 AC_SUBST(VERSION)dnl
29
30 dnl --------------------------
31 dnl CHECK COMMAND LINE OPTIONS
32 dnl --------------------------
33
34 dnl Do you want client-side support for apop?
35 AC_ARG_ENABLE(apop,
36 [ --enable-apop enable client-side support for POP3 and APOP])
37 if test x"$enable_apop" = x"yes"; then
38 AC_DEFINE(APOP)dnl
39 APOPLIB=md5.o
40 enable_pop=yes
41 fi
42 AC_SUBST(APOPLIB)dnl
43
44 dnl Do you want to debug nmh?
45 undefine([debug])dnl
46 AC_ARG_ENABLE(debug,
47 [ --enable-debug enable nmh code debugging])
48 dnl The old redundant --enable-nmh-debug is deprecated and undocumented.
49 if test x"$enable_nmh_debug" = x"yes"; then
50 enable_debug=yes
51 fi
52
53 dnl Allow users to send email from addresses other than their default?
54 undefine([masquerade])dnl
55 AC_ARG_ENABLE(masquerade,
56 [ --enable-masquerade[='draft_from mmailid username_extension']
57 enable up to 3 types of address masquerading [none]],
58 [if test x"$enable_masquerade" = x"yes"; then
59 masquerade="draft_from mmailid username_extension"
60 else
61 masquerade="$enable_masquerade"
62 fi])
63 AC_SUBST(masquerade)dnl
64
65 dnl Do you want mhe support?
66 undefine([mhe])dnl
67 AC_ARG_ENABLE(mhe,
68 [ --enable-mhe enable mhe support (DEFAULT)])
69
70 dnl mhe support is on by default, so define it unless --disable-mhe or the
71 dnl deprecated, undocumented --disable-nmh-mhe are specified.
72 if test x"$enable_mhe" != x"no" -a x"$enable_nmh_mhe" != x"no"; then
73 AC_DEFINE(MHE)dnl
74 fi
75
76 dnl Do you want client-side support for pop?
77 undefine([pop])dnl
78 AC_ARG_ENABLE(pop,
79 [ --enable-pop enable client-side support for plain POP3])
80 dnl The old redundant --enable-nmh-pop is deprecated and undocumented.
81 if test x"$enable_nmh_pop" = x"yes"; then
82 enable_pop=yes
83 fi
84
85 dnl Do you want support for hesiod
86 AC_ARG_WITH(hesiod,
87 [ --with-hesiod=PREFIX specify location of Hesiod])
88 if test x"$with_hesiod" != x -a x"$with_hesiod" != x"no"; then
89 AC_DEFINE(HESIOD)dnl
90 fi
91
92 dnl Do you want client-side support for kpop
93 AC_ARG_WITH(krb4,
94 [ --with-krb4=PREFIX specify location of Kerberos V4 for KPOP support])
95 if test x"$with_krb4" != x -a x"$with_krb4" != x"no"; then
96 enable_pop=yes
97 AC_DEFINE(KPOP)dnl
98 AC_DEFINE(KPOP_PRINCIPAL, "pop")dnl
99 fi
100
101 dnl After we know if we're including apop and kpop support, do pop stuff
102 if test x"$enable_pop" = x"yes"; then
103 AC_DEFINE(POP)dnl
104 POPLIB=popsbr.o
105 POPSED='/^%nmhbeginpop%/d;/^%nmhendpop%/d'
106 else
107 POPSED='/^%nmhbeginpop%/,/^%nmhendpop%/d'
108 fi
109 AC_SUBST(POPLIB)dnl
110 AC_SUBST(POPSED)dnl
111
112 dnl What should be the default editor?
113 undefine([editor])dnl
114 AC_ARG_WITH(editor,
115 [ --with-editor=EDITOR specify the default editor])
116
117 if test -n "$with_editor"; then
118 editorpath="$with_editor"
119 fi
120
121 dnl What method of posting should post use?
122 undefine([mts])dnl
123 AC_ARG_WITH(mts,
124 [ --with-mts=MTS specify the mail transport agent/service])
125
126 if test x"$with_mts" = x"smtp"; then
127 MTS="smtp"
128 MTSLIB="mts/smtp/libsmtp.a"
129 AC_DEFINE(SMTPMTS)dnl
130 elif test x"$with_mts" = x"sendmail"; then
131 MTS="sendmail"
132 MTSLIB="mts/sendmail/libsend.a"
133 AC_DEFINE(SENDMTS)dnl
134 else
135 MTS="smtp"
136 MTSLIB="mts/smtp/libsmtp.a"
137 AC_DEFINE(SMTPMTS)dnl
138 fi
139
140 AC_SUBST(MTS)dnl
141 AC_SUBST(MTSLIB)dnl
142
143 dnl What should be the default pager?
144 undefine([pager])dnl
145 AC_ARG_WITH(pager,
146 [ --with-pager=PAGER specify the default pager])
147
148 if test -n "$with_pager"; then
149 pagerpath="$with_pager"
150 fi
151
152 dnl What should be the default mail server(s)?
153 undefine([smtpservers])dnl
154 AC_ARG_WITH(smtpservers,
155 [ --with-smtpservers='SMTPSERVER1[ SMTPSERVER2...]'
156 specify the default SMTP server(s) [localhost]])
157 if test -n "$with_smtpservers"; then
158 smtpservers="$with_smtpservers"
159 else
160 smtpservers="localhost"
161 fi
162 AC_SUBST(smtpservers)dnl
163
164 dnl ----------------------------------------------------
165 dnl Default location is /usr/local/nmh/{bin,etc,lib,man}
166 dnl ----------------------------------------------------
167 AC_PREFIX_DEFAULT(/usr/local/nmh)
168
169 dnl ------------------
170 dnl CHECK THE COMPILER
171 dnl ------------------
172 dnl We want these before the checks,
173 dnl so the checks can modify their values.
174 test -z "$CFLAGS" && CFLAGS= auto_cflags=1
175 if test x"$enable_debug" = x"yes"; then
176 test -z "$LDFLAGS" && LDFLAGS=-g
177 fi
178
179 AC_PROG_CC
180
181 dnl if the user hasn't specified CFLAGS, then
182 dnl if compiler is gcc, then
183 dnl use -O2 and some warning flags
184 dnl else use -O
185 if test -n "$auto_cflags"; then
186 if test x"$enable_debug" = x"yes"; then
187 if test -n "$GCC"; then
188 test -z "$CFLAGS" && CFLAGS="-Wall -g" || CFLAGS="$CFLAGS -Wall -g"
189 else
190 test -z "$CFLAGS" && CFLAGS=-g || CFLAGS="$CFLAGS -g"
191 fi
192 else
193 test -z "$LDFLAGS" && LDFLAGS=-s
194 if test -n "$GCC"; then
195 test -z "$CFLAGS" && CFLAGS="-Wall -O2" || CFLAGS="$CFLAGS -Wall -O2"
196 else
197 test -z "$CFLAGS" && CFLAGS=-O || CFLAGS="$CFLAGS -O"
198 fi
199 fi
200 fi
201
202 AC_C_CONST dnl Does compiler support `const'.
203
204 dnl ------------------
205 dnl CHECK FOR PROGRAMS
206 dnl ------------------
207 AC_PROG_MAKE_SET dnl Does make define $MAKE
208 AC_PROG_INSTALL dnl Check for BSD compatible `install'
209 AC_PROG_RANLIB dnl Check for `ranlib'
210 AC_PROG_AWK dnl Check for mawk,gawk,nawk, then awk
211 AC_PROG_LEX dnl Check for lex/flex
212
213 dnl Look for `cut'
214 pathtmp=/usr/bin:/bin:/usr/local/bin:/usr/xpg4/bin:/usr/ucb
215 AC_PATH_PROG(cutpath, cut, no, [$pathtmp])
216
217 dnl ----------------------------------------------
218 dnl check for lclint, and lint if it doesn't exist
219 dnl ----------------------------------------------
220 AC_CHECK_PROG(linttmp1, lclint, lclint, no)dnl
221 if test x$ac_cv_prog_linttmp1 != xno ; then
222 LINT=$ac_cv_prog_linttmp1
223 LINTFLAGS="-weak +posixlib -macrovarprefixexclude"
224 else
225 AC_CHECK_PROG(linttmp2, lint, lint, no)dnl
226 if test x$ac_cv_prog_linttmp2 != xno ; then
227 LINT=$ac_cv_prog_linttmp2
228 LINTFLAGS=""
229 else
230 LINT="echo 'No lint program found'"
231 LINTFLAGS=""
232 fi
233 fi
234 AC_SUBST(LINT)
235 AC_SUBST(LINTFLAGS)
236
237 dnl try to figure out which one we've got
238 AC_CHECK_PROG(LIBTOOL, libtool, libtool, , [$pathtmp])
239 NMH_PROG_GNU_LIBTOOL
240
241 dnl Check for lorder and tsort commands
242 AC_CHECK_PROG(LORDER, lorder, lorder, no)dnl
243 AC_CHECK_PROG(TSORT, tsort, tsort, no)dnl
244
245 dnl If either doesn't exist, replace them with echo and cat
246 if test x$ac_cv_prog_LORDER != xlorder -o x$ac_cv_prog_TSORT != xtsort; then
247 LORDER=echo
248 TSORT=cat
249 AC_SUBST(LORDER)dnl
250 AC_SUBST(TSORT)dnl
251 dnl Mac OS X has lorder, but sh is too broken for it to work
252 dnl elif test -z "`lorder config/config.c 2>&1 | grep config/config.c`" ; then
253 dnl LORDER=echo
254 dnl TSORT=cat
255 dnl AC_SUBST(LORDER)dnl
256 dnl AC_SUBST(TSORT)dnl
257 fi
258
259 dnl Look for `ls'
260 pathtmp=/usr/bin:/bin:/usr/local/bin:/usr/xpg4/bin:/usr/ucb
261 AC_PATH_PROG(lspath, ls, no, [$pathtmp])
262
263 dnl See how we get ls to display the owner and the group
264 if test "$lspath" != "no"; then
265 AC_CACHE_CHECK(how to get ls to show us the group ownership of a file,
266 nmh_cv_ls_grpopt,
267 [if test x"`$lspath -dl / | $AWK '{print $9}'`" = x"/"; then
268 dnl There were 9 parameters, so unless this is a really bizarre, nonstandard
269 dnl ls, it would seem -l gave us both the user and group. On this type of
270 dnl ls, -g makes _only_ the group be displayed (and not the user).
271 nmh_cv_ls_grpopt="-l"
272 else
273 dnl Looks like -l only gave us the user, so we need -g to get the group too.
274 nmh_cv_ls_grpopt="-lg"
275 fi])
276 fi
277
278 dnl Look for `more'
279 pathtmp=/usr/bin:/bin:/usr/ucb:/usr/local/bin
280 AC_PATH_PROG(morepath, more, no, [$pathtmp])
281
282 dnl If pager is not specified yet,
283 dnl then use `more' as the default.
284 if test -z "$pagerpath"; then
285 pagerpath="$morepath"
286 fi
287 AC_SUBST(pagerpath)dnl
288
289 dnl Look for `sendmail'
290 pathtmp=/usr/lib:/usr/sbin:/usr/etc:/usr/ucblib:/usr/bin:/bin
291 AC_PATH_PROG(sendmailpath, sendmail, no, [$pathtmp])
292
293 dnl Look for `vi'
294 pathtmp=/usr/bin:/bin:/usr/ucb:/usr/local/bin
295 AC_PATH_PROG(vipath, vi, no, [$pathtmp])
296
297 dnl If editor is not specified yet,
298 dnl then use `vi' as the default.
299 if test -z "$editorpath"; then
300 editorpath="$vipath"
301 fi
302 AC_SUBST(editorpath)dnl
303
304 dnl Check for broken vi
305 AC_CACHE_CHECK(for broken vi, nmh_cv_attvibug,
306 [if echo 'r /nonexist-file
307 q' | ex > /dev/null 2>&1
308 then
309 nmh_cv_attvibug=no
310 else
311 nmh_cv_attvibug=yes
312 fi])
313
314 if test "$nmh_cv_attvibug" = yes; then
315 AC_DEFINE(ATTVIBUG)dnl
316 fi
317
318 dnl ----------------------------------------------------------
319 dnl FIND MAIL SPOOL AND SEE IF WE NEED TO MAKE inc SETGID MAIL
320 dnl ----------------------------------------------------------
321 AC_CACHE_CHECK(where mail spool is located, nmh_cv_mailspool,
322 [for mailspool in /var/mail dnl
323 /var/spool/mail dnl
324 /usr/spool/mail dnl
325 /dev/null; dnl Just in case we fall through
326 do
327 test -d $mailspool && break
328 done
329 nmh_cv_mailspool=$mailspool
330 ])
331 mailspool=$nmh_cv_mailspool
332 AC_SUBST(mailspool)dnl
333
334 dnl See whether the mail spool directory is world-writable.
335 if test "$lspath" != "no" -a "$cutpath" != "no"; then
336 AC_CACHE_CHECK(whether the mail spool is world-writable,
337 nmh_cv_mailspool_world_writable,
338 [if test "`$lspath -dlL $mailspool | $cutpath -c9`" = "-"; then
339 nmh_cv_mailspool_world_writable=no
340 else
341 nmh_cv_mailspool_world_writable=yes
342 fi])
343 fi
344
345 dnl ...If it's not, we need to #define MAILGROUP to 1 and make inc setgid.
346 if test x"$nmh_cv_mailspool_world_writable" = x"no"; then
347 dnl do we really need both of these?
348 AC_DEFINE(MAILGROUP)dnl
349 SETGID_MAIL=1
350 fi
351 AC_SUBST(SETGID_MAIL)dnl
352
353 dnl Use ls to see which group owns the mail spool directory.
354 AC_CACHE_CHECK(what group owns the mail spool, nmh_cv_ls_mail_grp,
355 [nmh_cv_ls_mail_grp=`$lspath -dL $nmh_cv_ls_grpopt $mailspool|$AWK '{print $4}'`
356 ])
357 MAIL_SPOOL_GRP=$nmh_cv_ls_mail_grp
358 AC_SUBST(MAIL_SPOOL_GRP)dnl
359
360 dnl ------------------
361 dnl CHECK HEADER FILES
362 dnl ------------------
363 AC_HEADER_DIRENT
364 AC_HEADER_STDC
365 AC_HEADER_TIME
366 AC_HEADER_SYS_WAIT
367 AC_HEADER_STAT
368 AC_CHECK_HEADERS(string.h memory.h stdlib.h unistd.h errno.h fcntl.h \
369 limits.h crypt.h termcap.h termio.h termios.h locale.h \
370 netdb.h sys/param.h sys/time.h sys/utsname.h arpa/inet.h \
371 arpa/ftp.h)
372
373
374 AC_CACHE_CHECK(POSIX termios, nmh_cv_sys_posix_termios,
375 [AC_TRY_LINK([#include <sys/types.h>
376 #include <unistd.h>
377 #include <termios.h>],
378 [/* SunOS 4.0.3 has termios.h but not the library calls. */
379 tcgetattr(0, 0);],
380 nmh_cv_sys_posix_termios=yes, nmh_cv_sys_posix_termios=no)])
381
382 if test $nmh_cv_sys_posix_termios = yes; then
383 AC_CACHE_CHECK(TIOCGWINSZ in termios.h,
384 nmh_cv_header_termios_h_tiocgwinsz,
385 [AC_TRY_LINK([#include <sys/types.h>
386 #include <termios.h>],
387 [int x = TIOCGWINSZ;],
388 nmh_cv_header_termios_h_tiocgwinsz=yes,
389 nmh_cv_header_termios_h_tiocgwinsz=no)])
390 else
391 nmh_cv_header_termios_h_tiocgwinsz=no
392 fi
393
394 if test $nmh_cv_header_termios_h_tiocgwinsz = no; then
395 AC_CACHE_CHECK(TIOCGWINSZ in sys/ioctl.h,
396 nmh_cv_header_sys_ioctl_h_tiocgwinsz,
397 [AC_TRY_LINK([#include <sys/types.h>
398 #include <sys/ioctl.h>],
399 [int x = TIOCGWINSZ;],
400 nmh_cv_header_sys_ioctl_h_tiocgwinsz=yes,
401 nmh_cv_header_sys_ioctl_h_tiocgwinsz=no)])
402 if test $nmh_cv_header_sys_ioctl_h_tiocgwinsz = yes; then
403 AC_DEFINE(GWINSZ_IN_SYS_IOCTL)
404 fi
405 fi
406
407 dnl
408 dnl Checks for _IO_write_ptr. A Linuxism used by nmh on linux. We
409 dnl really use a whole set of them, but this check should be
410 dnl sufficient.
411 dnl
412 AC_CHECK_HEADER(libio.h, [
413 AC_EGREP_HEADER(_IO_write_ptr, libio.h, [
414 AC_DEFINE(LINUX_STDIO) ]) ])
415
416 AC_CHECK_HEADER([sys/ptem.h], AC_DEFINE(WINSIZE_IN_PTEM))
417
418 dnl ---------------
419 dnl CHECK FUNCTIONS
420 dnl ---------------
421 AC_FUNC_VFORK
422 AC_CHECK_LIB(mkstemp,mkstemp)
423 AC_CHECK_FUNCS(waitpid wait3 sigaction sigprocmask sigblock sigsetmask \
424 sighold sigrelse writev lstat uname tzset killpg mkstemp \
425 sethostent getutent)
426
427 dnl solaris screws this up
428 AC_CHECK_FUNC(gethostbyname, [AC_DEFINE(HAVE_GETHOSTBYNAME)],
429 AC_CHECK_LIB(nsl, gethostbyname, [AC_DEFINE(HAVE_GETHOSTBYNAME)] ) )
430
431 dnl sigsetjmp may be a macro
432 AC_MSG_CHECKING(for sigsetjmp)
433 AC_TRY_LINK([#include <setjmp.h>], [sigsetjmp((void *)0, 0);],
434 [AC_DEFINE(HAVE_SIGSETJMP) AC_MSG_RESULT(yes)], AC_MSG_RESULT(no))
435
436 AC_REPLACE_FUNCS(snprintf strerror strdup)
437
438 dnl Look for the initgroups() declaration. On AIX 4.[13], Solaris 4.1.3, and
439 dnl ULTRIX 4.2A the function is defined in libc but there's no declaration in
440 dnl any system header.
441 dnl
442 dnl On Solaris 2.[456], the declaration is in <grp.h>. On HP-UX 9-11 and
443 dnl (reportedly) FreeBSD 3.[23], it's in <unistd.h>. Any other locations we
444 dnl need to check?
445 AC_EGREP_HEADER(initgroups, grp.h, AC_DEFINE(INITGROUPS_HEADER, <grp.h>),
446 AC_EGREP_HEADER(initgroups, unistd.h,
447 AC_DEFINE(INITGROUPS_HEADER, <unistd.h>)))
448
449 dnl On AIX 4.1, snprintf() is defined in libc.a but there's no prototype in
450 dnl <stdio.h> or elsewhere. Apparently it's not officially supported (though it
451 dnl seems to work perfectly and IBM apparently uses it in internal code).
452 dnl Anyhow, if we omit our own snprintf() and vsnprintf() prototypes when we
453 dnl HAVE_SNPRINTF, we get a billion warnings at compile time. Use the C
454 dnl preprocessor to preprocess stdio.h and make sure that there's actually a
455 dnl prototype.
456 AC_EGREP_HEADER(snprintf, stdio.h, AC_DEFINE(HAVE_SNPRINTF_PROTOTYPE))
457
458 dnl -------------------
459 dnl CHECK FOR LIBRARIES
460 dnl -------------------
461 dnl Check location of modf
462 AC_CHECK_FUNC(modf, , AC_CHECK_LIB(m, modf))
463
464 dnl Checks for network libraries (nsl, socket)
465 AC_CHECK_NETLIBS
466
467 termcap_curses_order="termcap curses ncurses"
468 for lib in $termcap_curses_order; do
469 AC_CHECK_LIB(${lib}, tgetent, [TERMLIB="-l$lib"; break])
470 done
471 AC_SUBST(TERMLIB)dnl
472
473
474 dnl --------------
475 dnl CHECK FOR NDBM
476 dnl --------------
477 dnl Checks for ndbm
478 AC_CHECK_FUNC(dbm_open, ,
479 AC_CHECK_LIB(ndbm, dbm_open, ,
480 AC_CHECK_LIB(dbm, dbm_open)))
481
482 dnl ----------------
483 dnl CHECK FOR NDBM.H
484 dnl ----------------
485 AC_CHECK_HEADERS(db1/ndbm.h)
486
487 dnl ----------------
488 dnl CHECK FOR HESIOD
489 dnl ----------------
490 if test x"$with_hesiod" != x -a x"$with_hesiod" != x"no"; then
491 if test x"$with_hesiod" != x"yes"; then
492 HESIOD_INCLUDES="-I$with_hesiod/include"
493 HESIOD_LIBS="-L$with_hesiod/lib"
494 fi
495 AC_CHECK_FUNC(res_send, ,
496 AC_CHECK_LIB(resolv, res_send))
497 AC_CHECK_LIB(hesiod, hes_resolve, [HESIOD_LIBS="$HESIOD_LIBS -lhesiod"],
498 [AC_MSG_ERROR(Hesiod library not found)], $HESIOD_LIBS)
499 fi
500 AC_SUBST(HESIOD_INCLUDES)dnl
501 AC_SUBST(HESIOD_LIBS)dnl
502
503 dnl ----------------------------------
504 dnl CHECK FOR KRB4 (Kerberos4 support)
505 dnl ----------------------------------
506 if test x"$with_krb4" != x -a x"$with_krb4" != x"no"; then
507 if test x"$with_krb4" != x"yes"; then
508 KRB4_INCLUDES="-I$with_krb4/include"
509 if test -d "$with_krb4/include/kerberosIV"; then
510 KRB4_INCLUDES="$KRB4_INCLUDES -I$with_krb4/include/kerberosIV"
511 fi
512 KRB4_LIBS="-L$with_krb4/lib"
513 elif test -d /usr/include/kerberosIV; then
514 KRB4_INCLUDES="-I/usr/include/kerberosIV"
515 fi
516 AC_CHECK_LIB(krb4, krb_rd_req,
517 [KRB4_LIBS="$KRB4_LIBS -lkrb4 -ldes425 -lkrb5 -lcrypto -lcom_err"],
518 [AC_CHECK_LIB(krb, krb_rd_req,
519 [KRB4_LIBS="$KRB4_LIBS -lkrb -ldes"],
520 [AC_MSG_ERROR(Kerberos 4 libraries not found)],
521 $KRB4_LIBS -ldes)],
522 $KRB4_LIBS -ldes425 -lkrb5 -lcrypto -lcom_err)
523 fi
524 AC_SUBST(KRB4_INCLUDES)dnl
525 AC_SUBST(KRB4_LIBS)dnl
526
527 dnl ---------------------
528 dnl CHECK TERMCAP LIBRARY
529 dnl ---------------------
530
531 dnl Add the termcap library, so that the following configure
532 dnl tests will find it when it tries to link test programs.
533 nmh_save_LIBS="$LIBS"
534 LIBS="$TERMLIB $LIBS"
535
536 dnl Checks for external variable ospeed in the termcap library.
537 AC_CACHE_CHECK(if an include file defines ospeed,
538 nmh_cv_decl_ospeed_include_defines,
539 [AC_TRY_LINK(
540 [#include <sys/types.h>
541 #if HAVE_TERMIOS_H
542 #include <termios.h>
543 #endif
544 #if HAVE_TERMCAP_H
545 #include <termcap.h>
546 #endif], [ospeed = 0;],
547 nmh_cv_decl_ospeed_include_defines=yes,
548 nmh_cv_decl_ospeed_include_defines=no)])
549
550 if test $nmh_cv_decl_ospeed_include_defines = no; then
551 AC_CACHE_CHECK(if you must define ospeed,
552 nmh_cv_decl_ospeed_must_define,
553 [AC_TRY_LINK( ,[extern short ospeed; ospeed = 0;],
554 nmh_cv_decl_ospeed_must_define=yes,
555 nmh_cv_decl_ospeed_must_define=no)])
556 fi
557
558 if test $nmh_cv_decl_ospeed_include_defines = yes; then
559 AC_DEFINE(HAVE_OSPEED)
560 elif test $nmh_cv_decl_ospeed_must_define = yes; then
561 AC_DEFINE(HAVE_OSPEED)
562 AC_DEFINE(MUST_DEFINE_OSPEED)
563 fi
564
565 dnl dnl Checks if tgetent accepts NULL and will
566 dnl dnl allocate its own termcap buffer.
567 dnl AC_CACHE_CHECK(if tgetent accepts NULL,
568 dnl nmh_cv_func_tgetent_accepts_null,
569 dnl [AC_TRY_RUN([main(){int i = tgetent((char*)0,"vt100");exit(!i || i == -1);}],
570 dnl nmh_cv_func_tgetent_accepts_null=yes,
571 dnl nmh_cv_func_tgetent_accepts_null=no,
572 dnl nmh_cv_func_tgetent_accepts_null=no)])
573 dnl if test $nmh_cv_func_tgetent_accepts_null = yes; then
574 dnl AC_DEFINE(TGETENT_ACCEPTS_NULL)
575 dnl fi
576
577 dnl Now put the libraries back to what it was before we
578 dnl starting checking the termcap library.
579 LIBS="$nmh_save_LIBS"
580
581 dnl --------------
582 dnl CHECK TYPEDEFS
583 dnl --------------
584 AC_TYPE_SIGNAL
585 AC_TYPE_PID_T
586 AC_TYPE_OFF_T
587 AC_TYPE_UID_T
588 AC_TYPE_MODE_T
589 AC_TYPE_SIZE_T
590
591 dnl Check for sigset_t. Currently I'm looking in
592 dnl <sys/types.h> and <signal.h>. Others might need
593 dnl to be added.
594 AC_CACHE_CHECK(for sigset_t, nmh_cv_type_sigset_t,
595 [AC_TRY_COMPILE(
596 [#include <sys/types.h>
597 #include <signal.h>], [sigset_t tempsigset;],
598 nmh_cv_type_sigset_t=yes, nmh_cv_type_sigset_t=no)])
599 if test $nmh_cv_type_sigset_t = no; then
600 AC_DEFINE(sigset_t, unsigned int)
601 fi
602
603 dnl ----------------
604 dnl CHECK STRUCTURES
605 dnl ----------------
606 AC_STRUCT_ST_BLKSIZE
607
608 AC_CACHE_CHECK(for tm_gmtoff in struct tm, nmh_cv_struct_tm_gmtoff,
609 [AC_TRY_COMPILE(
610 [#ifdef TIME_WITH_SYS_TIME
611 # include <sys/time.h>
612 # include <time.h>
613 #else
614 # ifdef TM_IN_SYS_TIME
615 # include <sys/time.h>
616 # else
617 # include <time.h>
618 # endif
619 #endif],
620 [struct tm temptm; temptm.tm_gmtoff = 0;],
621 nmh_cv_struct_tm_gmtoff=yes, nmh_cv_struct_tm_gmtoff=no)])
622 if test $nmh_cv_struct_tm_gmtoff = yes; then
623 AC_DEFINE(HAVE_TM_GMTOFF)
624 fi
625
626 dnl -------------
627 dnl CHECK SIGNALS
628 dnl -------------
629 dnl What style of signal do you have (POSIX, BSD, or SYSV)?
630 AC_MSG_CHECKING(what style of signals to use)
631 if test $ac_cv_func_sigaction = yes -a $ac_cv_func_sigprocmask = yes; then
632 signals_style=POSIX_SIGNALS
633 AC_DEFINE(POSIX_SIGNALS)
634 AC_DEFINE(RELIABLE_SIGNALS)
635 elif test $ac_cv_func_sigblock = yes -a $ac_cv_func_sigsetmask = yes; then
636 signals_style=BSD_SIGNALS
637 AC_DEFINE(BSD_SIGNALS)
638 AC_DEFINE(RELIABLE_SIGNALS)
639 elif test $ac_cv_func_sighold = yes -a $ac_cv_func_sigrelse = yes; then
640 signals_style=SYSV_SIGNALS
641 AC_DEFINE(SYSV_SIGNALS)
642 else
643 signals_style=NO_SIGNAL_BLOCKING
644 AC_DEFINE(NO_SIGNAL_BLOCKING)
645 fi
646
647 AC_MSG_RESULT($signals_style)
648
649 dnl Where is <signal.h> located? Needed as input for signames.awk
650 AC_CACHE_CHECK(where signal.h is located, nmh_cv_path_signal_h,
651 [for SIGNAL_H in /usr/include/bsd/sys/signal.h dnl Next
652 /usr/include/asm/signal.h dnl Linux 1.3.0 and above
653 /usr/include/asm/signum.h dnl some versions of Linux/Alpha
654 /usr/include/linux/signal.h dnl Linux up to 1.2.11
655 /usr/include/sys/signal.h dnl Almost everybody else
656 /dev/null; dnl Just in case we fall through
657 do
658 test -f $SIGNAL_H && \
659 grep '#[ ]*define[ ][ ]*SIG[0-9A-Z]*[ ]*[0-9][0-9]*' $SIGNAL_H > /dev/null && \
660 break
661 done
662 nmh_cv_path_signal_h=$SIGNAL_H
663 ])
664 SIGNAL_H=$nmh_cv_path_signal_h
665 AC_SUBST(SIGNAL_H)dnl
666
667 dnl ----------------
668 dnl OS SPECIFIC DEFINES
669 dnl ----------------
670 case "$target_os" in
671
672 solaris2*)
673 AC_DEFINE(SYS5)
674 AC_DEFINE(SVR4)
675 ;;
676 irix*)
677 AC_DEFINE(SYS5)
678 AC_DEFINE(SVR4)
679 ;;
680 osf*)
681 AC_DEFINE(SYS5)
682 AC_DEFINE(SVR4)
683 ;;
684 aix*)
685 AC_DEFINE(SYS5)
686 AC_DEFINE(SVR4)
687 ;;
688 sunos4*)
689 AC_DEFINE(BSD42)
690 ;;
691 freebsd*)
692 AC_DEFINE(BSD42)
693 AC_DEFINE(BSD44)
694 ;;
695 netbsd*)
696 AC_DEFINE(BSD42)
697 AC_DEFINE(BSD44)
698 ;;
699 openbsd*)
700 AC_DEFINE(BSD42)
701 AC_DEFINE(BSD44)
702 ;;
703 bsd/os*)
704 AC_DEFINE(BSD42)
705 AC_DEFINE(BSD44)
706 ;;
707 sco5*)
708 AC_DEFINE(SYS5)
709 AC_DEFINE(SCO_5_STDIO)
710 ;;
711 esac
712
713
714 dnl ----------------
715 dnl OUTPUT MAKEFILES
716 dnl ----------------
717 AC_OUTPUT(Makefile config/Makefile h/Makefile sbr/Makefile uip/Makefile \
718 zotnet/Makefile zotnet/mts/Makefile \
719 mts/Makefile mts/smtp/Makefile \
720 mts/sendmail/Makefile mts/mmdf/Makefile etc/Makefile \
721 docs/Makefile man/Makefile, \
722 [test -z "$CONFIG_HEADERS" || echo > stamp-h])
723
724 dnl Umm, what's the point of these assignments?? -- <dan-nmh@dilvish.speed.net>
725 eval "nmhbin=${bindir}"; eval "nmhbin2=${nmhbin}"
726 eval "nmhsysconf=${sysconfdir}"; eval "nmhsysconf2=${nmhsysconf}"
727 eval "nmhlib=${libdir}"; eval "nmhlib2=${nmhlib}"
728 eval "nmhman=${mandir}"
729
730 pop_kinds=no
731 if test x"$enable_pop" = x"yes"; then
732 pop_kinds="yes ("
733
734 if test x"$enable_apop" = x"yes"; then
735 pop_kinds="${pop_kinds}APOP "
736 fi
737
738 if test x"$with_krb4" != x -a x"$with_krb4" != x"no"; then
739 pop_kinds="${pop_kinds}KPOP "
740 fi
741
742 pop_kinds="${pop_kinds}POP3)"
743 fi
744
745 echo "
746 nmh configuration
747 -----------------
748 nmh version : ${VERSION}
749 target os : ${target}
750 compiler : ${CC}
751 compiler flags : ${CFLAGS}
752 linker flags : ${LDFLAGS}
753 source code location : ${srcdir}
754 binary install path : ${nmhbin2}
755 libary install path : ${nmhlib2}
756 config files install path : ${nmhsysconf2}
757 man page install path : ${nmhman}
758 transport system : ${MTS}
759 default smtp servers : ${smtpservers}
760 default editor : ${editorpath}
761 default pager : ${pagerpath}
762 email address masquerading : ${masquerade}
763 pop is enabled : ${pop_kinds}"
764 echo ""
765
766
767