diff options
author | Jonathan Corbet <corbet@lwn.net> | 2020-09-04 18:13:45 +0200 |
---|---|---|
committer | Jonathan Corbet <corbet@lwn.net> | 2020-09-04 18:13:45 +0200 |
commit | afde706afde2fea8a1dff84acaedac4f8dfe84b9 (patch) | |
tree | 74ea2826413c365b672fa678d7182a7e87914962 /Documentation/conf.py | |
parent | submitting-patches.rst: presume git will be used (diff) | |
download | linux-afde706afde2fea8a1dff84acaedac4f8dfe84b9.tar.xz linux-afde706afde2fea8a1dff84acaedac4f8dfe84b9.zip |
Make the docs build "work" with Sphinx 3.x
The Sphinx 3.x upgrade broke a number of things in our special "cdomain"
module that are not easy to fix. For now, just disable that module for the
3.x build and put out a warning that the build will not be perfect.
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Diffstat (limited to 'Documentation/conf.py')
-rw-r--r-- | Documentation/conf.py | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/Documentation/conf.py b/Documentation/conf.py index c503188880d9..0a102d57437d 100644 --- a/Documentation/conf.py +++ b/Documentation/conf.py @@ -36,10 +36,23 @@ needs_sphinx = '1.3' # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. -extensions = ['kerneldoc', 'rstFlatTable', 'kernel_include', 'cdomain', +extensions = ['kerneldoc', 'rstFlatTable', 'kernel_include', 'kfigure', 'sphinx.ext.ifconfig', 'automarkup', 'maintainers_include', 'sphinx.ext.autosectionlabel' ] +# +# cdomain is badly broken in Sphinx 3+. Leaving it out generates *most* +# of the docs correctly, but not all. Scream bloody murder but allow +# the process to proceed; hopefully somebody will fix this properly soon. +# +if major >= 3: + sys.stderr.write('''WARNING: The kernel documentation build process + does not work correctly with Sphinx v3.0 and above. Expect errors + in the generated output. + ''') +else: + extensions.append('cdomain') + # Ensure that autosectionlabel will produce unique names autosectionlabel_prefix_document = True autosectionlabel_maxdepth = 2 |