diff options
author | Akim Demaille <akim.demaille@gmail.com> | 2018-11-06 07:41:58 +0100 |
---|---|---|
committer | Akim Demaille <akim.demaille@gmail.com> | 2018-11-06 13:23:13 +0100 |
commit | 4fd1fc70e08b0411e33ff8f049c2cc2607152961 (patch) | |
tree | 05170437df627264dd4711974223e9a243ced57c /examples | |
parent | e02ce4c7f09dcdbdcf91813fc29f855c691b15b7 (diff) | |
download | bison-4fd1fc70e08b0411e33ff8f049c2cc2607152961.tar.gz |
examples: ship them
Currently, the examples are extracted on the user's side.
Unfortunately, that requires that the user has Perl, which is
otherwise not needed for Bison. Let's ship the examples instead.
The examples were handled this way so that we could depend on
configure flags: if --enable-gcc-warnings is passed, it is understood
as "I'm a maintainer", so the examples are generated with `#line`s.
Regular users should not see them, so they are now unconditionally
removed when rolling a tarball.
Reported by Mike Frysinger.
https://lists.gnu.org/archive/html/bison-patches/2015-04/msg00000.html
* examples/local.mk: Ship all the extracted files.
(examples-unline): New.
Make sure that the generated tarballs do not contain the #lines.
Diffstat (limited to 'examples')
-rw-r--r-- | examples/local.mk | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/examples/local.mk b/examples/local.mk index c2a2ba28..738293d6 100644 --- a/examples/local.mk +++ b/examples/local.mk @@ -30,7 +30,8 @@ EXTEXIFLAGS = --synclines endif extract = VERSION="$(VERSION)" $(PERL) $(extexi) $(EXTEXIFLAGS) $(doc) -- extracted = -CLEANFILES += $(extracted) %D%/extracted.stamp +EXTRA_DIST += $(extracted) +MAINTAINERCLEANFILES += $(extracted) %D%/extracted.stamp %D%/extracted.stamp: $(doc) $(extexi) $(AM_V_GEN)rm -f $@ $@.tmp $(AM_V_at)$(MKDIR_P) %D% @@ -42,11 +43,33 @@ $(extracted): %D%/extracted.stamp @test -f $@ || rm -f %D%/extracted.stamp @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) %D%/extracted.stamp + +## ------ ## +## Dist. ## +## ------ ## + +# Ship the stamp file, otherwise it will be recreated, which is what +# we want to avoid. +EXTRA_DIST += %D%/extracted.stamp + +# Suppress the #lines from the examples when rolling the tarball, so +# that regular users have readable examples even before installing +# Bison. +dist-hook: examples-unline +.PHOMY: examples-unline +examples-unline: + for e in $(extracted); \ + do \ + e=$(distdir)/$$e; \ + sed -e '/#line/d' $$e >$$e.tmp; \ + mv -f $$e.tmp $$e; \ + done + + ## ---------- ## ## Examples. ## ## ---------- ## - examplesdir = $(docdir)/examples dist_examples_DATA = %D%/README |