X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/a337a5eb7e7f570dd2aa49c6ab04782dea6a9fd0..146bc99dcff7233ab13be33447cc63a22cf4c908:/configure.ac diff --git a/configure.ac b/configure.ac index 81f0850b..4b3737f9 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ # Configure template for GNU Bison. -*-Autoconf-*- # -# Copyright (C) 2001, 2002 Free Software Foundation, Inc. +# Copyright (C) 2001, 2002, 2003, 2004 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 @@ -17,37 +17,25 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA # 02111-1307 USA -# We need a recent Autoconf to run a recent Autotest. -AC_PREREQ(2.54) +# This file uses AC_CONFIG_MACRO_DIR, so we need Autoconf 2.58 or better. +# But Autoconf 2.58 has a bug in the way that it generates tests: it +# puts the wrong absolute path names in the tests. So we need at +# least Autoconf 2.59. +AC_PREREQ(2.59) -AC_INIT([GNU Bison], [1.50], [bug-bison@gnu.org]) -AC_CONFIG_AUX_DIR(config) +AC_INIT([GNU Bison], [1.875e], [bug-bison@gnu.org]) +AC_CONFIG_AUX_DIR([config]) +AC_CONFIG_MACRO_DIR([m4]) -AM_INIT_AUTOMAKE([1.7 check-news readme-alpha dist-bzip2]) +# We don't have a file m4/Makefile.am, so we need Automake 1.8 or later. +AM_INIT_AUTOMAKE([1.8 check-news readme-alpha dist-bzip2]) AC_CONFIG_HEADERS([config.h:config.hin]) -# Initialize the test suite. -AC_CONFIG_TESTDIR(tests) -AC_CONFIG_FILES([tests/Makefile tests/atlocal]) -AC_CONFIG_FILES([tests/bison], [chmod +x tests/bison]) -# Needed by tests/atlocal.in. -AC_SUBST([GCC]) +gl_USE_SYSTEM_EXTENSIONS -# Checks for programs. +# Checks for the compiler. AC_PROG_CC -AM_PROG_LEX -AC_PROG_YACC -AC_MINIX -AC_ISC_POSIX AM_PROG_CC_STDC -AC_PROG_RANLIB -AM_MISSING_PROG([AUTOM4TE], [autom4te]) -BISON_PROG_GNU_M4 -if test x"$ac_cv_prog_gnu_m4" != xyes; then - AC_MSG_ERROR([GNU M4 1.4 is required]) -fi -AC_DEFINE_UNQUOTED([M4], ["$M4"], [Define to the GNU M4 executable name.]) - AC_ARG_ENABLE(gcc-warnings, [ --enable-gcc-warnings turn on lots of GCC warnings (not recommended)], [case "${enableval}" in @@ -59,61 +47,87 @@ if test "${enableval}" = yes; then BISON_WARNING(-Werror) AC_SUBST([WERROR_CFLAGS], [$WARNING_CFLAGS]) WARNING_CFLAGS= - BISON_WARNING(-Wall) BISON_WARNING(-W) - BISON_WARNING(-Wbad-function-cast) + BISON_WARNING(-Wall) BISON_WARNING(-Wcast-align) BISON_WARNING(-Wcast-qual) BISON_WARNING(-Wformat) + BISON_WARNING(-Wwrite-strings) + AC_SUBST([WARNING_CXXFLAGS], [$WARNING_CFLAGS]) + # The following warnings are not suitable for C++. + BISON_WARNING(-Wbad-function-cast) BISON_WARNING(-Wmissing-declarations) BISON_WARNING(-Wmissing-prototypes) BISON_WARNING(-Wnested-externs) BISON_WARNING(-Wshadow) BISON_WARNING(-Wstrict-prototypes) - BISON_WARNING(-Wwrite-strings) + AC_DEFINE([lint], 1, [Define to 1 if the compiler is checking for lint.]) fi -# Checks for libraries. -AC_DEFINE([_GNU_SOURCE],1,[Define to 1 for GNU C library extensions.]) +AC_ARG_ENABLE([yacc], + [AC_HELP_STRING([--disable-yacc], + [do not build a yacc command or an -ly library])], + , [enable_yacc=yes]) +case $enable_yacc in +yes) + YACC_SCRIPT=yacc + YACC_LIBRARY=liby.a;; +*) + YACC_SCRIPT= + YACC_LIBRARY=;; +esac +AC_SUBST([YACC_SCRIPT]) +AC_SUBST([YACC_LIBRARY]) + +# Checks for programs. +AC_PROG_LEX +AC_PROG_YACC +AC_PROG_RANLIB +BISON_PROG_GNU_M4 +if test x"$ac_cv_prog_gnu_m4" != xyes; then + AC_MSG_ERROR([GNU M4 1.4 is required]) +fi +AC_DEFINE_UNQUOTED([M4], ["$M4"], [Define to the GNU M4 executable name.]) # Checks for header files. -AC_HEADER_STDC -AC_CHECK_HEADERS([ctype.h locale.h memory.h stdlib.h string.h unistd.h]) +AC_CHECK_HEADERS_ONCE([locale.h]) +AM_STDBOOL_H # Checks for compiler characteristics. -AC_C_CONST AC_C_INLINE -AM_C_PROTOTYPES + +# Checks for types. +AC_CHECK_TYPES([uintptr_t]) # Checks for library functions. -AC_FUNC_ALLOCA -AC_FUNC_OBSTACK -AC_FUNC_ERROR_AT_LINE -AC_FUNC_STRNLEN -UTILS_FUNC_MKSTEMP -AC_CHECK_FUNCS(setlocale) -AC_CHECK_DECLS([free, getenv, getopt, - stpcpy, strchr, strspn, strnlen, - malloc, memchr, memrchr]) -AC_REPLACE_FUNCS(memchr memrchr \ - strchr stpcpy strrchr strspn strtol) -AC_FUNC_MALLOC -AC_FUNC_REALLOC -jm_PREREQ_QUOTEARG -jm_FUNC_ARGMATCH -jm_PREREQ_ERROR -jm_PREREQ_TEMPNAME +AC_CHECK_FUNCS_ONCE([setlocale]) AM_WITH_DMALLOC +BISON_PREREQ_SUBPIPE BISON_PREREQ_TIMEVAR -# Gettext. -AM_GNU_GETTEXT(external, need-ngettext) -AM_GNU_GETTEXT_VERSION(0.11.5) +# gnulib and gettext. +GNULIB_AUTOCONF_SNIPPET +# We use po/Makevars.template, so we need at least gettext 0.12. +AM_GNU_GETTEXT_VERSION([0.12]) + +# Initialize the test suite. +AC_CONFIG_TESTDIR(tests) +AC_CONFIG_FILES([tests/Makefile tests/atlocal]) +AC_CONFIG_FILES([tests/bison], [chmod +x tests/bison]) +AC_CHECK_PROGS([VALGRIND], [valgrind]) +AC_PROG_CXX +BISON_TEST_FOR_WORKING_CXX_COMPILER +AM_MISSING_PROG([AUTOM4TE], [autom4te]) +# Needed by tests/atlocal.in. +AC_SUBST([GCC]) +O0CFLAGS=`echo $CFLAGS | sed 's/-O[0-9] *//'` +AC_SUBST([O0CFLAGS]) +O0CXXFLAGS=`echo $CXXFLAGS | sed 's/-O[0-9] *//'` +AC_SUBST([O0CXXFLAGS]) AC_CONFIG_FILES([Makefile config/Makefile po/Makefile.in data/Makefile - lib/Makefile src/Makefile doc/Makefile - m4/Makefile]) + lib/Makefile src/Makefile doc/Makefile]) AC_OUTPUT