summaryrefslogtreecommitdiff
path: root/configure.ac
blob: 85d07af3d6b28f35fc03956dff956f2124848d54 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# Configure template for GNU M4.			-*-Autoconf-*-
# Copyright (C) 1991, 1993, 1994, 2004, 2005 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
# 02111-1307  USA


AC_INIT([GNU M4], [1.4.3], [bug-m4@gnu.org])
PACKAGE=$PACKAGE_TARNAME; AC_SUBST(PACKAGE)
VERSION=$PACKAGE_VERSION; AC_SUBST(VERSION)

AC_CONFIG_SRCDIR([src/m4.h])
AC_CONFIG_HEADERS([config.h:config-h.in])
AC_ARG_PROGRAM

AC_PROG_AWK
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_MAKE_SET
AC_PROG_RANLIB

AC_AIX
AC_ISC_POSIX
AC_MINIX
fp_C_PROTOTYPES
AC_C_CONST

AC_CHECK_HEADERS([limits.h memory.h siginfo.h string.h unistd.h])
AC_CHECK_HEADERS([signal.h sys/signal.h], [break])
AC_HEADER_STDC
AC_TYPE_SIGNAL
AC_TYPE_SIZE_T

AC_CHECK_FUNCS([mkstemp sigaction sigaltstack sigstack sigvec strerror tmpfile])
AC_FUNC_ALLOCA
AC_FUNC_VPRINTF
AC_REPLACE_FUNCS([strtol])


AC_MSG_CHECKING([ecvt declaration])
AC_EGREP_HEADER([ecvt], [stdlib.h],
  [AC_MSG_RESULT(yes)
   AC_DEFINE([HAVE_EFGCVT], [2],
     [Define to 1 if you have ecvt(3), fcvt(3) and gcvt(3).  Define to 2 if they are declared in stdlib.h])
  ],
  [AC_MSG_RESULT(no); AC_CHECK_FUNCS(ecvt)])


AC_MSG_CHECKING(if stack overflow is detectable)
# Code from Jim Avera <jima@netcom.com>.
# stackovf.c requires:
#  1. Either sigaction with SA_ONSTACK, or sigvec with SV_ONSTACK
#  2. Either sigaltstack or sigstack
#  3. getrlimit, including support for RLIMIT_STACK
use_stackovf=no
if test "$ac_cv_func_sigaction" = yes || test "$ac_cv_func_sigvec" = yes; then
  if test "$ac_cv_func_sigaltstack" = yes || test "$ac_cv_func_sigstack" = yes; then
    AC_TRY_LINK([#include <sys/time.h>
#include <sys/resource.h>
#include <signal.h>],
      [struct rlimit r; int i; getrlimit (RLIMIT_STACK, &r)
#if (!defined(HAVE_SIGACTION) || !defined(SA_ONSTACK)) \
    && (!defined(HAVE_SIGVEC) || !defined(SV_ONSTACK))
choke me		/* SA_ONSTACK and/or SV_ONSTACK are not defined */
#endif],
      use_stackovf=yes)
  fi
fi
AC_MSG_RESULT($use_stackovf)
if test "$use_stackovf" = yes; then
  AC_DEFINE([USE_STACKOVF], [1],
    [Define to 1 if using stack overflow detection])
  STACKOVF=stackovf.${U}o
  AC_SUBST(STACKOVF)
  AC_EGREP_HEADER([rlim_t], [sys/resource.h], [],
    [AC_DEFINE([rlim_t], [int],
      [Define to int if rlim_t is not defined in sys/resource.h])
  ])
  AC_EGREP_HEADER([stack_t], [signal.h], [],
    [AC_DEFINE([stack_t], [struct sigaltstack],
      [Define to struct sigaltstack if stack_t is not in sys/signal.h])
  ])
  AC_EGREP_HEADER([sigcontext], [signal.h],
    [AC_DEFINE([HAVE_SIGCONTEXT], [1],
      [Define to 1 if signal.h declares struct sigcontext])
  ])
fi

AC_MSG_CHECKING([[if changeword is wanted]])
AC_ARG_ENABLE([changeword],
  [[  --enable-changeword     enable -W and changeword() builtin]],
  [if test "$enableval" = yes; then
    AC_MSG_RESULT(yes)
    AC_DEFINE([ENABLE_CHANGEWORD], [1],
      [Define to 1 if the changeword(REGEXP) functionality is wanted])
  else
    AC_MSG_RESULT(no)
  fi], [AC_MSG_RESULT(no)])

fp_WITH_DMALLOC

AC_CONFIG_FILES([stamp-h], [[test -z "$CONFIG_HEADERS" || date > stamp-h]])

AC_CONFIG_FILES([Makefile
		 doc/Makefile
		 lib/Makefile
		 src/Makefile
		 checks/Makefile
		 examples/Makefile
])

AC_OUTPUT