meson: move SPHINX_ARGS references within "if build_docs"

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Paolo Bonzini 2020-10-16 04:05:26 -04:00
parent a94a689cc5
commit 9dc6ee3fd7

View File

@ -219,19 +219,20 @@ qapi_doc = custom_target('QAPI doc',
'-p', 'doc-good-', '@INPUT0@' ], '-p', 'doc-good-', '@INPUT0@' ],
depend_files: qapi_gen_depends) depend_files: qapi_gen_depends)
# Test the document-comment document generation code by running a test schema if build_docs
# file through Sphinx's plain-text builder and comparing the result against # Test the document-comment document generation code by running a test schema
# a golden reference. This is in theory susceptible to failures if Sphinx # file through Sphinx's plain-text builder and comparing the result against
# changes its output, but the text output has historically been very stable # a golden reference. This is in theory susceptible to failures if Sphinx
# (no changes between Sphinx 1.6 and 3.0), so it is a better bet than # changes its output, but the text output has historically been very stable
# texinfo or HTML generation, both of which have had changes. We might # (no changes between Sphinx 1.6 and 3.0), so it is a better bet than
# need to add more sophisticated logic here in future for some sort of # texinfo or HTML generation, both of which have had changes. We might
# fuzzy comparison if future Sphinx versions produce different text, # need to add more sophisticated logic here in future for some sort of
# but for now the simple comparison suffices. # fuzzy comparison if future Sphinx versions produce different text,
qapi_doc_out = custom_target('QAPI rST doc', # but for now the simple comparison suffices.
qapi_doc_out = custom_target('QAPI rST doc',
output: ['doc-good.txt'], output: ['doc-good.txt'],
input: files('doc-good.json', 'doc-good.rst'), input: files('doc-good.json', 'doc-good.rst'),
build_by_default: build_docs, build_by_default: true,
depend_files: sphinx_extn_depends, depend_files: sphinx_extn_depends,
# We use -E to suppress Sphinx's caching, because # We use -E to suppress Sphinx's caching, because
# we want it to always really run the QAPI doc # we want it to always really run the QAPI doc
@ -244,28 +245,27 @@ qapi_doc_out = custom_target('QAPI rST doc',
meson.current_source_dir(), meson.current_source_dir(),
meson.current_build_dir()]) meson.current_build_dir()])
# Fix possible inconsistency in line endings in generated output and # Fix possible inconsistency in line endings in generated output and
# in the golden reference (which could otherwise cause test failures # in the golden reference (which could otherwise cause test failures
# on Windows hosts). Unfortunately diff --strip-trailing-cr # on Windows hosts). Unfortunately diff --strip-trailing-cr
# is GNU-diff only. The odd-looking perl is because we must avoid # is GNU-diff only. The odd-looking perl is because we must avoid
# using an explicit '\' character in the command arguments to # using an explicit '\' character in the command arguments to
# a custom_target(), as Meson will unhelpfully replace it with a '/' # a custom_target(), as Meson will unhelpfully replace it with a '/'
# (https://github.com/mesonbuild/meson/issues/1564) # (https://github.com/mesonbuild/meson/issues/1564)
qapi_doc_out_nocr = custom_target('QAPI rST doc newline-sanitized', qapi_doc_out_nocr = custom_target('QAPI rST doc newline-sanitized',
output: ['doc-good.txt.nocr'], output: ['doc-good.txt.nocr'],
input: qapi_doc_out[0], input: qapi_doc_out[0],
build_by_default: build_docs, build_by_default: true,
command: ['perl', '-pe', '$x = chr 13; s/$x$//', '@INPUT@'], command: ['perl', '-pe', '$x = chr 13; s/$x$//', '@INPUT@'],
capture: true) capture: true)
qapi_doc_ref_nocr = custom_target('QAPI rST doc reference newline-sanitized', qapi_doc_ref_nocr = custom_target('QAPI rST doc reference newline-sanitized',
output: ['doc-good.ref.nocr'], output: ['doc-good.ref.nocr'],
input: files('doc-good.txt'), input: files('doc-good.txt'),
build_by_default: build_docs, build_by_default: true,
command: ['perl', '-pe', '$x = chr 13; s/$x$//', '@INPUT@'], command: ['perl', '-pe', '$x = chr 13; s/$x$//', '@INPUT@'],
capture: true) capture: true)
if build_docs
# "full_path()" needed here to work around # "full_path()" needed here to work around
# https://github.com/mesonbuild/meson/issues/7585 # https://github.com/mesonbuild/meson/issues/7585
test('QAPI rST doc', diff, args: ['-u', qapi_doc_ref_nocr[0].full_path(), test('QAPI rST doc', diff, args: ['-u', qapi_doc_ref_nocr[0].full_path(),