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.
This commit is contained in:
Akim Demaille
2020-05-04 18:48:35 +02:00
parent 0fafbbdefb
commit b86dcaf40b
2 changed files with 24 additions and 9 deletions

1
NEWS
View File

@@ -2,6 +2,7 @@ GNU Bison NEWS
* Noteworthy changes in release ?.? (????-??-??) [?] * Noteworthy changes in release ?.? (????-??-??) [?]
Portability issues.
* Noteworthy changes in release 3.5.93 (2020-05-03) [beta] * Noteworthy changes in release 3.5.93 (2020-05-03) [beta]

View File

@@ -140,17 +140,31 @@ if ! CROSS_COMPILING
MAN_DEPS = %D%/bison.help %D%/bison.x $(top_srcdir)/configure MAN_DEPS = %D%/bison.help %D%/bison.x $(top_srcdir)/configure
endif 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) $(top_srcdir)/%D%/bison.1: $(MAN_DEPS)
$(AM_V_GEN)$(HELP2MAN) \ $(AM_V_GEN)if $(HELP2MAN) --version >/dev/null 2>&1; then \
--include=$(top_srcdir)/%D%/bison.x \ $(HELP2MAN) \
--output=$@.tmp tests/bison --include=$(top_srcdir)/%D%/bison.x \
$(AM_V_at)if $(remove_time_stamp) $@ >$@a.tmp 2>/dev/null && \ --output=$@.tmp tests/bison && \
$(remove_time_stamp) $@.tmp | cmp $@a.tmp - >/dev/null 2>&1; then \ $(remove_time_stamp) $@ >$@a.tmp 2>/dev/null && \
touch $@; \ $(remove_time_stamp) $@.tmp >$@b.tmp 2>/dev/null && \
else \ if diff $@a.tmp $@b.tmp >/dev/null 2>&1; then \
mv $@.tmp $@; \ 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 fi
$(AM_V_at)rm -f $@*.tmp
if ENABLE_YACC if ENABLE_YACC
nodist_man_MANS = %D%/yacc.1 nodist_man_MANS = %D%/yacc.1