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