(O0FLAGS): New.
(VALGRIND, GXX): New.
* tests/atlocal.in (CFLAGS): Use O0FLAGS.
* tests/bison.in: Run $PREBISON a pre-command.
* tests/Makefile.am (maintainer-check, maintainer-check-valgrind)
(maintainer-check-g++): New.
* Makefile.am (maintainer-check): New.
+2002-10-13 Akim Demaille <akim@epita.fr>
+
+ * configure.ac (AC_GNU_SOURCE): Use it instead of hand written code.
+ (O0FLAGS): New.
+ (VALGRIND, GXX): New.
+ * tests/atlocal.in (CFLAGS): Use O0FLAGS.
+ * tests/bison.in: Run $PREBISON a pre-command.
+ * tests/Makefile.am (maintainer-check, maintainer-check-valgrind)
+ (maintainer-check-g++): New.
+ * Makefile.am (maintainer-check): New.
+
2002-10-13 Akim Demaille <akim@epita.fr>
* data/glr.c: Formatting changes.
that 1. Bison compiles cleanly, 2. the parsers it produces compile
cleanly too.
-- Change tests/bison to run `valgrind -q bison' to run Bison under
- Valgrind.
-
-- Run the test suite with `./testsuite PREPARSER='valgrind -q' to make
- sure the parser behave properly.
+- run `make maintainer-check' which:
+ - runs `valgrind -q bison' to run Bison under Valgrind.
+ - runs the parsers under Valdrind.
+ - runs the test suite with G++ as C compiler...
- Change tests/atlocal/CFLAGS to add your preferred options. For
instance, `-traditional' to check that the parsers are K&R. Note
but currently is actually GNU C, nor for lalr1.cc, which anyway is
not exercised yet in the test suite.
-- Change tests/atlocal/CC to use a C++ compiler.
-
* Release Procedure
EXTRA_DIST = REFERENCES OChangeLog Makefile.maint GNUmakefile
+.PHONY: maintainer-check
+maintainer-check:
+ cd tests && $(MAKE) $(AM_MAKEFLAGS) $@
## ---------------------------- ##
## Customizing Makefile.maint. ##
AM_INIT_AUTOMAKE([1.7 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])
-
-# Checks for programs.
+# Checks for the compiler.
AC_PROG_CC
-AM_PROG_LEX
-AC_PROG_YACC
-AC_MINIX
+# Remove with Automake 1.8.
AC_ISC_POSIX
+AC_GNU_SOURCE
+AC_MINIX
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
BISON_WARNING(-Wwrite-strings)
fi
-# Checks for libraries.
-AC_DEFINE([_GNU_SOURCE],1,[Define to 1 for GNU C library extensions.])
+# Checks for programs.
+AM_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
AM_GNU_GETTEXT(external, need-ngettext)
AM_GNU_GETTEXT_VERSION(0.11.5)
+# 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_CHECK_PROGS([GXX], [g++])
+AM_MISSING_PROG([AUTOM4TE], [autom4te])
+# Needed by tests/atlocal.in.
+AC_SUBST([GCC])
+O0CFLAGS=`echo $CFLAGS | sed 's/-O[0-9] *//'`
+AC_SUBST([O0CFLAGS])
+
AC_CONFIG_FILES([Makefile
config/Makefile
po/Makefile.in
# Run the test suite on the *installed* tree.
installcheck-local:
$(SHELL) $(TESTSUITE) AUTOTEST_PATH=$(exec_prefix)/bin
+
+# Be real mean with it.
+.PHONY: maintainer-check-valgrind
+maintainer-check-valgrind: $(TESTSUITE)
+ if test -n "$(VALGRIND)"; then \
+ $(TESTSUITE) PREBISON='$(VALGRIND) -q' PREPARSER='$(VALGRIND) -q'; \
+ else \
+ true; \
+ fi
+
+.PHONY: maintainer-check-g++
+maintainer-check-g++: $(TESTSUITE)
+ if test -n "$(VALGRIND)"; then \
+ $(TESTSUITE) CC='$(GXX)' \
+ else \
+ true; \
+ fi
+
+.PHONY: maintainer-check
+maintainer-check: maintainer-check-valgrind maintainer-check-g++
# @configure_input@ -*- shell-script -*-
# Configurable variable values for Bison test suite.
-# Copyright 2000, 2001, 2002 Free Software Foundation, Inc.
+# Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
# We need a C compiler.
CC='@CC@'
-CFLAGS='@CFLAGS@ @WARNING_CFLAGS@ @WERROR_CFLAGS@'
+
+# We want no optimization.
+CFLAGS='@O0CFLAGS@ @WARNING_CFLAGS@ @WERROR_CFLAGS@'
# We need `config.h'.
CPPFLAGS="-I$abs_top_builddir @CPPFLAGS@"
# We want to use the files shipped with Bison.
BISON_PKGDATADIR='@abs_top_srcdir@/data'
export BISON_PKGDATADIR
-exec '@abs_top_builddir@/src/bison' ${1+"$@"}
+exec $PREBISON '@abs_top_builddir@/src/bison' ${1+"$@"}