(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.
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.
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
- 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.
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.
-
EXTRA_DIST = REFERENCES OChangeLog Makefile.maint GNUmakefile
EXTRA_DIST = REFERENCES OChangeLog Makefile.maint GNUmakefile
+.PHONY: maintainer-check
+maintainer-check:
+ cd tests && $(MAKE) $(AM_MAKEFLAGS) $@
## ---------------------------- ##
## Customizing Makefile.maint. ##
## ---------------------------- ##
## Customizing Makefile.maint. ##
AM_INIT_AUTOMAKE([1.7 check-news readme-alpha dist-bzip2])
AC_CONFIG_HEADERS([config.h:config.hin])
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.
-AM_PROG_LEX
-AC_PROG_YACC
-AC_MINIX
+# Remove with Automake 1.8.
-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
AC_ARG_ENABLE(gcc-warnings,
[ --enable-gcc-warnings turn on lots of GCC warnings (not recommended)],
[case "${enableval}" in
BISON_WARNING(-Wwrite-strings)
fi
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
# Checks for header files.
AC_HEADER_STDC
AM_GNU_GETTEXT(external, need-ngettext)
AM_GNU_GETTEXT_VERSION(0.11.5)
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
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
# 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.
# @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@'
# 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 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
# 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+"$@"}