bug-bison
[Top][All Lists]
Advanced

[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++




reply via email to

[Prev in Thread] Current Thread [Next in Thread]