[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
fixed bootstrapping issues with Bison examples
From: |
Paul Eggert |
Subject: |
fixed bootstrapping issues with Bison examples |
Date: |
Thu, 07 Jul 2005 16:20:41 -0700 |
User-agent: |
Gnus/5.1007 (Gnus v5.10.7) Emacs/21.4 (gnu/linux) |
I ran into some problems after "make maintainer-clean" and decided
to modify the recently-added examples so that automatically generated
files are not checked into CVS. Also, "mawk" and any POSIX Awk works.
I installed this:
2005-07-07 Paul Eggert <address@hidden>
* examples/extexi: Clarify that this file is now part of Bison,
not GNU M4, and that it works with any POSIX-compatible Awk.
* examples/calc++/Makefile.am ($(calc_sources_extracted)):
Use $(AWK), not gawk, since any conforming Awk will do.
Put comment before action, since older 'make' can't handle comment
in action.
* examples/.cvsignore, examples/calc++/.cvsignore: New files.
* examples/calc++/calc++-scanner.ll, examples/calc++/calc++.cc:
* examples/calc++/calc++-driver.hh, examples/calc++/calc++-driver.cc:
Remove; autogenerated.
Index: examples/extexi
===================================================================
RCS file: /cvsroot/bison/bison/examples/extexi,v
retrieving revision 1.1
diff -p -u -r1.1 extexi
--- examples/extexi 5 Jul 2005 07:21:30 -0000 1.1
+++ examples/extexi 7 Jul 2005 23:08:49 -0000
@@ -1,7 +1,7 @@
# Extract all examples from the manual source. -*- AWK -*-
-# This file is part of GNU M4
-# Copyright 1992, 2000, 2001 Free Software Foundation, Inc.
+# This file is part of GNU Bison
+# Copyright 1992, 2000, 2001, 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
@@ -18,8 +18,8 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
# 02111-1307 USA
-# This script is for use with any New AWK.
-# Well, now it uses ARGV/ARGC, and I don't know if it's New AWK portable.
+# This script is for use with any Awk that conforms to POSIX.
+# It was derived from a similar script tests/generate.awk in GNU m4.
#
# Usage: extexi input-file.texi ... -- [FILES to extract]
BEGIN {
Index: examples/calc++/Makefile.am
===================================================================
RCS file: /cvsroot/bison/bison/examples/calc++/Makefile.am,v
retrieving revision 1.1
diff -p -u -r1.1 Makefile.am
--- examples/calc++/Makefile.am 6 Jul 2005 07:49:25 -0000 1.1
+++ examples/calc++/Makefile.am 7 Jul 2005 23:08:49 -0000
@@ -32,11 +32,11 @@ $(BISON): $(BISON_IN)
doc = $(top_srcdir)/doc/bison.texinfo
extexi = $(top_srcdir)/examples/extexi
-run_extexi = gawk -f $(extexi)
-$(calc_sources_extracted): $(doc) $(extexi)
# Extract in src.
+$(calc_extracted): $(doc) $(extexi)
cd $(srcdir) && \
- gawk -f ../extexi ../../doc/bison.texinfo -- \
+ $(AWK) -f ../extexi ../../doc/bison.texinfo -- \
+ calc++-parser.yy \
calc++-scanner.ll calc++.cc calc++-driver.hh calc++-driver.cc
@@ -44,9 +44,10 @@ $(calc_sources_extracted): $(doc) $(exte
## Parser generation. ##
## ------------------- ##
-# We do not use Automake features here.
-BUILT_SOURCES = $(calc_sources_generated)
-MAINTAINERCLEANFILES = $(calc_sources_generated)
+BUILT_SOURCES = $(calc_extracted) $(calc_sources_generated)
+CLEANFILES = $(srcdir)/*.output *.tmp
+MAINTAINERCLEANFILES = $(srcdir)/*.stamp \
+ $(calc_extracted) $(calc_sources_generated)
# Compile the parser and save cycles.
# This code comes from "Handling Tools that Produce Many Outputs",
@@ -57,15 +58,12 @@ EXTRA_DIST = $(srcdir)/calc++-parser.sta
$(srcdir)/calc++-parser.stamp: $(srcdir)/calc++-parser.yy $(BISON_IN)
@rm -f calc++-parser.tmp
@touch calc++-parser.tmp
- $(BISON) -S lalr1.cc $(srcdir)/calc++-parser.yy -o
$(srcdir)/calc++-parser.cc -d -ra
+ $(BISON) -d -ra -S lalr1.cc -o $(srcdir)/calc++-parser.cc \
+ $(srcdir)/calc++-parser.yy
@mv -f calc++-parser.tmp $@
-
$(calc_sources_generated): $(srcdir)/calc++-parser.stamp
- @if test -f $@; then :; else x\
- rm -f $(srcdir)/calc++-parser.stamp; \
- $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/calc++-parser.stamp; \
- fi
-
+ rm -f $(srcdir)/calc++-parser.stamp
+ $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/calc++-parser.stamp
## --------------------------- ##
## Building & testing calc++. ##
@@ -74,8 +72,8 @@ $(calc_sources_generated): $(srcdir)/cal
noinst_PROGRAMS = calc++
calc_sources_extracted = $(srcdir)/calc++-scanner.ll $(srcdir)/calc++.cc \
-$(srcdir)/calc++-driver.hh $(srcdir)/calc++-driver.cc
-calc_extracted = $(calc_sources_extracted) calc++-parser.yy
+ $(srcdir)/calc++-driver.hh $(srcdir)/calc++-driver.cc
+calc_extracted = $(calc_sources_extracted) $(srcdir)/calc++-parser.yy
calc_sources_generated = \
$(srcdir)/stack.hh $(srcdir)/position.hh $(srcdir)/location.hh \
$(srcdir)/calc++-parser.hh $(srcdir)/calc++-parser.cc
--- /dev/null 2005-06-27 15:40:05.000000000 -0700
+++ examples/.cvsignore 2005-07-07 09:54:02.000000000 -0700
@@ -0,0 +1,2 @@
+Makefile
+Makefile.in
--- /dev/null 2005-06-27 15:40:05.000000000 -0700
+++ examples/calc++/.cvsignore 2005-07-07 15:59:13.000000000 -0700
@@ -0,0 +1,10 @@
+*.cc
+*.hh
+*.ll
+*.output
+*.stamp
+*.tmp
+.deps
+Makefile
+Makefile.in
+calc++
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- fixed bootstrapping issues with Bison examples,
Paul Eggert <=