Hi Thomas, > Le 18 août 2019 à 04:28, Akim Demaille <a...@lrde.epita.fr> a écrit : > > Hi Thomas, > > I don't think the previous commit did address your issue. The following > one should. Could you please test it? I could not reproduce your problem, > so I can't tell if it actually fixes it for you. I need feedback. > > You may try these tarballs if trying a patch is inconvenient. > > https://www.lrde.epita.fr/~akim/private/bison/bison-3.4.1.62-e7be.tar.gz > https://www.lrde.epita.fr/~akim/private/bison/bison-3.4.1.62-e7be.tar.xz > > Cheers!
Ping. > commit e7be4e9ffe38ffa90e5fde653378c219e1e0491a > Author: Akim Demaille <akim.demai...@gmail.com> > Date: Sat Aug 3 18:57:24 2019 +0200 > > examples: fix missing dependencies > > Reported by Thomas Petazzoni. > https://lists.gnu.org/archive/html/bug-bison/2019-08/msg00000.html > > * examples/c/reccalc/local.mk: Complete dependencies, including for > earlier versions of Automake (for sake of our CI, on top of Ubuntu > Xenial, which features only Automake 1.15). > (%D%/scan.c %D%/scan.h): Upgrade to the full version provided in > Automake's documentation. > > diff --git a/THANKS b/THANKS > index 14a26d76..5ee4b29a 100644 > --- a/THANKS > +++ b/THANKS > @@ -171,6 +171,7 @@ Sum Wu s...@geekhouse.org > Théophile Ranquet theophile.ranq...@gmail.com > Thiru Ramakrishnan thiru.ramakrish...@gmail.com > Thomas Jahns ja...@dkrz.de > +Thomas Petazzoni thomas.petazz...@bootlin.com > Tim Josling t...@melbpc.org.au > Tim Landscheidt t...@tim-landscheidt.de > Tim Van Holder tim.van.hol...@pandora.be > diff --git a/configure.ac b/configure.ac > index a9dad57c..dd94bc22 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -36,6 +36,9 @@ AC_CONFIG_MACRO_DIR([m4]) > > # We use Automake 1.14's %D% and %C%. > # > +# When we move to Automake 1.16, simplify examples/c/reccalc/local.mk. > +# Our CI runs on Xenial, which has only Automake 1.15. > +# > # We want gnits strictness only when rolling a stable release. For > # release candidates, we use version strings like 2.4.3_rc1, but gnits > # doesn't like that, so we let the underscore disable gnits. Between > diff --git a/examples/c/reccalc/local.mk b/examples/c/reccalc/local.mk > index bb64b214..0ff5abed 100644 > --- a/examples/c/reccalc/local.mk > +++ b/examples/c/reccalc/local.mk > @@ -36,16 +36,40 @@ endif FLEX_WORKS > # additional dependency. > DASH = - > %D%/reccalc$(DASH)parse.o: %D%/scan.h > +# Tell Make scan.o depends on parse.h, except that Make sees only > +# parse.c, not parse.h. We can't use BUILT_SOURCES to this end, since > +# we use the built bison. > +%D%/reccalc$(DASH)scan.o: %D%/parse.c > > +# Likewise, but for Automake before 1.16. > +%D%/examples_c_reccalc_reccalc$(DASH)parse.o: %D%/scan.h > +%D%/examples_c_reccalc_reccalc$(DASH)scan.o: %D%/parse.c > + > +## See "info automake 'Multiple Outputs'" for this rule. > %D%/scan.c %D%/scan.h: %D%/scan.stamp > - @test -f $@ || rm -f %D%/scan.stamp > - @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) %D%/scan.stamp > +## Recover from the removal of $@ > + @if test -f $@; then :; else \ > + trap 'rm -rf %D%/scan.lock %D%/scan.stamp' 1 2 13 15; \ > +## mkdir is a portable test-and-set > + if mkdir %D%/scan.lock 2>/dev/null; then \ > +## This code is being executed by the first process. > + rm -f %D%/scan.stamp; \ > + $(MAKE) $(AM_MAKEFLAGS) %D%/scan.stamp; \ > + result=$$?; rm -rf %D%/scan.lock; exit $$result; \ > + else \ > +## This code is being executed by the follower processes. > +## Wait until the first process is done. > + while test -d %D%/scan.lock; do sleep 1; done; \ > +## Succeed if and only if the first process succeeded. > + test -f %D%/scan.stamp; \ > + fi; \ > + fi > > %D%/scan.stamp: %D%/scan.l > $(AM_V_LEX)rm -f $@ $@.tmp > $(AM_V_at)$(MKDIR_P) %D% > $(AM_V_at)touch $@.tmp > - $(AM_V_at)$(LEX) -o%D%/scan.c --header-file=%D%/scan.h > $(srcdir)/%D%/scan.l > + $(AM_V_at)$(LEX) $(AM_LFLAGS) $(LFLAGS) -o%D%/scan.c > --header-file=%D%/scan.h $(srcdir)/%D%/scan.l > $(AM_V_at)mv $@.tmp $@ > > > >