From ed7ca948ae31ac0e1d3633a2f58fb3e4aecd03de Mon Sep 17 00:00:00 2001
From: David Bremner <david@tethera.net>
Date: Wed, 9 Dec 2020 21:55:38 -0400
Subject: [PATCH] build/docs: move docstring prereq to file targets

Under a sufficiently high level of parallelism [1] there seems to be a
a race condition that allows sphinx-build to start running before the
docstrings are extracted. This change moves the docstring stamp from
the phony targets sphinx-html and sphinx-info to the file targets that
they depend on. I'm not sure why this makes things better, but I am
fairly confident it does not make things worse, and experimentally it
seems to eliminate the race condition.

[1]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=976934
---
 doc/Makefile.local | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/doc/Makefile.local b/doc/Makefile.local
index 60bd7184..f476d1da 100644
--- a/doc/Makefile.local
+++ b/doc/Makefile.local
@@ -43,7 +43,7 @@ INFO_INFO_FILES := $(INFO_TEXI_FILES:.texi=.info)
 	rm -f $@ && gzip --no-name --stdout $^ > $@
 
 ifeq ($(WITH_EMACS),1)
-$(DOCBUILDDIR)/.roff.stamp sphinx-html sphinx-texinfo: docstring.stamp
+$(DOCBUILDDIR)/.roff.stamp $(DOCBUILDDIR)/.html.stamp $(DOCBUILDDIR)/.texi.stamp : docstring.stamp
 endif
 
 sphinx-html: $(DOCBUILDDIR)/.html.stamp
-- 
2.45.2