summary refs log tree commit diff stats
path: root/docs/sphinx
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab+huawei@kernel.org>2020-11-17 17:53:05 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2020-12-10 12:15:23 -0500
commit486966e4a4e2cc0647e01f9902b8c1752c44d38e (patch)
treef95bf4ffd0bad58163a73415d8c603718890ac6e /docs/sphinx
parent0c77185233391cf984192efa4caa77c37579e159 (diff)
downloadfocaccia-qemu-486966e4a4e2cc0647e01f9902b8c1752c44d38e.tar.gz
focaccia-qemu-486966e4a4e2cc0647e01f9902b8c1752c44d38e.zip
scripts: kernel-doc: allow passing desired Sphinx C domain dialect
When kernel-doc is called via kerneldoc.py, there's no need to
auto-detect the Sphinx version, as the Sphinx module already
knows it. So, add an optional parameter to allow changing the
Sphinx dialect.

As kernel-doc can also be manually called, keep the auto-detection
logic if the parameter was not specified. On such case, emit
a warning if sphinx-build can't be found at PATH.

I ended using a suggestion from Joe for using a more readable
regex, instead of using a complex one with a hidden group like:

	m/^(\d+)\.(\d+)(?:\.?(\d+)?)/

in order to get the optional <patch> argument.

Thanks-to: Joe Perches <joe@perches.com>
Suggested-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201117165312.118257-23-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'docs/sphinx')
-rw-r--r--docs/sphinx/kerneldoc.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/docs/sphinx/kerneldoc.py b/docs/sphinx/kerneldoc.py
index c0180e02a2..079aadced3 100644
--- a/docs/sphinx/kerneldoc.py
+++ b/docs/sphinx/kerneldoc.py
@@ -69,6 +69,11 @@ class KernelDocDirective(Directive):
         env = self.state.document.settings.env
         cmd = env.config.kerneldoc_bin + ['-rst', '-enable-lineno']
 
+        # Pass the version string to kernel-doc, as it needs to use a different
+        # dialect, depending what the C domain supports for each specific
+        # Sphinx versions
+        cmd += ['-sphinx-version', sphinx.__version__]
+
         filename = env.config.kerneldoc_srctree + '/' + self.arguments[0]
         export_file_patterns = []