[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Bison 3.5.92 on Haiku
From: |
Akim Demaille |
Subject: |
Re: Bison 3.5.92 on Haiku |
Date: |
Mon, 4 May 2020 19:13:33 +0200 |
I can live with this: have a hard error when we work from the git repo. And it
should make simpler the lives of the good guys who help us track portability
issues.
commit b86dcaf40ba0e06ac2d8a3c3fcba5a092e3ed105
Author: Akim Demaille <address@hidden>
Date: Mon May 4 18:48:35 2020 +0200
doc: beware of timestamp issues on Haiku
On Haiku, help2man is fired on a freshly extracted tarball.
Reported by Bruno Haible.
https://lists.gnu.org/r/bug-bison/2020-05/msg00055.html
* doc/local.mk (bison.1): Be robust to a missing help2man.
diff --git a/NEWS b/NEWS
index eff14776..db593f00 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,7 @@ GNU Bison NEWS
* Noteworthy changes in release ?.? (????-??-??) [?]
+ Portability issues.
* Noteworthy changes in release 3.5.93 (2020-05-03) [beta]
diff --git a/doc/local.mk b/doc/local.mk
index 9ff874c4..aaa89ec1 100644
--- a/doc/local.mk
+++ b/doc/local.mk
@@ -140,17 +140,31 @@ if ! CROSS_COMPILING
MAN_DEPS = %D%/bison.help %D%/bison.x $(top_srcdir)/configure
endif
+# If we don't have help2man, just touch the target. Maintainers must
+# have the real thing, so if there's a .git directory, fail hard.
+#
+# We shouldn't need this, but on some OS the timestamps in the tarball
+# leaves us no choice. See
+# https://lists.gnu.org/r/bug-bison/2020-05/msg00055.html.
$(top_srcdir)/%D%/bison.1: $(MAN_DEPS)
- $(AM_V_GEN)$(HELP2MAN) \
- --include=$(top_srcdir)/%D%/bison.x \
- --output=$@.tmp tests/bison
- $(AM_V_at)if $(remove_time_stamp) $@ >$@a.tmp 2>/dev/null &&
\
- $(remove_time_stamp) $@.tmp | cmp $@a.tmp - >/dev/null 2>&1; then
\
- touch $@;
\
- else
\
- mv $@.tmp $@;
\
+ $(AM_V_GEN)if $(HELP2MAN) --version >/dev/null 2>&1; then \
+ $(HELP2MAN) \
+ --include=$(top_srcdir)/%D%/bison.x \
+ --output=$@.tmp tests/bison && \
+ $(remove_time_stamp) $@ >$@a.tmp 2>/dev/null && \
+ $(remove_time_stamp) $@.tmp >$@b.tmp 2>/dev/null && \
+ if diff $@a.tmp $@b.tmp >/dev/null 2>&1; then \
+ touch $@; \
+ else \
+ mv $@.tmp $@; \
+ fi && \
+ rm -f $@*.tmp; \
+ elif test -d $(srcdir)/.git; then \
+ echo >&2 "ERROR: $@: help2man is needed"; \
+ exit 1; \
+ else \
+ touch $@; \
fi
- $(AM_V_at)rm -f $@*.tmp
if ENABLE_YACC
nodist_man_MANS = %D%/yacc.1