[PATCH] build: fix race in parallel builds

Mike Frysinger <[email protected]>
Newsgroups gmane.comp.sysutils.automake.patches
Message-ID <[email protected]>
As reported by Hongxu Jia:
> The automake-$(APIVERSION) is a hardlink of automake, if it is
> created later than update_mans executing, there is a failure
> [snip]
> |: && mkdir -p doc && ./pre-inst-env /usr/bin/env perl ../automake-1.16.1/doc/help2man --output=doc/aclocal-1.16.1 aclocal-1.16
> |help2man: can't get `--help' info from aclocal-1.16
> |Try `--no-discard-stderr' if option outputs to stderr
> Makefile:3693: recipe for target 'doc/aclocal-1.16.1' failed
> [snip]
>
> The automake_script is required by update_mans and update_mans
> invokes automake-$(APIVERSION) rather than automake to generate
> doc, so we should assign `automake-$(APIVERSION)' to automake_script.
>
> The same reason to tweak aclocal_script.

However, rather than update the _script variables to point to the
hardlinked copies of the programs, we can have the help2man steps
run the existing scripts directly.  This makes the relationship a
bit more explicit and avoids implicit dependencies on names.

* doc/local.mk: Pass $(aclocal_script) and $(automake_script) to $(update_mans).
---
 doc/local.mk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/doc/local.mk b/doc/local.mk
index a29363d2d71b..06c78823a574 100644
--- a/doc/local.mk
+++ b/doc/local.mk
@@ -46,9 +46,9 @@ update_mans = \
 	  && echo ".so man1/$$f-$(APIVERSION).1" > $@
 
 %D%/aclocal-$(APIVERSION).1: $(aclocal_script) lib/Automake/Config.pm
-	$(update_mans) aclocal-$(APIVERSION)
+	$(update_mans) $(aclocal_script)
 %D%/automake-$(APIVERSION).1: $(automake_script) lib/Automake/Config.pm
-	$(update_mans) automake-$(APIVERSION)
+	$(update_mans) $(automake_script)
 
 ## This target is not invoked as a dependency of anything. It exists
 ## merely to make checking the links in automake.texi (that is,
-- 
2.33.0
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.