X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/3a93251e73a05c0b04ea794aa2b5e7f9059b39f8..1c1609b7d05732bd32d1997f005ee3fcb8102488:/configure.ac diff --git a/configure.ac b/configure.ac index 2f6f8e95..3189d209 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.53) +# 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.49c], [bug-bison@gnu.org]) -AC_CONFIG_AUX_DIR(config) +AC_INIT([GNU Bison], [1.875f], [bug-bison@gnu.org]) +AC_CONFIG_AUX_DIR([config]) +AC_CONFIG_MACRO_DIR([m4]) -AM_INIT_AUTOMAKE -AM_CONFIG_HEADER(config.h:config.hin) +# 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([getenv, getopt, free, stpcpy, strchr, strspn, strnlen, - malloc, memchr, memrchr]) -AC_REPLACE_FUNCS(stpcpy strchr strspn memchr memrchr) -jm_FUNC_MALLOC -jm_FUNC_REALLOC -jm_PREREQ_QUOTEARG -jm_PREREQ_ERROR +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]) -# This is necessary so that .o files in LIBOBJS are also built via -# the ANSI2KNR-filtering rules. -LIB@&t@OBJS=`echo $LIB@&t@OBJS|sed 's/\.o /\$U.o /g;s/\.o$/\$U.o/'` -AC_SUBST(LIB@&t@OBJS) +# 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_OUTPUT([Makefile - config/Makefile - po/Makefile.in - data/Makefile - lib/Makefile src/Makefile doc/Makefile - m4/Makefile]) +AC_CONFIG_FILES([Makefile + config/Makefile + po/Makefile.in + data/Makefile + lib/Makefile src/Makefile doc/Makefile]) +AC_OUTPUT