summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkim Demaille <akim.demaille@gmail.com>2020-09-05 09:28:56 +0200
committerAkim Demaille <akim.demaille@gmail.com>2020-09-05 17:42:20 +0200
commitf7b642cff76d3b412fe3565b245f320fa205a4a0 (patch)
treec53971692b17a72aa212ca9f7e89c7617f5071ad
parent3da17724ad5a789292dac5187ebb885d6ea4da04 (diff)
downloadbison-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--NEWS4
-rw-r--r--doc/local.mk2
2 files changed, 4 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index d5a816b4..52f4e3c2 100644
--- a/NEWS
+++ b/NEWS
@@ -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)*)}' \