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.
This commit is contained in:
Akim Demaille
2018-11-06 07:41:58 +01:00
parent e02ce4c7f0
commit 4fd1fc70e0
2 changed files with 26 additions and 2 deletions

1
THANKS
View File

@@ -106,6 +106,7 @@ Michel d'Hooge michel.dhooge@gmail.com
Michiel De Wilde mdewilde.agilent@gmail.com Michiel De Wilde mdewilde.agilent@gmail.com
Mickael Labau labau_m@epita.fr Mickael Labau labau_m@epita.fr
Mike Castle dalgoda@ix.netcom.com Mike Castle dalgoda@ix.netcom.com
Mike Frysinger vapier@gentoo.org
Mike Sullivan Mike.sullivan@Oracle.COM Mike Sullivan Mike.sullivan@Oracle.COM
Nate Guerin nathan.guerin@riseup.net Nate Guerin nathan.guerin@riseup.net
Neil Booth NeilB@earthling.net Neil Booth NeilB@earthling.net

View File

@@ -30,7 +30,8 @@ EXTEXIFLAGS = --synclines
endif endif
extract = VERSION="$(VERSION)" $(PERL) $(extexi) $(EXTEXIFLAGS) $(doc) -- extract = VERSION="$(VERSION)" $(PERL) $(extexi) $(EXTEXIFLAGS) $(doc) --
extracted = extracted =
CLEANFILES += $(extracted) %D%/extracted.stamp EXTRA_DIST += $(extracted)
MAINTAINERCLEANFILES += $(extracted) %D%/extracted.stamp
%D%/extracted.stamp: $(doc) $(extexi) %D%/extracted.stamp: $(doc) $(extexi)
$(AM_V_GEN)rm -f $@ $@.tmp $(AM_V_GEN)rm -f $@ $@.tmp
$(AM_V_at)$(MKDIR_P) %D% $(AM_V_at)$(MKDIR_P) %D%
@@ -42,11 +43,33 @@ $(extracted): %D%/extracted.stamp
@test -f $@ || rm -f %D%/extracted.stamp @test -f $@ || rm -f %D%/extracted.stamp
@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) %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. ## ## Examples. ##
## ---------- ## ## ---------- ##
examplesdir = $(docdir)/examples examplesdir = $(docdir)/examples
dist_examples_DATA = %D%/README dist_examples_DATA = %D%/README