From 4fd1fc70e08b0411e33ff8f049c2cc2607152961 Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Tue, 6 Nov 2018 07:41:58 +0100 Subject: [PATCH] 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. --- THANKS | 1 + examples/local.mk | 27 +++++++++++++++++++++++++-- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/THANKS b/THANKS index 3ce973fe..d24f0d93 100644 --- a/THANKS +++ b/THANKS @@ -106,6 +106,7 @@ Michel d'Hooge michel.dhooge@gmail.com Michiel De Wilde mdewilde.agilent@gmail.com Mickael Labau labau_m@epita.fr Mike Castle dalgoda@ix.netcom.com +Mike Frysinger vapier@gentoo.org Mike Sullivan Mike.sullivan@Oracle.COM Nate Guerin nathan.guerin@riseup.net Neil Booth NeilB@earthling.net 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