diff options
-rw-r--r-- | Makefile.am | 11 | ||||
-rw-r--r-- | configure.ac | 3 | ||||
-rw-r--r-- | examples/calc++/.gitignore | 2 | ||||
-rw-r--r-- | examples/calc++/local.mk (renamed from examples/calc++/Makefile.am) | 80 | ||||
-rwxr-xr-x | examples/calc++/test | 2 | ||||
-rw-r--r-- | examples/local.mk | 2 | ||||
-rw-r--r-- | src/local.mk | 5 | ||||
-rw-r--r-- | tests/local.mk | 2 |
8 files changed, 52 insertions, 55 deletions
diff --git a/Makefile.am b/Makefile.am index 097a6349..6220276f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -18,9 +18,6 @@ ACLOCAL_AMFLAGS = -I m4 SUBDIRS = po runtime-po . -if BISON_CXX_WORKS -SUBDIRS += examples/calc++ -endif # Files installed for use by Automake. aclocaldir = @aclocaldir@ @@ -29,9 +26,15 @@ aclocal_DATA = m4/bison-i18n.m4 EXTRA_DIST = .prev-version .version \ cfg.mk ChangeLog-1998 ChangeLog-2012 PACKAGING +## Running the bison from this tarball. To generate our own parser, +## but also to run the tests. +BISON = $(top_builddir)/tests/bison +BISON_IN = $(top_srcdir)/tests/bison.in + # Initialization before completion by local.mk's. AM_CFLAGS = $(WARN_CFLAGS) -AM_CPPFLAGS = +# Find builddir/src/scan-code.c etc. +AM_CPPFLAGS = -I. -Ilib -I$(top_srcdir) -I$(top_srcdir)/lib BUILT_SOURCES = DISTCLEANFILES = MOSTLYCLEANFILES = diff --git a/configure.ac b/configure.ac index 80c2e99c..c51d2dd5 100644 --- a/configure.ac +++ b/configure.ac @@ -45,7 +45,7 @@ AC_CONFIG_MACRO_DIR([m4]) # releases, we want to be able run make dist without being required to # add a bogus NEWS entry. In that case, the version string # automatically contains a dash, which we also let disable gnits. -AM_INIT_AUTOMAKE([1.11.1 dist-xz silent-rules] +AM_INIT_AUTOMAKE([1.11.1 dist-xz nostdinc silent-rules] m4_bmatch(m4_defn([AC_PACKAGE_VERSION]), [[-_]], [gnu], [gnits])) AM_SILENT_RULES([yes]) @@ -181,6 +181,5 @@ do done AC_CONFIG_FILES([Makefile po/Makefile.in - examples/calc++/Makefile doc/yacc.1]) AC_OUTPUT diff --git a/examples/calc++/.gitignore b/examples/calc++/.gitignore index 2050491f..6dc7e2f3 100644 --- a/examples/calc++/.gitignore +++ b/examples/calc++/.gitignore @@ -7,7 +7,5 @@ /*.tmp /*.yy /.deps -/Makefile -/Makefile.in /calc++ /calc++.exe diff --git a/examples/calc++/Makefile.am b/examples/calc++/local.mk index 9120d754..affb9c30 100644 --- a/examples/calc++/Makefile.am +++ b/examples/calc++/local.mk @@ -15,16 +15,6 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. -## ------------------------------------- ## -## Running the bison from this tarball. ## -## ------------------------------------- ## - -BISON = $(top_builddir)/tests/bison -BISON_IN = $(top_srcdir)/tests/bison.in - -$(BISON): $(BISON_IN) - $(AM_V_GEN)cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) tests/bison - ## ------------ ## ## Extracting. ## ## ------------ ## @@ -32,46 +22,45 @@ $(BISON): $(BISON_IN) doc = $(top_srcdir)/doc/bison.texinfo extexi = $(top_srcdir)/examples/extexi # Extract in src. -$(srcdir)/calc.stamp: $(doc) $(extexi) +$(top_srcdir)/examples/calc++/calc.stamp: $(doc) $(extexi) $(AM_V_GEN)rm -f $@ $@.tmp $(AM_V_at)touch $@.tmp - $(AM_V_at)cd $(srcdir) && \ + $(AM_V_at)cd $(top_srcdir)/examples/calc++ && \ $(AWK) -f ../extexi -v VERSION="$(VERSION)" \ ../../doc/bison.texinfo -- calc++-parser.yy \ calc++-scanner.ll calc++.cc calc++-driver.hh calc++-driver.cc $(AM_V_at)mv $@.tmp $@ -$(calc_extracted): $(srcdir)/calc.stamp +$(calc_extracted): $(top_srcdir)/examples/calc++/calc.stamp ## ------------------- ## ## Parser generation. ## ## ------------------- ## -DEFAULT_INCLUDES = -I. -I$(srcdir) -BUILT_SOURCES = $(calc_extracted) $(calc_sources_generated) -CLEANFILES = $(srcdir)/*.output *.tmp -MAINTAINERCLEANFILES = $(srcdir)/*.stamp $(BUILT_SOURCES) +BUILT_SOURCES += $(calc_extracted) $(calc_sources_generated) +CLEANFILES += $(top_srcdir)/examples/calc++/*.output *.tmp +MAINTAINERCLEANFILES += $(top_srcdir)/examples/calc++/*.stamp $(calc___SOURCES) # Compile the parser and save cycles. # This code comes from "Handling Tools that Produce Many Outputs", # from the Automake documentation. -EXTRA_DIST = \ - $(srcdir)/calc++-parser.stamp \ - $(srcdir)/calc++-parser.yy \ - $(srcdir)/calc.stamp +EXTRA_DIST += \ + examples/calc++/calc++-parser.stamp \ + examples/calc++/calc++-parser.yy \ + examples/calc++/calc.stamp # Don't depend on $(BISON) otherwise we would rebuild these files # in srcdir, including during distcheck, which is forbidden. -$(srcdir)/calc++-parser.stamp: $(srcdir)/calc++-parser.yy $(BISON_IN) +$(top_srcdir)/examples/calc++/calc++-parser.stamp: $(top_srcdir)/examples/calc++/calc++-parser.yy $(BISON_IN) $(AM_V_GEN)rm -f calc++-parser.tmp $(AM_V_at)touch calc++-parser.tmp - $(AM_V_at)$(BISON) -d -ra -o $(srcdir)/calc++-parser.cc \ - $(srcdir)/calc++-parser.yy + $(AM_V_at)$(BISON) -d -ra -o $(top_srcdir)/examples/calc++/calc++-parser.cc \ + $(top_srcdir)/examples/calc++/calc++-parser.yy $(AM_V_at)mv -f calc++-parser.tmp $@ -$(calc_sources_generated): $(srcdir)/calc++-parser.stamp +$(calc_sources_generated): $(top_srcdir)/examples/calc++/calc++-parser.stamp $(AM_V_GEN)if test -f $@; then :; else \ - rm -f $(srcdir)/calc++-parser.stamp && \ - $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/calc++-parser.stamp; \ + rm -f $(top_srcdir)/examples/calc++/calc++-parser.stamp && \ + $(MAKE) $(AM_MAKEFLAGS) $(top_srcdir)/examples/calc++/calc++-parser.stamp; \ fi @@ -79,16 +68,27 @@ $(calc_sources_generated): $(srcdir)/calc++-parser.stamp ## Building & testing calc++. ## ## --------------------------- ## -check_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) $(srcdir)/calc++-parser.yy -calc_sources_generated = \ - $(srcdir)/stack.hh $(srcdir)/position.hh $(srcdir)/location.hh \ - $(srcdir)/calc++-parser.hh $(srcdir)/calc++-parser.cc - -calc___SOURCES = $(calc_sources_extracted) $(calc_sources_generated) - -TESTS = test -EXTRA_DIST += $(TESTS) +calc_sources_extracted = \ + examples/calc++/calc++-scanner.ll \ + examples/calc++/calc++.cc \ + examples/calc++/calc++-driver.hh \ + examples/calc++/calc++-driver.cc +calc_extracted = \ + $(calc_sources_extracted) \ + examples/calc++/calc++-parser.yy +calc_sources_generated = \ + examples/calc++/stack.hh \ + examples/calc++/position.hh \ + examples/calc++/location.hh \ + examples/calc++/calc++-parser.hh \ + examples/calc++/calc++-parser.cc + +if BISON_CXX_WORKS +check_PROGRAMS = examples/calc++/calc++ +examples_calc___calc___SOURCES = \ + $(calc_sources_extracted) \ + $(calc_sources_generated) +examples_calc___calc___CPPFLAGS = -I$(top_srcdir)/examples/calc++ +TESTS = examples/calc++/test +endif +EXTRA_DIST += examples/calc++/test diff --git a/examples/calc++/test b/examples/calc++/test index 27012239..150f161c 100755 --- a/examples/calc++/test +++ b/examples/calc++/test @@ -37,7 +37,7 @@ run () shift local out_exp=$1 shift - ./calc++ "$@" input >out_eff + ./examples/calc++/calc++ "$@" input >out_eff local sta_eff=$? local out_eff=`cat out_eff` if test $sta_eff -eq $sta_exp; then diff --git a/examples/local.mk b/examples/local.mk index 64afdbb8..6da395df 100644 --- a/examples/local.mk +++ b/examples/local.mk @@ -14,3 +14,5 @@ ## along with this program. If not, see <http://www.gnu.org/licenses/>. dist_noinst_SCRIPTS = examples/extexi + +include examples/calc++/local.mk diff --git a/src/local.mk b/src/local.mk index 36c0ac7d..69592780 100644 --- a/src/local.mk +++ b/src/local.mk @@ -15,15 +15,10 @@ AUTOMAKE_OPTIONS = subdir-objects -AM_CPPFLAGS += -I$(top_srcdir)/lib -# Find builddir/src/scan-code.c etc. -AM_CPPFLAGS += -I$(top_builddir) - LDADD = lib/libbison.a $(LIBINTL) # Use our own Bison to build the parser. Of course, you ought to # keep a sane version of Bison nearby... -BISON = tests/bison YACC = $(BISON) -y AM_YFLAGS = -dv --warnings=all,error --report=all diff --git a/tests/local.mk b/tests/local.mk index 18734f37..5bb587d6 100644 --- a/tests/local.mk +++ b/tests/local.mk @@ -83,7 +83,7 @@ check-local: tests/atconfig tests/atlocal $(TESTSUITE) # Move into tests/ so that testsuite.dir etc. be created there. $(RUN_TESTSUITE) -check_SCRIPTS = tests/bison +check_SCRIPTS = $(BISON) # Run the test suite on the *installed* tree. installcheck-local: |