* Release 1.4.2.
[m4.git] / configure.in
blobc1d37587278f28c39aca417ce799f95aed68a0f7
1 # Configure template for GNU m4.
2 # Copyright (C) 1991, 1993, 1994, 2004 Free Software Foundation, Inc.
3 # Process this file with autoconf to produce a configure script.
5 AC_INIT(src/m4.c)
6 AC_CONFIG_HEADER(config.h)
7 AC_ARG_PROGRAM
9 PRODUCT=m4
10 VERSION=1.4.2
11 AC_DEFINE_UNQUOTED(PRODUCT, "$PRODUCT")
12 AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
13 AC_SUBST(PRODUCT)
14 AC_SUBST(VERSION)
16 AC_PROG_AWK
17 AC_PROG_CC
18 AC_PROG_INSTALL
19 AC_PROG_MAKE_SET
20 AC_PROG_RANLIB
22 AC_AIX
23 AC_ISC_POSIX
24 AC_MINIX
25 fp_C_PROTOTYPES
26 AC_C_CONST
28 AC_CHECK_HEADERS(limits.h memory.h siginfo.h string.h unistd.h)
29 AC_HEADER_STDC
30 AC_TYPE_SIGNAL
31 AC_TYPE_SIZE_T
33 AC_CHECK_FUNCS(mkstemp sigaction sigaltstack sigstack sigvec strerror tmpfile)
34 AC_FUNC_ALLOCA
35 AC_FUNC_VPRINTF
36 AC_REPLACE_FUNCS(strtol)
37 AC_MSG_CHECKING(ecvt declaration)
38 AC_EGREP_HEADER(ecvt, stdlib.h,
39   [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_EFGCVT, 2)],
40   [AC_MSG_RESULT(no); AC_CHECK_FUNCS(ecvt)])
42 AC_MSG_CHECKING(if stack overflow is detectable)
43 # Code from Jim Avera <jima@netcom.com>.
44 # stackovf.c requires:
45 #  1. Either sigaction with SA_ONSTACK, or sigvec with SV_ONSTACK
46 #  2. Either sigaltstack or sigstack
47 #  3. getrlimit, including support for RLIMIT_STACK
48 use_stackovf=no
49 if test "$ac_cv_func_sigaction" = yes || test "$ac_cv_func_sigvec" = yes; then
50   if test "$ac_cv_func_sigaltstack" = yes || test "$ac_cv_func_sigstack" = yes; then
51     AC_TRY_LINK([#include <sys/time.h>
52 #include <sys/resource.h>
53 #include <signal.h>],
54       [struct rlimit r; int i; getrlimit (RLIMIT_STACK, &r)
55 #if (!defined(HAVE_SIGACTION) || !defined(SA_ONSTACK)) \
56     && (!defined(HAVE_SIGVEC) || !defined(SV_ONSTACK))
57 choke me                /* SA_ONSTACK and/or SV_ONSTACK are not defined */
58 #endif],
59       use_stackovf=yes)
60   fi
62 AC_MSG_RESULT($use_stackovf)
63 if test "$use_stackovf" = yes; then
64   AC_DEFINE(USE_STACKOVF)
65   STACKOVF=stackovf.${U}o
66   AC_SUBST(STACKOVF)
67   AC_EGREP_HEADER(rlim_t, sys/resource.h, , AC_DEFINE(rlim_t, int))
68   AC_EGREP_HEADER(stack_t, signal.h, , AC_DEFINE(stack_t, struct sigaltstack))
69   AC_EGREP_HEADER(sigcontext, signal.h, AC_DEFINE(HAVE_SIGCONTEXT))
72 AC_MSG_CHECKING(if changeword is wanted)
73 AC_ARG_ENABLE(changeword,
74 [  --enable-changeword     enable -W and changeword() builtin],
75 [if test "$enableval" = yes; then
76   AC_MSG_RESULT(yes)
77   AC_DEFINE(ENABLE_CHANGEWORD)
78 else
79   AC_MSG_RESULT(no)
80 fi], [AC_MSG_RESULT(no)])
82 fp_WITH_DMALLOC
84 AC_OUTPUT(Makefile doc/Makefile lib/Makefile src/Makefile \
85 checks/Makefile examples/Makefile,
86 [test -z "$CONFIG_HEADERS" || date > stamp-h])