"Fossies" - the Fresh Open Source Software Archive 
Member "tin-2.6.1/configure.in" (26 Dec 2021, 43994 Bytes) of package /linux/misc/tin-2.6.1.tar.xz:
As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style:
standard) with prefixed line numbers and
code folding option.
Alternatively you can here
view or
download the uninterpreted source code file.
See also the latest
Fossies "Diffs" side-by-side code changes report for "configure.in":
2.6.0_vs_2.6.1.
1 dnl Project : tin - a Usenet reader
2 dnl Module : configure.in
3 dnl Author : Thomas E. Dickey <dickey@invisible-island.net>
4 dnl Created : 1995-08-24
5 dnl Updated : 2021-12-14
6 dnl Notes :
7 dnl
8 dnl Copyright (c) 1995-2021 Thomas E. Dickey <dickey@invisible-island.net>
9 dnl All rights reserved.
10 dnl
11 dnl Redistribution and use in source and binary forms, with or without
12 dnl modification, are permitted provided that the following conditions
13 dnl are met:
14 dnl 1. Redistributions of source code must retain the above copyright
15 dnl notice, this list of conditions and the following disclaimer.
16 dnl 2. Redistributions in binary form must reproduce the above copyright
17 dnl notice, this list of conditions and the following disclaimer in the
18 dnl documentation and/or other materials provided with the distribution.
19 dnl 3. The name of the author may not be used to endorse or promote
20 dnl products derived from this software without specific prior written
21 dnl permission.
22 dnl
23 dnl THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
24 dnl OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
25 dnl WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26 dnl ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
27 dnl DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28 dnl DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
29 dnl GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
30 dnl INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
31 dnl WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
32 dnl NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
33 dnl SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34 dnl
35 dnl Process this file with autoconf to produce a configure script.
36
37 AC_PREREQ(2.52.20210105)
38 AC_INIT(include/tin.h)
39 AC_CONFIG_HEADER(include/autoconf.h:include/autoconf.hin)
40 AC_PREFIX_DEFAULT(/usr/local)
41
42 dnl PACKAGE is required for GNU gettext
43 PACKAGE=tin
44 VERSION=2.6.1
45 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Define this to the package name])
46 AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Define this to the package version])
47 AC_SUBST(PACKAGE)
48 AC_SUBST(VERSION)
49
50 EXTRAO_DEP='#'
51
52 CF_CHECK_CACHE
53
54 CF_PATHSEP
55 CF_WITH_PATH(install-prefix,
56 [ --with-install-prefix prefixes actual install location],
57 DESTDIR,/)
58 case ".$DESTDIR" in # (vi
59 ./) DESTDIR=
60 ;; # (vi
61 ./*/) ;; # (vi
62 ./*) DESTDIR="$DESTDIR/"
63 ;;
64 esac
65
66 AC_ARG_PROGRAM
67
68 ### Compiler/options that autoconf doesn't get right
69 case "$host_os" in
70 aix*) #(vi
71 if test "$CC" = ""; then
72 AC_PATH_PROG(XLC, xlc)
73 if test "$ac_cv_path_XLC" != ""; then
74 CC="$ac_cv_path_XLC"
75 fi
76 fi
77 ;;
78 hpux*) #(vi
79 test "$CC" != "cc" && test -z "$CFLAGS" && CFLAGS="-O"
80 ;;
81 esac
82
83 ### Native Language Support
84 ALL_LINGUAS="da de en_GB es et fr ru sv tr zh_CN zh_TW"
85
86 ### Checks for programs
87 save_CFLAGS="$CFLAGS"
88 CF_PROG_CC
89 AC_PROG_GCC_TRADITIONAL
90 AC_PROG_MAKE_SET
91 AC_PROG_INSTALL
92 CF_PROG_YACC
93 AC_CHECK_PROGS(LINT, lint alint lclint tdlint splint, :)
94 CF_XOPEN_SOURCE
95 CF_SIGWINCH
96 CF_PROG_EXT
97 CF_LIB_PREFIX(LIB_PREFIX)
98 AC_PROG_LN_S
99
100 CF_BUILD_CC([-I$(INCDIR)],[])
101
102 dnl These are standard among *NIX systems, but not when cross-compiling
103 AC_CHECK_TOOL(RANLIB, ranlib, ':')
104 AC_CHECK_TOOL(LD, ld, ld)
105 CF_PROG_AR
106 CF_AR_FLAGS
107
108 case "$host_cpu:$host_vendor:$host_os" in
109 # check for cygwin environment
110 # -DSTATIC is needed for pcre
111 *:*:*cygwin*) #(vi
112 PCRE_DEFINES="$PCRE_DEFINES -DSTATIC"
113 ;;
114 # SEIUX doesn't have any useful preprocessor symbol
115 mips:sei:seiux*) #(vi
116 AC_DEFINE(SEIUX,1,[Define this to 1 for the MIPS/SEIUX system])
117 ;;
118 # ISC Interactive Unix likewise
119 i386:pc:isc*) #(vi
120 AC_DEFINE(ISC_UNIX,1,[Define this to 1 for the i386/ISC system])
121 esac
122
123 dnl TODO: also check for heapsort(3) in libbsd?
124 AC_MSG_CHECKING(if you would like to use heapsort)
125 CF_ARG_DISABLE(heapsort,
126 [ --disable-heapsort disable heapsort() as alternative to qsort],
127 [cf_use_heapsort=no],
128 [cf_use_heapsort=yes])
129 AC_MSG_RESULT($cf_use_heapsort)
130 if test "x$cf_use_heapsort" = xyes; then
131 AC_CHECK_FUNCS(heapsort)
132 if test x"$ac_cv_func_heapsort" = xyes; then
133 AC_MSG_CHECKING(if its prototype is compatible with qsort)
134 AC_TRY_COMPILE([
135 #include <stdlib.h>
136 #include <sys/types.h>
137 extern int my_compare(const void *, const void *);
138 ],[
139 char *base = 0;
140 heapsort((void *)0, 1, 2, my_compare);
141 ],,[cf_use_heapsort=no]);
142 AC_MSG_RESULT($cf_use_heapsort)
143 else
144 CF_VERBOSE(will use our own heapsort function)
145 EXTRAO_DEP=''
146 EXTRAOBJS="$EXTRAOBJS \$(OBJDIR)/heapsort.o"
147 fi
148 fi
149 if test "x$cf_use_heapsort" = xyes; then
150 AC_DEFINE(USE_HEAPSORT,1,[Define this to 1 to use the heapsort function])
151 fi
152
153 CF_WITH_PROGRAM(ispell,
154 [ --with-ispell (default: from system path)])
155
156 CF_WITH_PROGRAM(metamail,
157 [ --with-metamail (default: from system path)])
158
159 CF_WITH_PROGRAM(sum,
160 [ --with-sum (default: from system path)])
161 CF_PROG_SUM_R
162
163 CF_PATH_EDITOR
164 CF_PATH_MAILER
165 CF_PATH_MAILBOX
166 CF_PKG_CONFIG
167
168 ## PGP Support
169 AC_MSG_CHECKING(if you want PGP/GPG-Support)
170 CF_ARG_DISABLE(pgp-gpg,
171 [ --disable-pgp-gpg disable PGP/GPG Support],
172 [USE_PGP_GPG=no],
173 [USE_PGP_GPG=yes])
174 AC_MSG_RESULT($enableval)
175 if test "$USE_PGP_GPG" = "yes" ; then
176 CF_WITH_PROGRAM(pgp,
177 [ --with-pgp (default: from system path)])
178 # FIXME: check if pgp is pgp2 or pgp6
179
180 CF_WITH_PROGRAM(pgpk,
181 [ --with-pgpk (default: from system path)])
182 # FIXME: remove tailing k
183
184 CF_WITH_PROGRAM(gpg,
185 [ --with-gpg (default: from system path)])
186 fi
187
188 ## slrnface
189 CF_WITH_PROGRAM(slrnface,
190 [ --with-slrnface (default: from system path)])
191 if test -n "$ac_cv_path_PATH_SLRNFACE"; then
192 EXTRAO_DEP=""
193 EXTRAOBJS="$EXTRAOBJS \$(OBJDIR)/xface.o"
194 fi
195
196 ## Default shell
197 AC_ARG_WITH(shell,
198 [ --with-shell=PROG default $SHELL program (default: sh)],
199 [cf_cv_default_shell=$withval],
200 [cf_cv_default_shell=])
201 CF_DEFAULT_SHELL($cf_cv_default_shell)
202
203 ### check for this early, since it'll override several options
204 AC_MSG_CHECKING(if NNTP-support will be used)
205 CF_ARG_DISABLE(nntp,
206 [ --disable-nntp disable reading via NNTP],
207 [USE_NNTP=no],
208 [USE_NNTP=yes])
209 AC_MSG_RESULT($enableval)
210
211 USE_SPOOLDIR=yes
212 if test "$USE_NNTP" = "yes" ; then
213 AC_MSG_CHECKING(whether to be NNTP_ONLY)
214 CF_ARG_ENABLE(nntp-only,
215 [ --enable-nntp-only enable reading via NNTP only],
216 [AC_DEFINE(NNTP_ONLY,1,[Define this to 1 to be NNTP-only])
217 USE_SPOOLDIR=no],
218 [AC_DEFINE(NNTP_ABLE,1,[Define this to 1 to be NNTP-capable])])
219 AC_MSG_RESULT($enableval)
220 fi
221
222 ### use option --enable-debug to compile-in test/development code
223 AC_MSG_CHECKING(if you want to compile-in debug support)
224 CF_ARG_ENABLE(debug,
225 [ --enable-debug turn on debug support],
226 [ENABLE_DEBUG=''
227 CFLAGS="-g $CFLAGS"
228 LDFLAGS="-g $LDFLAGS"],
229 [ENABLE_DEBUG='#'
230 test -z "$save_CFLAGS" && CFLAGS="`echo $CFLAGS|sed -e 's/-g //' -e 's/-g$//'`"])
231 AC_MSG_RESULT($enableval)
232 AC_SUBST(ENABLE_DEBUG)
233
234 ### use option --disable-echo to suppress full display compiling commands
235 CF_DISABLE_ECHO
236
237 ### use option --enable-prototypes to turn on optional prototypes
238 AC_MSG_CHECKING(if you want to compile with fallback prototypes)
239 CF_ARG_ENABLE(prototypes,
240 [ --enable-prototypes check for optional prototypes],
241 [with_decl_check=yes],
242 [with_decl_check=no])
243 AC_MSG_RESULT($enableval)
244
245 ### use option --enable-warnings to turn on all gcc warnings
246 EXTRA_CFLAGS=""
247 if test -n "$GCC"
248 then
249 AC_MSG_CHECKING(if you want to turn on gcc warnings)
250 CF_ARG_ENABLE(warnings,
251 [ --enable-warnings turn on GCC compiler warnings],
252 [with_warnings=yes],
253 [with_warnings=no])
254 AC_MSG_RESULT($with_warnings)
255 if test "$with_warnings" = "yes"
256 then
257 with_ext_const=yes
258 CF_GCC_WARNINGS
259 fi
260 fi
261
262 ## !NNTP_ONLY
263 if test "$USE_SPOOLDIR" = "yes"; then
264 ## options for directories
265 AC_MSG_CHECKING(for news-library path)
266 CF_WITH_PATH(libdir,
267 [ --with-libdir=PATH news-library],
268 NEWSLIBDIR,/usr/lib/news)
269 AC_MSG_RESULT($NEWSLIBDIR)
270
271 AC_MSG_CHECKING(for news spool-directory path)
272 CF_WITH_PATH(spooldir,
273 [ --with-spooldir=PATH news spool-directory],
274 SPOOLDIR,/var/spool/news)
275 AC_MSG_RESULT($SPOOLDIR)
276
277 AC_MSG_CHECKING(for news overview-directory path)
278 CF_WITH_PATH(nov-dir,
279 [ --with-nov-dir=PATH news overview-directory],
280 NOVROOTDIR,$SPOOLDIR)
281 AC_MSG_RESULT($NOVROOTDIR)
282
283 AC_MSG_CHECKING(for overview filename)
284 CF_WITH_VALUE(nov-fname,
285 [ --with-nov-fname specify names of overview files],
286 OVERVIEW_FILE,.overview)
287 AC_MSG_RESULT($OVERVIEW_FILE)
288
289 INEWSPATH="$NEWSLIBDIR"
290 else
291 NEWSLIBDIR=""
292 SPOOLDIR=""
293 NOVROOTDIR=""
294 INEWSPATH="/usr/lib/news"
295 fi
296
297 ## TODO: kick the --with-inews-dir= stuff, the check below should be enough
298 ## (requires some code rework in tin)
299 AC_MSG_CHECKING(for directory containing \"inews\")
300 CF_WITH_PATH(inews-dir,
301 [ --with-inews-dir=PATH directory containing "inews"],
302 INEWSDIR,$INEWSPATH)
303 INEWSDIR="`echo $INEWSDIR |sed -e 's,/$,,'`"
304 AC_MSG_RESULT($INEWSDIR)
305
306 AC_PATH_PROG(INEWS,
307 inews, --internal,
308 $INEWSDIR:/news/bin:/usr/lib/news/bin:$INEWSPATH)
309 if test "$ac_cv_path_INEWS" != ""; then
310 if test "$ac_cv_path_INEWS" = "--internal"; then
311 CF_DEFINE_STRING(PATH_INEWS, "$INEWS")
312 else
313 CF_DEFINE_STRING(PATH_INEWS, "$INEWS -h")
314 fi
315 fi
316
317 ### Look for network libraries first, since some functions (such as gethostname)
318 ### are used in a lot of places.
319 AC_CACHE_CHECK(if you want socks library,cf_cv_use_libsocks,[
320 AC_ARG_WITH(socks,
321 [ --with-socks[=path] link with socks library if available],
322 [cf_cv_use_libsocks=$withval],
323 [cf_cv_use_libsocks=no])
324 ])
325
326 AC_CACHE_CHECK(if you want socks5 library,cf_cv_use_libsocks5,[
327 AC_ARG_WITH(socks5,
328 [ --with-socks5[=path] link with socks5 library if available],
329 [cf_cv_use_libsocks5=$withval],
330 [cf_cv_use_libsocks5=no])
331 ])
332
333 if test "x$cf_cv_use_libsocks" != xno ; then
334 CF_SOCKS($cf_cv_use_libsocks)
335 else
336 CF_NETLIBS
337 if test "x$cf_cv_use_libsocks5" != xno ; then
338 CF_SOCKS5($cf_cv_use_libsocks5)
339 fi
340 fi
341
342 ### which locking method should be used for mailbox locking
343 ### first look for all available locking methods
344 CF_LOCKFILE
345
346 AC_MSG_CHECKING(which locking method will be used)
347 ### fcntl() is preferred, if the user just disables fcntl()
348 ### without specifying an alternative lockf() is preferred
349 CF_ARG_DISABLE(fcntl,
350 [ --disable-fcntl disable fcntl() locking],
351 requested_lock="lockf",
352 requested_lock="fcntl")
353 CF_ARG_ENABLE(lockf,
354 [ --enable-lockf enable lockf() locking],
355 requested_lock="lockf")
356 CF_ARG_ENABLE(flock,
357 [ --enable-flock enable flock() locking],
358 requested_lock="flock")
359 ### now check the users wishes against available locking methods
360 if test -n "$cf_cv_lockfile"; then
361 for lock in $cf_cv_lockfile; do
362 if test "$lock" = "$requested_lock"; then
363 used_locking=$lock
364 break
365 fi
366 done
367 ### if none of them matched use the one with the highest priority
368 if test "x$used_locking" = "x"; then
369 used_locking="`echo $cf_cv_lockfile|sed -e 's/^\([[^ ]]\+\).*/\1/g'`"
370 fi
371 AC_MSG_RESULT($used_locking)
372 CF_UPPER(used_locking,$used_locking)
373 AC_DEFINE_UNQUOTED(USE_$used_locking)
374 else
375 AC_MSG_RESULT(none);
376 AC_MSG_WARN([[None of fcntl(), lockf(), flock() available]])
377 fi
378
379 AC_MSG_CHECKING(for screen type)
380 AC_ARG_WITH(screen,
381 [ --with-screen=xxx specify screen type, which must be one of:
382 termcap, terminfo, curses, ncurses, ncursesw, or
383 pdcurses (replaces options --enable-curses and
384 --with-ncurses)],
385 [cf_with_screen=$withval],
386 [cf_with_screen=none])
387 AC_MSG_RESULT($cf_with_screen)
388
389 use_curses=no
390 use_ncurses=no
391
392 CF_WITH_CURSES_DIR($cf_with_screen)
393
394 case $cf_with_screen in #(vi
395 termcap|terminfo) #(we will determine which it really is
396 ;;
397 curses) #(vi
398 use_curses=yes
399 ;;
400 ncurses) #(vi
401 use_curses=yes
402 use_ncurses=yes
403 ;;
404 ncursesw) #(vi
405 use_curses=yes
406 use_ncurses=yes
407 ;;
408 pdcurses) #(vi
409 use_curses=yes
410 ;;
411 none)
412 AC_MSG_CHECKING(if you want to use ncurses library)
413 AC_ARG_WITH(ncurses,
414 [ --with-ncurses link with ncurses if available (deprecated)],
415 [use_ncurses=$withval],
416 [use_ncurses=no])
417 AC_MSG_RESULT($use_ncurses)
418
419 AC_MSG_CHECKING(if you want curses rather than termcap interface)
420 CF_ARG_ENABLE(curses,
421 [ --enable-curses use curses interface (deprecated)],
422 [cf_with_screen=curses; use_curses=$withval],
423 [cf_with_screen=termcap; use_curses=no])
424 AC_MSG_RESULT($enableval)
425 ;;
426 esac
427
428 if test $use_curses != no ; then
429 AC_DEFINE(USE_CURSES,1,[Define this to 1 if we will use the curses library])
430 case $cf_with_screen in #(vi
431 ncurses) #(vi
432 CF_NCURSES_CONFIG
433 ;;
434 ncursesw) #(vi
435 CF_CHECK_HEADERS(stdlib.h wchar.h wctype.h)
436 AM_MULTIBYTE_ABLE
437 CF_NCURSES_CONFIG(ncursesw)
438 CF_XOPEN_CURSES
439 test "$cf_cv_need_xopen_extension" = unknown && AC_ERROR(X/Open curses not found)
440 ;;
441 curses) #(vi
442 CF_CURSES_CONFIG
443 CF_XOPEN_CURSES
444 ;;
445 esac
446 fi
447
448 ## substitute externally-installed PCRE library for our bundled version
449 AC_MSG_CHECKING(if you want to use installed version of pcre)
450 AC_ARG_WITH(pcre,
451 [ --with-pcre=PATH use installed pcre versus bundled],
452 [PCRE_HOME=$withval],
453 [PCRE_HOME=no])
454 AC_MSG_RESULT($PCRE_HOME)
455 CF_BUNDLED_PCRE($PCRE_HOME)
456
457 PCRE_MAKEFILE=
458 if test "$cf_pcre_home" = "no" ; then
459 LINK_SIZE="-DLINK_SIZE=2"
460 AC_SUBST(LINK_SIZE)
461 UTF8="-DSUPPORT_UTF8"
462 UCP="-DSUPPORT_UCP"
463 AC_SUBST(UTF8)
464 AC_SUBST(UCP)
465 PCRE_MAKEFILE="$PCRE_MAKEFILE pcre/Makefile pcre/RunTest"
466 fi
467
468 ## debugging libraries (do this after other libraries)
469 debug_malloc=none
470 CF_WITH_DBMALLOC(debug_malloc=DBMALLOC)
471 CF_WITH_DMALLOC(debug_malloc=DMALLOC)
472
473 AC_ARG_WITH(trace,
474 [ --with-trace use debugging/traces for screen output],
475 [
476 AC_CHECK_FUNC(_tracef,[AC_DEFINE(HAVE__TRACEF,1,[Define this to 1 if we have function _tracef])],[
477 AC_CHECK_LIB(${cf_with_screen}_g,_tracef,
478 [AC_DEFINE(HAVE__TRACEF)
479 LIBS="`echo "$LIBS" | sed -e s/-l${cf_with_screen}// -e s/-lcurses//`"
480 LIBS="-l${cf_with_screen}_g $LIBS"
481 use_trace=yes
482 AC_DEFINE(USE_TRACE,1,[Define this to 1 if we will use ncurses' trace-functions])
483 EXTRAO_DEP=''
484 EXTRAOBJS="$EXTRAOBJS \$(OBJDIR)/trace.o"],
485 use_trace=no)])],
486 [use_trace=no])
487 #AC_MSG_CHECKING(if you want debugging-trace)
488 #AC_MSG_RESULT($use_trace)
489 AC_SUBST(EXTRAOBJS)
490 AC_SUBST(EXTRAO_DEP)
491
492 ## options for miscellaneous definitions
493 AC_MSG_CHECKING(for domain-name)
494 CF_ARG_WITH(domain-name,
495 [ --with-domain-name sets $DOMAIN_NAME],
496 DOMAIN_NAME)
497 if test "$DOMAIN_NAME" != ""; then
498 AC_DEFINE_UNQUOTED(DOMAIN_NAME, "$DOMAIN_NAME",[Define this to the news server's domain-name])
499 fi
500 AC_MSG_RESULT($DOMAIN_NAME)
501
502 if test "$USE_NNTP" = "yes" ; then
503 AC_MSG_CHECKING(for NNTP default-server)
504 CF_ARG_WITH(nntp-default-server,
505 [ --with-nntp-default-server
506 (sets NNTP_DEFAULT_SERVER)
507 ],
508 [NNTP_DEFAULT_SERVER], news.$DOMAIN_NAME)
509
510 if test "$NNTP_DEFAULT_SERVER" = "" ; then
511 if test "$DOMAIN_NAME" != "" ; then
512 test -z "$NNTP_DEFAULT_SERVER" && \
513 case "$DOMAIN_NAME" in #(((
514 /*)
515 if test -r "$DOMAIN_NAME" ; then
516 NNTP_DEFAULT_SERVER="news.`cat $DOMAIN_NAME`"
517 else
518 NNTP_DEFAULT_SERVER="news"
519 fi
520 ;;
521 *)
522 NNTP_DEFAULT_SERVER="news.$DOMAIN_NAME"
523 ;;
524 esac
525 else
526 NNTP_DEFAULT_SERVER="news"
527 fi
528 fi
529 AC_MSG_RESULT($NNTP_DEFAULT_SERVER)
530 fi
531
532 ## These options are interdependent, so we delay defining them til now:
533 test -n "$NNTP_DEFAULT_SERVER" \
534 && AC_DEFINE_UNQUOTED(NNTP_DEFAULT_SERVER,"$NNTP_DEFAULT_SERVER",[Define this to the default NNTP server])
535 test ".$INEWSDIR" != ".$NEWSLIBDIR" && AC_DEFINE_UNQUOTED(INEWSDIR,"$INEWSDIR",[Define this to the inews directory path])
536 AC_DEFINE_UNQUOTED(NEWSLIBDIR,"$NEWSLIBDIR",[Define this to the news library directory path])
537 AC_DEFINE_UNQUOTED(NOVROOTDIR,"$NOVROOTDIR",[Define this to the news overview directory path])
538 AC_DEFINE_UNQUOTED(SPOOLDIR,"$SPOOLDIR",[Define this to the spool directory path])
539
540 ## optional features
541 AC_MSG_CHECKING(whether to use MH style mail handling for mailgroups)
542 CF_ARG_ENABLE(mh-mail-handling,
543 [ --enable-mh-mail-handling
544 use MH style mail handling for mailgroups],
545 [AC_DEFINE(HAVE_MH_MAIL_HANDLING,1,[Define this to 1 to use MH style mail handling for mailgroups])])
546 AC_MSG_RESULT($enableval)
547
548 AC_MSG_CHECKING(whether to use Cancel-Locks)
549 CF_ARG_ENABLE(cancel-locks,
550 [ --enable-cancel-locks enable creation of Cancel-Locks])
551 AC_MSG_RESULT($enableval)
552 USE_CANLOCK=$enableval
553
554 if test "$USE_CANLOCK" = yes ; then
555 AC_MSG_CHECKING(whether to use installed canlock rather than bundled)
556 AC_ARG_WITH(canlock,
557 [ --with-cancel-locks=PATH use installed canlock versus bundled],
558 [CANLOCK_HOME=$withval],
559 [CANLOCK_HOME=$USE_CANLOCK])
560 AC_MSG_RESULT($CANLOCK_HOME)
561 CF_BUNDLED_CANLOCK($CANLOCK_HOME)
562 else
563 CANDIR_MAKE='#'
564 fi
565 AC_SUBST(CANDIR_MAKE)
566
567 ## gsasl - used for AUTH SASL PLAIN
568 gsasl=no
569 AC_CHECK_HEADER(gsasl.h,
570 [AC_CHECK_LIB(gsasl, gsasl_check_version, gsasl=yes)]
571 )
572 if test "$gsasl" = "yes"; then
573 CF_ARG_DISABLE(gsasl,
574 [ --disable-gsasl don't use GNU SASL],
575 USE_SASL=no,
576 [USE_SASL=yes
577 AC_DEFINE(USE_SASL, 1, [Define to 1 if you want GNU SASL.])
578 LIBS="$LIBS -lgsasl"])
579 fi
580
581 AC_MSG_CHECKING(whether to enable 8-bit keycodes)
582 CF_ARG_DISABLE(8bit-keys,
583 [ --disable-8bit-keys disable 8-bit keycode support],,
584 [AC_DEFINE(HAVE_KEY_PREFIX,1,[Define this to 1 to enable 8-bit keycodes])])
585 AC_MSG_RESULT($enableval)
586
587 AC_MSG_CHECKING(whether to enable ANSI-color)
588 CF_ARG_DISABLE(color,
589 [ --disable-color disable ANSI-color support])
590 use_color=$enableval
591 AC_MSG_RESULT($use_color)
592
593 AC_MSG_CHECKING(whether to enable posting-etiquette)
594 CF_ARG_DISABLE(etiquette,
595 [ --disable-etiquette disable printing of posting-etiquette],
596 [AC_DEFINE(NO_ETIQUETTE,1,[Define this to 1 to enable posting-etiquette])])
597 AC_MSG_RESULT($enableval)
598
599 AC_MSG_CHECKING(whether to strictly observe RFC2047 and break long lines)
600 CF_ARG_DISABLE(break-long-lines,
601 [ --disable-break-long-lines
602 don't break long mime-encoded lines],,
603 [AC_DEFINE(MIME_BREAK_LONG_LINES,1,[Define this to 1 to strictly observe RFC2047 and break long lines])])
604 AC_MSG_RESULT($enableval)
605
606 AC_MSG_CHECKING(whether to force MM_CHARSET obeyance when decoding mime)
607 CF_ARG_DISABLE(mime-strict-charset,
608 [ --disable-mime-strict-charset
609 force MM_CHARSET obeyance],,
610 [AC_DEFINE(MIME_STRICT_CHARSET,1,[Define this to 1 to force MM_CHARSET obeyance when decoding mime])])
611 AC_MSG_RESULT($enableval)
612
613 AC_MSG_CHECKING(for MIME character-set)
614 CF_WITH_DFTENV(mime-default-charset,
615 [ --with-mime-default-charset=CHARSET
616 fallback for $MM_CHARSET],
617 MM_CHARSET,US-ASCII)
618 AC_MSG_RESULT($MM_CHARSET)
619
620 AC_MSG_CHECKING(for default ISO/ASCII table)
621 CF_WITH_DFTENV(iso-to-ascii,
622 [ --with-iso-to-ascii ISO -> ASCII conversion],
623 DEFAULT_ISO2ASC,-1)
624 AC_MSG_RESULT($DEFAULT_ISO2ASC)
625
626 AC_MSG_CHECKING(whether to enable locale support)
627 CF_ARG_DISABLE(locale,
628 [ --disable-locale disable locale support],
629 [AC_DEFINE(NO_LOCALE,1,[Define this to 1 to disable locale support])])
630 AC_MSG_RESULT($enableval)
631
632 AC_MSG_CHECKING(whether to enable posting)
633 CF_ARG_DISABLE(posting,
634 [ --disable-posting disable posting],
635 [AC_DEFINE(NO_POSTING,1,[Define this to 1 to disable posting])])
636 AC_MSG_RESULT($enableval)
637
638 AC_MSG_CHECKING(whether to enable shell escape)
639 CF_ARG_DISABLE(shell-escape,
640 [ --disable-shell-escape disable shell escape],
641 [AC_DEFINE(NO_SHELL_ESCAPE,1,[Define this to 1 to disable shell escape])])
642 AC_MSG_RESULT($enableval)
643
644 AC_MSG_CHECKING(whether to have fascist newsadmin)
645 CF_ARG_ENABLE(fascist-newsadmin,
646 [ --enable-fascist-newsadmin
647 have fascist newsadmin],
648 [AC_DEFINE(HAVE_FASCIST_NEWSADMIN,1,[Define this to 1 to have fascist newsadmin])])
649 AC_MSG_RESULT($enableval)
650
651 AC_MSG_CHECKING(whether to enable inverse video and highlighting)
652 CF_ARG_DISABLE(inverse-video,
653 [ --disable-inverse-video disable inverse video and highlighting],
654 [AC_DEFINE(USE_INVERSE_HACK,1,[Define this to 1 to enable inverse video and highlighting])])
655 AC_MSG_RESULT($enableval)
656
657 AC_MSG_CHECKING(whether to enable piping support)
658 CF_ARG_DISABLE(piping,
659 [ --disable-piping disable piping support],
660 [AC_DEFINE(DONT_HAVE_PIPING,1,[Define this to 1 to enable piping support])])
661 AC_MSG_RESULT($enableval)
662
663 AC_MSG_CHECKING(whether to enable printer support)
664 CF_ARG_DISABLE(printing,
665 [ --disable-printing disable printer support],
666 [AC_DEFINE(DISABLE_PRINTING,1,[Define this to 1 to enable printer support])])
667 AC_MSG_RESULT($enableval)
668
669 AC_MSG_CHECKING(whether to unique tmp-files by appending .pid)
670 CF_ARG_DISABLE(append-pid,
671 [ --disable-append-pid disable appending .pid to tmp-files],,
672 [AC_DEFINE(APPEND_PID,1,[Define this to 1 to unique tmp-files by appending .pid])])
673 AC_MSG_RESULT($enableval)
674
675 AC_MSG_CHECKING(whether to fallback to XHDR XREF if XOVER isn't supported)
676 CF_ARG_DISABLE(xhdr-xref,
677 [ --disable-xhdr-xref disable XHDR XREF fallback],,
678 [AC_DEFINE(XHDR_XREF,1,[Define this to 1 to fallback to XHDR XREF if XOVER isn't supported])])
679 AC_MSG_RESULT($enableval)
680
681 ### bypass a bug in old versions of leafnode & NNTPcache
682 AC_MSG_CHECKING(whether to send a GROUP command before a LISTGROUP)
683 CF_ARG_ENABLE(broken-listgroup-fix,
684 [ --enable-broken-listgroup-fix
685 send extra GROUP command before LISTGROUP],
686 [AC_DEFINE(BROKEN_LISTGROUP,1,[Define this to 1 to send a GROUP command before a LISTGROUP])])
687 AC_MSG_RESULT($enableval)
688
689 ### on some old systems the WIFEXITED()/WEXITSTATUS() macros do not work
690 AC_MSG_CHECKING(whether to ignore system()s return value)
691 CF_ARG_ENABLE(broken-system-fix,
692 [ --enable-broken-system-fix
693 ignore system()s return value],
694 [AC_DEFINE(IGNORE_SYSTEM_STATUS,1,[Define this to 1 to ignore system()s return value])])
695 AC_MSG_RESULT($enableval)
696
697 ### checks for the location of the system-wide default setting file
698 AC_MSG_CHECKING(for directory containing tin.defaults file)
699 CF_WITH_PATH(defaults-dir,
700 [ --with-defaults-dir=PATH
701 directory containing tin.defaults file
702 ],
703 TIN_DEFAULTS_DIR,/etc/tin)
704 AC_MSG_RESULT($TIN_DEFAULTS_DIR)
705 AC_DEFINE_UNQUOTED(TIN_DEFAULTS_DIR,"$TIN_DEFAULTS_DIR",[Define this to the directory containing tin.defaults file])
706
707 ### check for ipv6 support
708 AC_MSG_CHECKING([whether to enable IPv6])
709 CF_ARG_DISABLE(ipv6,
710 [ --disable-ipv6 disable IPv6 support (default: enabled)],
711 ,
712 [AC_DEFINE(ENABLE_IPV6,1,[Define this to 1 to enable IPv6])])
713 AC_MSG_RESULT($enableval)
714 if test "$enableval" = "yes"; then
715 CF_CHECK_IPV6
716 fi
717 AC_REPLACE_FUNCS(getaddrinfo getnameinfo)
718
719 ### should we use 64 bit article numbers if possible?
720 AC_MSG_CHECKING([whether to enable long article numbers])
721 CF_ARG_ENABLE(long-article-numbers,
722 [ --enable-long-article-numbers
723 enable long article numbers (default: disabled)],
724 [AC_DEFINE(ENABLE_LONG_ARTICLE_NUMBERS,1,[Define this to 1 to enable long article numbers])])
725 AC_MSG_RESULT($enableval)
726
727 ### checks for operator characteristics (should be the last option)
728 AC_MSG_CHECKING(whether to make a coffee while compiling)
729 AC_ARG_WITH(coffee,
730 [ --with-coffee coffee support],
731 [ case "$withval" in
732 yes)
733 AC_MSG_RESULT(yes - with milk - please!)
734 AC_DEFINE(HAVE_COFFEE,1,[Define this to 1 to make a coffee while compiling])
735 ;;
736 *)
737 AC_MSG_RESULT(no)
738 ;;
739 esac],
740 AC_MSG_RESULT(no))
741
742 ### checks for compiler characteristics
743 CF_MAKEFLAGS
744 AC_LANG_C
745 AC_C_CONST
746 AC_C_INLINE
747 CF_CPP_EXPANDS
748 CF_CPP_CONCATS
749 CF_CHECK_NESTED_PARAMS
750
751 ### Checks for header files.
752 AC_HEADER_STDC
753 AC_HEADER_DIRENT
754 AC_HEADER_TIME
755 AC_HEADER_SYS_WAIT
756 CF_CHECK_HEADERS(\
757 argz.h \
758 arpa/inet.h \
759 curses.h \
760 errno.h \
761 fcntl.h \
762 getopt.h \
763 ioctl.h \
764 inttypes.h \
765 langinfo.h \
766 libc.h \
767 locale.h \
768 malloc.h \
769 netdb.h \
770 netinet/in.h \
771 netlib.h \
772 nl_types.h \
773 nomacros.h \
774 paths.h \
775 poll.h \
776 prototypes.h \
777 pwd.h \
778 sgtty.h \
779 socket.h \
780 stdarg.h \
781 stdbool.h \
782 stddef.h \
783 stdint.h \
784 stdlib.h \
785 string.h \
786 strings.h \
787 stropts.h \
788 sys/bsdtypes.h \
789 sys/errno.h \
790 sys/file.h \
791 sys/ioctl.h \
792 sys/param.h \
793 sys/poll.h \
794 sys/ptem.h \
795 sys/pty.h \
796 sys/select.h \
797 sys/stat.h \
798 sys/stream.h \
799 sys/socket.h \
800 sys/time.h \
801 sys/timeb.h \
802 sys/times.h \
803 sys/types.h \
804 sys/utsname.h \
805 term.h \
806 termio.h \
807 time.h \
808 unistd.h \
809 varargs.h \
810 wchar.h \
811 wctype.h \
812 )
813
814 ### Checks that depend on existence-checks for headers
815 CF_SIZECHANGE
816 CF_SYS_SELECT_TIMEVAL
817 CF_VA_COPY
818
819 ### Checks for Datatypes.
820 AC_CHECK_TYPE(gid_t, int)
821 AC_TYPE_MODE_T
822 AC_TYPE_OFF_T
823 AC_TYPE_PID_T
824 AC_TYPE_SIZE_T
825 AC_CHECK_TYPE(ssize_t, int)
826 AC_CHECK_TYPE(time_t, long)
827 AC_EGREP_HEADER(in_addr_t, netinet/in.h, ,[
828 AC_EGREP_HEADER(in_addr_t, sys/endian.h, ,[
829 AC_CHECK_TYPE(in_addr_t, unsigned long)]
830 )]
831 )
832 AC_TYPE_UID_T
833
834 dnl test to see if quad_t is defined
835 AC_MSG_CHECKING(for quad_t)
836 AC_TRY_COMPILE([
837 #include <sys/types.h>
838 #if 0
839 #include <stdlib.h>
840 #include <stddef.h>
841 #endif /* 0 */
842 ],[quad_t x; x = 0],
843 ac_cv_quad_t=yes, ac_cv_quad_t=no)
844 AC_MSG_RESULT($ac_cv_quad_t)
845 if test $ac_cv_quad_t = yes; then
846 AC_DEFINE(HAVE_QUAD_T,1,[Define this to 1 if we have type quad_t])
847 fi
848
849 dnl test to see if long long is defined
850 AC_MSG_CHECKING(for long long)
851 AC_TRY_COMPILE([
852 #include <sys/types.h>
853 ],[long long x; x = 0],
854 ac_cv_long_long=yes, ac_cv_long_long=no)
855 AC_MSG_RESULT($ac_cv_long_long)
856 if test $ac_cv_long_long = yes; then
857 AC_DEFINE(HAVE_LONG_LONG,1,[Define this to 1 if we have long-long type])
858 fi
859
860 dnl test to see if int_least64_t is defined
861 AC_MSG_CHECKING(for int_least64_t)
862 AC_TRY_COMPILE([
863 #ifdef HAVE_STDINT_H
864 #include <stdint.h>
865 #endif
866 #ifdef HAVE_HAVE_INTTYPES_H
867 #include <inttypes.h>
868 #endif
869 ],[int_least64_t x; x = 0],
870 ac_cv_int_least64_t=yes, ac_cv_int_least64_t=no)
871 AC_MSG_RESULT($ac_cv_int_least64_t)
872 if test $ac_cv_int_least64_t = yes; then
873 AC_DEFINE(HAVE_INT_LEAST64_T,1,[Define this to 1 if we have type least64_t])
874
875 AC_MSG_CHECKING(for INT64_C)
876 AC_TRY_COMPILE([
877 #ifdef HAVE_STDINT_H
878 #include <stdint.h>
879 #endif
880 #ifdef HAVE_HAVE_INTTYPES_H
881 #include <inttypes.h>
882 #endif
883 ],[int_least64_t x; x = INT64_C(0)],
884 ac_cv_int64_c=yes, ac_cv_int64_c=no)
885 AC_MSG_RESULT($ac_cv_int64_c)
886 if test $ac_cv_int64_c = yes; then
887 AC_DEFINE(HAVE_INT64_C,1,[Define this to 1 if we have function INT64_C])
888 fi
889 fi
890
891
892 dnl test to see if nl_item is defined
893 AC_MSG_CHECKING(for nl_item)
894 AC_TRY_COMPILE([
895 #ifdef HAVE_LANGINFO_H
896 #include <langinfo.h>
897 #else
898 #ifdef HAVE_NL_TYPES_H
899 #include <nl_types.h>
900 #endif
901 #endif
902 ],[nl_item x; x = 0],
903 ac_cv_nl_item=yes, ac_cv_nl_item=no)
904 AC_MSG_RESULT($ac_cv_nl_item)
905 if test $ac_cv_nl_item = yes; then
906 AC_DEFINE(HAVE_NL_ITEM,1,[Define this to 1 if we have header nl_types.h])
907 fi
908
909 ### Checks for libraries.
910 # libuu/uudeview
911 # only define HAVE_LIBUU and HAVE_UUDEVIEW_H if both are found
912 AC_CHECK_LIB(uu, UUInitialize,
913 [AC_CHECK_HEADER(uudeview.h,
914 [AC_DEFINE(HAVE_LIBUU,1,[Define this to 1 if we have library uu])
915 AC_DEFINE(HAVE_UUDEVIEW_H,1,[Define this to 1 if we have header uudeview.h])
916 LIBS="$LIBS -luu"]
917 )]
918 )
919
920
921 # ICU - International Components for Unicode
922 # TODO: do separate checks for
923 # - unorm_normalize() # deprecated since ICU 56
924 # - uidna_IDNToUnicode() # deprecated since ICU 56
925 # - ubidi_open()
926 # and for IDNA2008
927 # - uidna_openUTS46()
928 # - uidna_nameToUnicode()
929 # - unorm2_normalize()
930 # get $CFLAGS/$LDFLAGS from pkg-config icu-uc if possible
931 cf_try_icuuc="no"
932 cf_try_icuuc46="no"
933 AC_CHECK_HEADER(unicode/unorm.h,[
934 AC_CHECK_HEADER(unicode/ustring.h, [
935 AC_DEFINE(HAVE_UNICODE_UNORM_H,1,[Define this to 1 if we have header unicode/unorm.h])
936 AC_DEFINE(HAVE_UNICODE_USTRING_H,1,[Define this to 1 if we have header unicode/ustring.h])
937 AC_MSG_CHECKING(for unorm_normalize in libicuuc)
938 cf_save_LIBS="$LIBS"
939 cf_try_icuuc="no"
940 LIBS="$LIBS -licuuc"
941 AC_TRY_LINK([#include <unicode/unorm.h>], [
942 int32_t needed, ustr = NULL;
943 UErrorCode status;
944 needed = unorm_normalize(ustr, -1, UNORM_DEFAULT, 0, NULL, 0, &status);], [
945 AC_DEFINE(HAVE_LIBICUUC,1,[Define this to 1 if we have libicuuc])
946 cf_try_icuuc="yes"],
947 LIBS=$cf_save_LIBS
948 )
949 AC_MSG_RESULT($cf_try_icuuc)
950 cf_save_LIBS="$LIBS"
951 AC_CHECK_HEADER(unicode/uidna.h, [
952 AC_DEFINE(HAVE_UNICODE_UIDNA_H,1,[Define this to 1 if we have header unicode/uidna.h])
953 ])
954 AC_MSG_CHECKING(for uidna_nameToUnicode in libicuuc)
955 AC_TRY_LINK([#include <unicode/uidna.h>
956 #include <unicode/unorm.h>], [
957 UErrorCode status = U_ZERO_ERROR;
958 UIDNAInfo info = UIDNA_INFO_INITIALIZER;
959 UIDNA *uts46;
960 uidna_openUTS46(UNORM_DEFAULT, &status);
961 uidna_nameToUnicode(uts46, NULL, 0, NULL, 0, &info, &status);
962 uidna_close(uts46);], [
963 AC_DEFINE(HAVE_LIBICUUC_46_API,1,[Define this to 1 if we have libicuus 46-API])
964 cf_try_icuuc46="yes"],
965 LIBS=$cf_save_LIBS
966 )
967 AC_MSG_RESULT($cf_try_icuuc46)
968 AC_CHECK_HEADER(unicode/ubidi.h, [
969 AC_DEFINE(HAVE_UNICODE_UBIDI_H,1,[Define this to 1 if we have header unicode/ubidi.h])
970 ])
971 ])
972 ])
973 # IDNA2008
974 AC_CHECK_HEADER(unicode/unorm2.h, [
975 AC_DEFINE(HAVE_UNICODE_UNORM2_H,1,[Define this to 1 if we have header unicode/unorm2.h])
976 ])
977
978 # without icuuc try GNU libunistring for normalization
979 if test $cf_try_icuuc = no ; then
980 AC_CHECK_HEADER(unitypes.h,[
981 AC_CHECK_HEADER(uninorm.h,[
982 AC_DEFINE(HAVE_UNITYPES_H,1,[Define this to 1 if we have header unitypes.h])
983 AC_DEFINE(HAVE_UNINORM_H,1,[Define this to 1 if we have header uninorm.h])
984 AC_MSG_CHECKING(for u8_normalize in libunistring)
985 cf_save_LIBS="$LIBS"
986 cf_try_unistring="no"
987 LIBS="$LIBS -lunistring"
988 AC_TRY_LINK([#include <unitypes.h>
989 #include <uninorm.h>], [
990 size_t ol = 0;
991 u8_normalize(UNINORM_NFC, (uint8_t *) "x", 2, NULL, &ol);], [
992 AC_DEFINE(HAVE_LIBUNISTRING,1,[Define this to 1 if we have library unistring])
993 cf_try_unistring="yes"],
994 LIBS=$cf_save_LIBS
995 )
996 AC_MSG_RESULT($cf_try_unistring)
997 ])
998 ])
999 fi
1000
1001 # without icuuc try libidn for Internationalized Domain Names / IDN 2003
1002 # TODO: check for libidn2
1003 # get $CFLAGS/$LDFLAGS from pkg-config libidn[2] if possible
1004 if test $cf_try_icuuc = no ; then
1005 AC_CHECK_LIB(idn, stringprep_check_version,
1006 [AC_CHECK_HEADER(stringprep.h,[
1007 AC_DEFINE(HAVE_STRINGPREP_H,1,[Define this to 1 if we have header stringprep.h])
1008 AC_CHECK_HEADER(idna.h, [
1009 AC_DEFINE(HAVE_IDNA_H,1,[Define this to 1 if we have header idna.h])
1010 AC_CHECK_LIB(idn, idna_to_unicode_lzlz, [
1011 AC_DEFINE(HAVE_IDNA_TO_UNICODE_LZLZ,1,[Define this to 1 if we have function idna_to_unicode_lzlz])
1012 AC_MSG_CHECKING(for IDNA_USE_STD3_ASCII_RULES)
1013 AC_EGREP_HEADER(IDNA_USE_STD3_ASCII_RULES, idna.h, [
1014 AC_DEFINE(HAVE_IDNA_USE_STD3_ASCII_RULES,1,[Define this to 1 if we have symbol IDNA_USE_STD3_ASCII_RULES in idna.h])
1015 AC_MSG_RESULT(yes)],
1016 AC_MSG_RESULT(no)
1017 )
1018 ])
1019 AC_CHECK_LIB(idn, idna_strerror, [
1020 AC_DEFINE(HAVE_IDNA_STRERROR,1,[Define this to 1 if we have function idna_strerror])
1021 ])
1022 ])
1023 AC_DEFINE(HAVE_LIBIDN,1,[Define this to 1 if we have library idn])
1024 LIBS="$LIBS -lidn"]
1025 )]
1026 )
1027 fi
1028
1029 # libidnkit - Internationalized Domain Names / IDN 2008
1030 AC_CHECK_LIB(idnkit, idn_decodename, [
1031 AC_CHECK_HEADER(idn/api.h, [
1032 AC_MSG_CHECKING(for IDN_DECODE_LOOKUP)
1033 cf_save_LIBS="$LIBS"
1034 LIBS="$LIBS -lidnkit"
1035 AC_TRY_LINK([#include <idn/api.h>
1036 #include <string.h>], [
1037 idn_result_t rs;
1038 char in[255], out[255];
1039 const char *i = in;
1040 char *o = out;
1041 strcpy(in, "xn--brenfe-fta9a2q.de");
1042 rs = idn_decodename(IDN_DECODE_LOOKUP, i, o, 254);
1043 idn_result_tostring(rs);], [
1044 AC_DEFINE(HAVE_LIBIDNKIT,1,[Define this to 1 if we can link with idnkit library])
1045 AC_DEFINE(HAVE_IDN_API_H,1,[Define this to 1 if we have header idn/api.h])
1046 AC_DEFINE(HAVE_IDN_DECODENAME,1,[Define this to 1 if we have function idn_decodename])
1047 AC_MSG_RESULT(yes)], [
1048 LIBS=$cf_save_LIBS
1049 AC_MSG_RESULT(no)
1050 ])
1051 ])
1052 ])
1053
1054
1055 if test $use_curses != no ; then
1056 cf_cv_termlib=$cf_with_screen
1057 else
1058 CF_TERMCAP_LIBS
1059 # terminfo-based termcap interfaces may be prototyped in <curses.h>,
1060 # which may/may not be compatible with <termcap.h>
1061 AC_MSG_CHECKING(if we should include termcap.h)
1062 cf_save_CFLAGS="$CFLAGS"
1063 CFLAGS="$CFLAGS -I$srcdir/include"
1064 AC_TRY_COMPILE([
1065 #define HAVE_TERMCAP_H 1
1066 #include <tcurses.h>],[
1067 #ifdef NCURSES_VERSION
1068 make an error
1069 #endif
1070 ],
1071 [cf_result=yes],
1072 [cf_result=no])
1073 AC_MSG_RESULT($cf_result)
1074 CFLAGS="$cf_save_CFLAGS"
1075 test $cf_result = yes && AC_DEFINE(HAVE_TERMCAP_H,1,[Define this to 1 if we have non-ncurses header termcap.h])
1076 CF_TYPE_OUTCHAR
1077 fi
1078
1079 cf_tc_funcs=
1080 cf_tc_externs=
1081 if test ".$cf_cv_termlib" = .terminfo ; then
1082 AC_DEFINE(USE_TERMINFO,1,[Define this to 1 if we use terminfo functions for screen management])
1083 cf_tc_funcs="tigetint tigetnum tparam tparm"
1084 cf_tc_externs="$cf_tc_funcs tgoto tigetstr tputs tigetflag"
1085 elif test ".$cf_cv_termlib" = .termcap ; then
1086 # BSD 'tputs()' may need 'PC' to be set.
1087 AC_TRY_LINK([],[extern char PC; PC = 0],
1088 [AC_DEFINE(HAVE_EXTERN_TCAP_PC,1,[Define this if termcap's extern PC exists])])
1089 cf_tc_funcs="tgetint tgetnum tparam tparm"
1090 cf_tc_externs="$cf_tc_funcs tgoto tgetstr tputs tgetent tgetflag"
1091 fi
1092
1093 ### Checks for external-data
1094 CF_ERRNO
1095 CF_STRERROR
1096
1097 ### Checks for library functions.
1098 AC_CHECK_FUNCS(\
1099 alarm \
1100 atoi \
1101 atol \
1102 atoll \
1103 atoq \
1104 bcopy \
1105 chmod \
1106 execlp \
1107 explicit_bzero \
1108 explicit_memset \
1109 fchmod \
1110 fcntl \
1111 fdopen \
1112 fork \
1113 ftime \
1114 ftruncate \
1115 fsync \
1116 getcwd \
1117 gettimeofday \
1118 getwd \
1119 inet_aton \
1120 is_xterm \
1121 isascii \
1122 lockf \
1123 memcmp \
1124 memcpy \
1125 memmove \
1126 memset \
1127 mkdir \
1128 mkfifo \
1129 mktemp \
1130 mkstemp \
1131 nl_langinfo \
1132 poll \
1133 putenv \
1134 rewinddir \
1135 resizeterm \
1136 select \
1137 setenv \
1138 setlocale \
1139 settz \
1140 setvbuf \
1141 sigaction \
1142 snprintf \
1143 stpcpy \
1144 strchr \
1145 strcasecmp \
1146 strcasestr \
1147 strdup \
1148 strftime \
1149 strpbrk \
1150 strrchr \
1151 strrstr \
1152 strsep \
1153 strstr \
1154 strtol \
1155 strtoll \
1156 tmpfile \
1157 tzset \
1158 uname \
1159 unlink \
1160 use_default_colors \
1161 usleep \
1162 vsnprintf \
1163 waitpid \
1164 $cf_tc_funcs )
1165
1166 AC_CHECK_FUNC(flock,
1167 AC_DEFINE(HAVE_FLOCK,1,[Define this to 1 if flock function exists]),[
1168 AC_CHECK_LIB(bsd, flock,
1169 AC_DEFINE(HAVE_FLOCK)
1170 LIBS="$LIBS -lbsd")])
1171
1172 # clock_gettime() / librt
1173 AC_CHECK_FUNC(clock_gettime,
1174 AC_DEFINE(HAVE_CLOCK_GETTIME,1,[Define this to 1 if clock_gettime function exists]),[
1175 AC_CHECK_LIB(rt, clock_gettime,
1176 AC_DEFINE(HAVE_CLOCK_GETTIME)
1177 LIBS="$LIBS -lrt"
1178 )
1179 ]
1180 )
1181
1182 AC_MSG_CHECKING([for memset_s])
1183 AC_TRY_RUN([
1184 /* Request C11 Annex K */
1185 #define __STDC_WANT_LIB_EXT1__ 1
1186 #include <string.h>
1187 #include <stddef.h>
1188 int main()
1189 {
1190 char buf[10] = { 1 };
1191 if (memset_s((void*) buf, (size_t) 100, 0, (size_t) 1))
1192 return(-1);
1193 }],
1194 [
1195 AC_MSG_RESULT([yes])
1196 AC_DEFINE(HAVE_MEMSET_S,1,[Define this to 1 if we have function memset_s])
1197 ],
1198 [AC_MSG_RESULT([no])],
1199 [AC_MSG_RESULT([unknown])]
1200 )
1201
1202 AM_MULTIBYTE_ABLE
1203
1204 AC_MSG_CHECKING(if gettimeofday takes two arguments)
1205 AC_TRY_COMPILE([
1206 #if HAVE_SYS_TIME_H
1207 #include <sys/time.h>
1208 #endif],
1209 [struct timeval *tv;
1210 struct timezone *tz;
1211 gettimeofday(&tv, &tz);],
1212 ac_cv_func_gettimeofday_2args=yes, ac_cv_func_gettimeofday_2args=no)
1213 AC_MSG_RESULT($ac_cv_func_gettimeofday_2args)
1214 if test $ac_cv_func_gettimeofday_2args = yes; then
1215 AC_DEFINE(GETTIMEOFDAY_2ARGS,1,[Define this to 1 if gettimeofday takes two arguments])
1216 fi
1217
1218 CF_POSIX_JC
1219 CF_FUNC_FORK
1220 CF_FUNC_MEMMOVE
1221
1222 AC_MSG_CHECKING(if select expects int * arguments)
1223 AC_EGREP_HEADER([select\(.*, *int *\*,],time.h,
1224 AC_DEFINE(HAVE_SELECT_INTP,1,[Define this to 1 if select expects int * arguments]) AC_MSG_RESULT(yes),
1225 AC_MSG_RESULT(no)
1226 )
1227
1228 AC_FUNC_CLOSEDIR_VOID
1229
1230 # autoconf 2.5x assumes setvbuf is not reversed when cross-compiling
1231 if test "$cross_compiling" != yes ; then
1232 AC_FUNC_SETVBUF_REVERSED
1233 fi
1234
1235 ### Checks for network library functions.
1236 AC_CHECK_FUNCS(\
1237 gai_strerror \
1238 getaddrinfo \
1239 gethostname \
1240 gethostbyname \
1241 getservbyname \
1242 inet_addr \
1243 inet_ntoa \
1244 strncasecmp \
1245 )
1246
1247 CF_TYPE_SIGACTION
1248 CF_TERMIOS
1249 CF_PW_GECOS
1250 CF_TM_GMTOFF
1251
1252 AC_SYS_LONG_FILE_NAMES
1253 CF_FUNC_SYSTEM
1254
1255 # Check if we are trying to use curses+color, but cannot
1256 if test $use_color = yes ; then
1257 if test $use_curses = no ; then
1258 AC_DEFINE(HAVE_COLOR,1,[Define this to 1 if curses supports color])
1259 elif test $cf_with_screen = pdcurses ; then
1260 AC_DEFINE(HAVE_COLOR)
1261 else
1262 CF_NCURSES_BROKEN
1263 CF_COLOR_CURSES
1264 if test $cf_cv_color_curses = yes ; then
1265 AC_DEFINE(HAVE_COLOR)
1266 else
1267 AC_MSG_WARN(This curses library does not support color)
1268 fi
1269 fi
1270 fi
1271
1272 # GCC and Apollo compilers are quite noisy about signal constants (quiet them).
1273 if test -n "$GCC"; then
1274 check_sig_const=yes
1275 elif test -f /sys/dm/dm ; then
1276 check_sig_const=yes
1277 elif test -f /sys/dm/spm ; then
1278 check_sig_const=yes
1279 else
1280 check_sig_const=no
1281 fi
1282
1283 if test $check_sig_const = yes ; then
1284 CF_SIG_CONST
1285 fi
1286
1287 CF_COMPTYPE
1288 CF_COREFILE
1289
1290 ### test this last, since it uses a partly-built autoconf.h
1291 # Setup includes for test-program to verify declarations
1292 CHECK_DECL_FLAG="-I$srcdir/include -I$srcdir/pcre"
1293 CHECK_DECL_HDRS='
1294 #define __CPROTO__
1295 #define HAVE_CONFDEFS_H
1296 #include <tin.h>'
1297 TIN_DECL_HDRS="$CHECK_DECL_HDRS"
1298
1299 dnl These return non-int values, and can be troublesome if not declared
1300 CF_CHECK_DECL(\
1301 errno \
1302 getenv \
1303 getlogin \
1304 getpwnam \
1305 popen \
1306 strchr \
1307 strcasestr \
1308 strsep \
1309 tmpfile \
1310 )
1311
1312 dnl Check network stuff separately, to limit the effect of inconsistent headers
1313 CHECK_DECL_HDRS="$TIN_DECL_HDRS
1314 #include <tnntp.h>"
1315 CF_CHECK_DECL(\
1316 gethostbyname \
1317 getservbyname \
1318 inet_aton \
1319 inet_ntoa \
1320 socket \
1321 )
1322
1323 if test $use_curses = no ; then
1324 CHECK_DECL_HDRS="$TIN_DECL_HDRS
1325 #include <tcurses.h>"
1326 CF_CHECK_DECL(\
1327 tgetstr \
1328 tgoto \
1329 )
1330 fi
1331
1332 if test $with_decl_check = yes; then
1333 CHECK_DECL_HDRS="$TIN_DECL_HDRS"
1334 CF_CHECK_DECL(\
1335 _flsbuf \
1336 alarm \
1337 atoi \
1338 atol \
1339 atoll \
1340 atoq \
1341 bcopy \
1342 bzero \
1343 calloc \
1344 fchmod \
1345 fclose \
1346 fdopen \
1347 fflush \
1348 fgetc \
1349 fileno \
1350 fprintf \
1351 fputc \
1352 fputs \
1353 fread \
1354 free \
1355 fseek \
1356 fwrite \
1357 getcwd \
1358 getopt \
1359 getwd \
1360 heapsort \
1361 ioctl \
1362 isascii \
1363 kill \
1364 malloc \
1365 memset \
1366 mkstemp \
1367 mktemp \
1368 pclose \
1369 perror \
1370 printf \
1371 putenv \
1372 qsort \
1373 realloc \
1374 rename \
1375 rewind \
1376 select \
1377 setenv \
1378 snprintf \
1379 sscanf \
1380 strcasecmp \
1381 strftime \
1382 strncasecmp \
1383 strtol \
1384 strtoll \
1385 system \
1386 time \
1387 tolower \
1388 toupper \
1389 ungetc \
1390 usleep \
1391 vsprintf \
1392 vsnprintf \
1393 )
1394
1395 if test $use_curses = no ; then
1396 CHECK_DECL_HDRS="$TIN_DECL_HDRS
1397 #include <tcurses.h>"
1398 CF_CHECK_DECL($cf_tc_externs)
1399 fi
1400
1401 CHECK_DECL_HDRS="$TIN_DECL_HDRS
1402 #include <tnntp.h>"
1403 CF_CHECK_DECL(\
1404 connect \
1405 gethostname \
1406 )
1407
1408 fi
1409
1410 CF_TIOCGWINSZ
1411
1412 ### append special libraries that get in the way of testing
1413 case $debug_malloc in
1414 DBMALLOC)
1415 AC_DEFINE(USE_DBMALLOC)
1416 LIBS="$LIBS -ldbmalloc"
1417 ;;
1418 DMALLOC)
1419 AC_DEFINE(USE_DMALLOC)
1420 LIBS="$LIBS -ldmalloc"
1421 ;;
1422 esac
1423
1424 ### Use gettext
1425 ### this also calls AM_LANGINFO_CODESET and AM_ICONV
1426 ### so we don't need to do the tests ourselves.
1427 CF_BUNDLED_INTL
1428 LIBS="$LIBS $LIBICONV"
1429
1430 ### check for alloca (required for bison and/or intl/*)
1431 case "$YACC" in
1432 bison*)
1433 use_alloca=yes
1434 ;;
1435 *)
1436 use_alloca=$USE_INCLUDED_LIBINTL
1437 ;;
1438 esac
1439
1440 if test ".$use_alloca" = .yes ; then
1441 CF_FUNC_ALLOCA
1442 else
1443 ALLOCA=""
1444 AC_SUBST(ALLOCA)
1445 fi
1446
1447 # if struct hostent contains h_addr_list or not (SunOS-3.5)
1448 AC_MSG_CHECKING(for h_addr_list in struct hostent)
1449 AC_TRY_COMPILE([
1450 #ifdef HAVE_NETDB_H
1451 #include <netdb.h>
1452 #endif
1453 ],[
1454 struct hostent h;
1455 h.h_addr_list[0]=0;
1456 ],ac_cv_hostent_h_addr_list=yes,ac_cv_hostent_h_addr_list=no)
1457 AC_MSG_RESULT($ac_cv_hostent_h_addr_list)
1458 if test $ac_cv_hostent_h_addr_list = yes; then
1459 AC_DEFINE(HAVE_HOSTENT_H_ADDR_LIST,1,[Define this to 1 if we have h_addr_list in struct hostent])
1460 fi
1461
1462 CF_CHECK_FD_SET
1463
1464 # tolower() is known to be broken on 4.2BSD by
1465 # not checking if input is an uppercase letter
1466 # /* #define tolower(c) ((c)-'A'+'a') */
1467 AC_MSG_CHECKING(for working tolower())
1468 AC_TRY_RUN([
1469 #include <ctype.h>
1470 int main() {
1471 unsigned char str;
1472
1473 for (str = 1; str < 127; str++) {
1474 if ((char) tolower(str) != ((str >= 'A' && str <= 'Z') ? ((unsigned char) (str - 'A' + 'a')) : str))
1475 return 1;
1476 }
1477 return 0;
1478 }],
1479 [
1480 AC_MSG_RESULT(yes)
1481 ],
1482 [
1483 AC_DEFINE(TOLOWER_BROKEN,1,[Define this to 1 if function tolower if broken])
1484 AC_MSG_RESULT(no)
1485 ],
1486 [
1487 AC_MSG_RESULT(unknown)
1488 ]
1489 )
1490
1491 # toupper is known to be broken on 4.2BSD by
1492 # not checking if input is an lowercase letter
1493 # /* #define toupper(c) ((c)-'a'+'A') */
1494 AC_MSG_CHECKING(for working toupper())
1495 AC_TRY_RUN([
1496 #include <ctype.h>
1497 int main() {
1498 unsigned char str;
1499
1500 for (str = 1; str < 127; str++) {
1501 if ((char) toupper(str) != ((str >= 'a' && str <= 'z') ? ((unsigned char) (str - 'a' + 'A')) : str))
1502 return 1;
1503 }
1504 return 0;
1505 }],
1506 [
1507 AC_MSG_RESULT(yes)
1508 ],
1509 [
1510 AC_DEFINE(TOUPPER_BROKEN,1,[Define this to 1 if function toupper if broken])
1511 AC_MSG_RESULT(no)
1512 ],
1513 [
1514 AC_MSG_RESULT(unknown)
1515 ]
1516 )
1517
1518
1519 AC_CACHE_CHECK([for C11 _Noreturn feature], cf_cv_c11_noreturn,
1520 [AC_TRY_COMPILE([
1521 #include <stdio.h>
1522 #include <stdlib.h>
1523 #include <stdnoreturn.h>
1524 static _Noreturn void giveup(void) { exit(0); }
1525 ],
1526 [if (feof(stdin)) giveup()],
1527 cf_cv_c11_noreturn=yes,
1528 cf_cv_c11_noreturn=no)
1529 ])
1530 if test "$cf_cv_c11_noreturn" = yes; then
1531 AC_DEFINE(HAVE_STDNORETURN_H, 1,[Define if <stdnoreturn.h> header is availab and working])
1532 AC_DEFINE_UNQUOTED(STDC_NORETURN,_Noreturn,[Define if C11 _Noreturn keyword is supported])
1533 HAVE_STDNORETURN_H=1
1534 else
1535 HAVE_STDNORETURN_H=0
1536 fi
1537 AC_SUBST(HAVE_STDNORETURN_H)
1538 AC_SUBST(STDC_NORETURN)
1539
1540
1541 CF_CHECK_HEADERS(iconv.h)
1542 AC_MSG_CHECKING(for iconv_open() //TRANSLIT extension)
1543 AC_TRY_RUN([
1544 #ifdef HAVE_ICONV_H
1545 # include <iconv.h>
1546 #endif /* HAVE_ICONV_H */
1547 #ifdef HAVE_STDLIB_H
1548 # include <stdlib.h>
1549 #endif /* HAVE_STDLIB_H */
1550 int main() {
1551 iconv_t cd;
1552
1553 if ((cd = iconv_open("US-ASCII//TRANSLIT", "ISO-8859-1")) == (iconv_t) (-1))
1554 exit(1);
1555 exit(0);
1556 }],
1557 [
1558 AC_DEFINE(HAVE_ICONV_OPEN_TRANSLIT,1,[Define this to 1 if iconv_open() //TRANSLIT extension works])
1559 AC_MSG_RESULT(yes)
1560 ],
1561 [
1562 AC_MSG_RESULT(no)
1563 ],
1564 [
1565 AC_MSG_RESULT(unknown)
1566 ]
1567 )
1568
1569 # FIXME / TESTME
1570 # locale is broken on cygwin < 1.7.0
1571 # group/other bits don't work on cygwin < 1.7.0
1572 # locking doesn't work on cygwin < 2.0 as link(2) is detected but doesn't work
1573 case "$host_os" in
1574 *cygwin*)
1575 case `uname -r | sed 's,(.*,,'` in
1576 B*|1.0-6].*)
1577 # multiple defects
1578 AC_DEFINE(NO_LOCALE,1,[Define this to 1 if locale does not work])
1579 AC_DEFINE(NO_LOCKING,1,[Define this to 1 if locking does not work])
1580 AC_DEFINE(FILE_MODE_BROKEN,1,[Define this to 1 if file-permissions are broken])
1581 ;;
1582 1.7.*)
1583 # link does not work
1584 AC_DEFINE(NO_LOCKING)
1585 ;;
1586 *)
1587 AC_CHECK_FUNC(link, AC_DEFINE(HAVE_LINK,1,[Define this to 1 if we have function link]))
1588 ;;
1589 esac
1590 ;;
1591 *haiku*)
1592 # link does not work
1593 AC_DEFINE(NO_LOCKING)
1594 ;;
1595 *)
1596 AC_CHECK_FUNC(link, AC_DEFINE(HAVE_LINK))
1597 esac
1598
1599 if test "$cf_cv_termlib" = pdcurses ; then
1600 CF_PDCURSES_X11
1601 fi
1602 CF_CURSES_FUNCS(vw_printw get_wch wget_wch)
1603
1604 ### sum up warnings
1605 if test "$cf_cv_termlib" = none ; then
1606 AC_MSG_WARN([no term-lib found, you might run into trouble later.])
1607 fi
1608 if test "$YACC" = "" ; then
1609 AC_MSG_WARN([no yacc-parser found, you might run into trouble later.])
1610 fi
1611 if test "$RANLIB" = "" ; then
1612 AC_MSG_WARN([no library archive builder found, you might run into trouble later.])
1613 fi
1614
1615 ### Finally, build autoconf.h and the makefiles
1616 CFLAGS="$CFLAGS $EXTRA_CFLAGS"
1617
1618 LINTFLAGS=$LINTFLAGS
1619 AC_SUBST(LINTFLAGS)
1620
1621 CF_DEFINE_STRING(TIN_CC, "$CC")
1622 CF_DEFINE_STRING(TIN_CFLAGS, "$CFLAGS")
1623 CF_DEFINE_STRING(TIN_CPP, "$CPP")
1624 CF_DEFINE_STRING(TIN_CPPFLAGS, "$CPPFLAGS")
1625 CF_DEFINE_STRING(TIN_LD, "$CC")
1626 CF_DEFINE_STRING(TIN_LDFLAGS, "$LDFLAGS")
1627 CF_DEFINE_STRING(TIN_LIBS, "$PCREDIR_LIBS $CANLIBS $LIBS")
1628
1629 AC_OUTPUT($PCRE_MAKEFILE
1630 $SUB_MAKEFILE
1631 $CAN_MAKEFILE
1632 src/Makefile)