bug-bison
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]