Re: [PATCH 4/5] docs: by default, build docs a lot faster with Sphinx >= 1.7
From: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Date: 2019-05-29 23:20:14
Also in:
lkml
Em Wed, 29 May 2019 17:02:02 -0600 Jonathan Corbet [off-list ref] escreveu:
On Mon, 27 May 2019 08:07:40 -0300 Mauro Carvalho Chehab [off-list ref] wrote:quoted
Since Sphinx version 1.7, it is possible to use "-jauto" in order to speedup documentation builds. On older versions, while -j was already supported, one would need to set the number of threads manually. So, if SPHINXOPTS is not provided, add -jauto, in order to speed up the build. That makes it *a lot* times faster than without -j. If one really wants to slow things down, it can just use: make SPHINXOPTS=-j1 htmldocs Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> --- Documentation/Makefile | 2 ++ 1 file changed, 2 insertions(+)diff --git a/Documentation/Makefile b/Documentation/Makefile index 380e24053d6f..794233d05789 100644 --- a/Documentation/Makefile +++ b/Documentation/Makefile@@ -28,6 +28,8 @@ ifeq ($(HAVE_SPHINX),0) else # HAVE_SPHINX +SPHINXOPTS = $(shell perl -e 'open IN,"sphinx-build --version |"; while (<IN>) { if (m/([\d\.]+)/) { print "-jauto" if ($$1 >= "1.7") } ;} close IN') +So this totally fails to work for me with any version of sphinx, and I'm not enough of a Perl person to figure it out. Sometimes I'll see the sphinx-build output, i.e.: sphinx-build 1.8.4 and sometimes (like with 2.0) I don't, but I never get -jauto regardless.
Hmm... with 2.0.0 --version prints the version. $ sphinx-build --version sphinx-build 2.0.0 Afaikt, only too old versions will output it with a different format: $ sphinx-build --version Sphinx (sphinx-build) 1.2
Not sure what's going on here?
Do you have SPHINXOPTS already set on your environment? If so, Makefile
will not override the existing environment.
Here, if I call it by hand (replacing $$1 by $1), it does the right
thing. For example:
1.8.4:
$ sphinx-build --version
sphinx-build 1.8.4
$ perl -e 'open IN,"sphinx-build --version |"; while (<IN>) { if (m/([\d\.]+)/) { print "-jauto\n" if ($1 >= "1.7") } ;} close IN'
-jauto
2.0.0:
$ sphinx-build --version
sphinx-build 2.0.0
(sphinx_2.0) $ perl -e 'open IN,"sphinx-build --version |"; while (<IN>) { if (m/([\d\.]+)/) { print "-jauto\n" if ($1 >= "1.7") } ;} close IN'
-jauto
Thanks,
Mauro