-if get_option('sphinx_build') == ''
- sphinx_build = find_program(['sphinx-build-3', 'sphinx-build'],
- required: get_option('docs'))
-else
- sphinx_build = find_program(get_option('sphinx_build'),
- required: get_option('docs'))
-endif
+sphinx_build = find_program(fs.parent(python.full_path()) / 'sphinx-build',
+ required: get_option('docs'))
# Check if tools are available to build documentation.
build_docs = false
SPHINX_ARGS = ['env', 'CONFDIR=' + qemu_confdir, sphinx_build, '-q']
# If we're making warnings fatal, apply this to Sphinx runs as well
if get_option('werror')
- SPHINX_ARGS += [ '-W' ]
+ SPHINX_ARGS += [ '-W', '-Dkerneldoc_werror=1' ]
+ endif
+
+ sphinx_version = run_command(SPHINX_ARGS + ['--version'],
+ check: true).stdout().split()[1]
+ if sphinx_version.version_compare('>=1.7.0')
+ SPHINX_ARGS += ['-j', 'auto']
+ else
+ nproc = find_program('nproc')
+ if nproc.found()
+ jobs = run_command(nproc, check: true).stdout()
+ SPHINX_ARGS += ['-j', jobs]
+ endif
endif
# This is a bit awkward but works: create a trivial document and