summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorAkim Demaille <akim.demaille@gmail.com>2018-11-06 07:41:58 +0100
committerAkim Demaille <akim.demaille@gmail.com>2018-11-06 13:23:13 +0100
commit4fd1fc70e08b0411e33ff8f049c2cc2607152961 (patch)
tree05170437df627264dd4711974223e9a243ced57c /examples
parente02ce4c7f09dcdbdcf91813fc29f855c691b15b7 (diff)
downloadbison-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.mk27
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