aboutsummaryrefslogtreecommitdiff
path: root/doc/sphinx/parallel-wrapper.sh
diff options
context:
space:
mode:
authorHeinrich Schuchardt2020-12-31 23:16:46 +0100
committerHeinrich Schuchardt2021-01-27 12:52:57 +0100
commit98f01cf7a22ec81774a26a9e1bf11c7c3cdce424 (patch)
tree76411a131f9fcd2402531398ab3899db747848d8 /doc/sphinx/parallel-wrapper.sh
parent836049d63eedd3b1f2351831d1439b668cdbeb0e (diff)
doc: update Kernel documentation build system
Update the documentation build system according to Linux v5.11-rc1. Deactive the automarkup.py extension module which on Gitlab CI is incompatible with Unicode. With this patch we can build the HTML documentation using either of Sphinx 2 and Sphinx 3. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Diffstat (limited to 'doc/sphinx/parallel-wrapper.sh')
-rw-r--r--doc/sphinx/parallel-wrapper.sh33
1 files changed, 33 insertions, 0 deletions
diff --git a/doc/sphinx/parallel-wrapper.sh b/doc/sphinx/parallel-wrapper.sh
new file mode 100644
index 00000000000..e54c44ce117
--- /dev/null
+++ b/doc/sphinx/parallel-wrapper.sh
@@ -0,0 +1,33 @@
+#!/bin/sh
+# SPDX-License-Identifier: GPL-2.0+
+#
+# Figure out if we should follow a specific parallelism from the make
+# environment (as exported by scripts/jobserver-exec), or fall back to
+# the "auto" parallelism when "-jN" is not specified at the top-level
+# "make" invocation.
+
+sphinx="$1"
+shift || true
+
+parallel="$PARALLELISM"
+if [ -z "$parallel" ] ; then
+ # If no parallelism is specified at the top-level make, then
+ # fall back to the expected "-jauto" mode that the "htmldocs"
+ # target has had.
+ auto=$(perl -e 'open IN,"'"$sphinx"' --version 2>&1 |";
+ while (<IN>) {
+ if (m/([\d\.]+)/) {
+ print "auto" if ($1 >= "1.7")
+ }
+ }
+ close IN')
+ if [ -n "$auto" ] ; then
+ parallel="$auto"
+ fi
+fi
+# Only if some parallelism has been determined do we add the -jN option.
+if [ -n "$parallel" ] ; then
+ parallel="-j$parallel"
+fi
+
+exec "$sphinx" $parallel "$@"