Re: Bison 3.5.92 on Haiku

Akim Demaille <[email protected]>
Newsgroups gmane.comp.parsers.bison.bugs
Message-ID <[email protected]>
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 <[email protected]>
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	\
-	    [email protected] tests/bison
-	$(AM_V_at)if $(remove_time_stamp) $@ >[email protected] 2>/dev/null &&		\
-	   $(remove_time_stamp) [email protected] | cmp [email protected] - >/dev/null 2>&1; then	\
-	  touch $@;								\
-	else									\
-	  mv [email protected] $@;								\
+	$(AM_V_GEN)if $(HELP2MAN) --version >/dev/null 2>&1; then	\
+	  $(HELP2MAN)							\
+	    --include=$(top_srcdir)/%D%/bison.x				\
+	    [email protected] tests/bison &&				\
+	  $(remove_time_stamp) $@     >[email protected] 2>/dev/null &&		\
+	  $(remove_time_stamp) [email protected] >[email protected] 2>/dev/null &&		\
+	  if diff [email protected] [email protected] >/dev/null 2>&1; then			\
+	    touch $@;							\
+	  else								\
+	    mv [email protected] $@;						\
+	  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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.