diff options
author | Akim Demaille <akim.demaille@gmail.com> | 2020-09-05 09:28:56 +0200 |
---|---|---|
committer | Akim Demaille <akim.demaille@gmail.com> | 2020-09-05 17:42:20 +0200 |
commit | f7b642cff76d3b412fe3565b245f320fa205a4a0 (patch) | |
tree | c53971692b17a72aa212ca9f7e89c7617f5071ad | |
parent | 3da17724ad5a789292dac5187ebb885d6ea4da04 (diff) | |
download | bison-f7b642cff76d3b412fe3565b245f320fa205a4a0.tar.gz |
build: fix incorrect dependencies
Commit af000bab111768a04021bf5ffa4bbe91d44e231c ("doc: work around
Texinfo 6.7 bug"), published in 3.4.91, added a dependency on the
"all" target.
This is a super bad idea, since "make all" will run this
target *before* "all", which builds bison. It turns out that this new
dependency actually needed bison to be built. So all the regular
process (i) build $(BUILT_SOURCES) and then (ii) build bison, was
wrecked since some of the $(BUILT_SOURCES) depended on bison...
It was "easy" to see in the logs of "make V=1" because we were
building bison files (such as src/files.o) *before* displaying the
banner for "all-recursive". With this fix, we finally get again the
proper sequence:
rm -f examples/c/reccalc/scan.stamp examples/c/reccalc/scan.stamp.tmp
/opt/local/libexec/gnubin/mkdir -p examples/c/reccalc
touch examples/c/reccalc/scan.stamp.tmp
flex -oexamples/c/reccalc/scan.c --header=examples/c/reccalc/scan.h ./examples/c/reccalc/scan.l
mv examples/c/reccalc/scan.stamp.tmp examples/c/reccalc/scan.stamp
rm -f lib/fcntl.h-t lib/fcntl.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
...
} > lib/fcntl.h-t && \
mv lib/fcntl.h-t lib/fcntl.h
...
mv -f lib/alloca.h-t lib/alloca.h
make all-recursive
Reported by Mingli Yu <mingli.yu@windriver.com>.
https://github.com/akimd/bison/issues/31
https://lists.gnu.org/r/bison-patches/2020-05/msg00055.html
Reported by Claudio Calvelli <bugb@w42.org>.
https://lists.gnu.org/r/bug-bison/2020-09/msg00001.html
https://bugs.gentoo.org/716516
* doc/local.mk (all): Rename as...
(all-local): this.
So that we don't compete with BUILT_SOURCES.
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | doc/local.mk | 2 |
2 files changed, 4 insertions, 2 deletions
@@ -13,9 +13,11 @@ GNU Bison NEWS ** Bug fixes + Fix concurrent build issues (introduced in Bison 3.5). + Push parsers always use YYMALLOC/YYFREE (no direct calls to malloc/free). - Portability issues of the test suite, and of bison itself. + Fix portability issues of the test suite, and of bison itself. Some unlikely crashes found by fuzzing have been fixed. This is only about bison itself, not the generated parsers. diff --git a/doc/local.mk b/doc/local.mk index ab5b7454..f5590015 100644 --- a/doc/local.mk +++ b/doc/local.mk @@ -57,7 +57,7 @@ MAINTAINERCLEANFILES = $(CROSS_OPTIONS_TEXI) # Fix Info's @code in @deftype # https://lists.gnu.org/archive/html/help-texinfo/2019-11/msg00004.html -all: $(srcdir)/$(%C%_bison).info.bak +all-local: $(srcdir)/$(%C%_bison).info.bak $(srcdir)/$(%C%_bison).info.bak: $(srcdir)/$(%C%_bison).info $(AM_V_GEN) $(PERL) -pi.bak -0777 \ -e 's{(^ --.*\n(?: {10}.*\n)*)}' \ |