qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Cc: peter.maydell@linaro.org
Subject: [PULL 22/29] meson.build: Make manuals depend on source to Sphinx extensions
Date: Tue, 29 Sep 2020 22:19:19 +0200	[thread overview]
Message-ID: <20200929201926.2155622-23-armbru@redhat.com> (raw)
In-Reply-To: <20200929201926.2155622-1-armbru@redhat.com>

From: Peter Maydell <peter.maydell@linaro.org>

The automatic dependency handling for Sphinx manuals only makes the output
depend on the input documentation files. This means that if you edit
the Python source of an extension then the documentation won't be
rebuilt.

Create a list of all the source files for the extensions and add
it to the dependencies for the manuals. This is similar to how we
handle the qapi_gen_depends list.

Because we don't try to identify which manuals are using which
Sphinx extensions, a change to the source of one extension will
always rebuild the entire manual set, not merely the manuals
which have changed. This is acceptable because we don't change
the extensions all that often.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20200925162316.21205-15-peter.maydell@linaro.org>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
[Re rebuilding the enitre manual set being acceptable "because we
don't change the extensions all that often": we also rebuild it when
the QAPI generator code the qapidoc extension depends on changes.
This will inconvenience QAPI developers.  Can't be helped now.]
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 docs/meson.build | 1 +
 meson.build      | 8 ++++++++
 2 files changed, 9 insertions(+)

diff --git a/docs/meson.build b/docs/meson.build
index 52e384be17..0340d489ac 100644
--- a/docs/meson.build
+++ b/docs/meson.build
@@ -36,6 +36,7 @@ if build_docs
                 output: [manual + '.stamp'],
                 input: [files('conf.py'), files(manual / 'conf.py')],
                 depfile: manual + '.d',
+                depend_files: sphinx_extn_depends,
                 command: [SPHINX_ARGS, '-Ddepfile=@DEPFILE@',
                           '-Ddepfile_stamp=@OUTPUT0@',
                           '-b', 'html', '-d', private_dir,
diff --git a/meson.build b/meson.build
index 866321462e..6cb8aebd7d 100644
--- a/meson.build
+++ b/meson.build
@@ -680,6 +680,14 @@ if get_option('werror')
   SPHINX_ARGS += [ '-W' ]
 endif
 
+sphinx_extn_depends = [ meson.source_root() / 'docs/sphinx/depfile.py',
+                        meson.source_root() / 'docs/sphinx/hxtool.py',
+                        meson.source_root() / 'docs/sphinx/kerneldoc.py',
+                        meson.source_root() / 'docs/sphinx/kernellog.py',
+                        meson.source_root() / 'docs/sphinx/qapidoc.py',
+                        meson.source_root() / 'docs/sphinx/qmp_lexer.py',
+                        qapi_gen_depends ]
+
 # Collect sourcesets.
 
 util_ss = ss.source_set()
-- 
2.26.2



  parent reply	other threads:[~2020-09-29 20:26 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-29 20:18 [PULL 00/29] QAPI patches patches for 2020-09-29 Markus Armbruster
2020-09-29 20:18 ` [PULL 01/29] qapi: Restrict LostTickPolicy enum to machine code Markus Armbruster
2020-09-29 20:18 ` [PULL 02/29] qapi: Correct balloon documentation Markus Armbruster
2020-09-29 20:19 ` [PULL 03/29] qapi: Restrict balloon-related commands to machine code Markus Armbruster
2020-09-29 20:19 ` [PULL 04/29] qapi: Restrict query-vm-generation-id command " Markus Armbruster
2020-09-29 20:19 ` [PULL 05/29] qapi: Restrict query-uuid " Markus Armbruster
2020-09-29 20:19 ` [PULL 06/29] qapi: Restrict device memory commands " Markus Armbruster
2020-09-29 20:19 ` [PULL 07/29] qapi: Extract ACPI commands to 'acpi.json' Markus Armbruster
2020-09-29 20:19 ` [PULL 08/29] qapi: Extract PCI commands to 'pci.json' Markus Armbruster
2020-09-29 20:19 ` [PULL 09/29] qapi: Fix doc comment indentation again Markus Armbruster
2020-09-29 20:19 ` [PULL 10/29] qapi/block.json: Add newline after "Example:" for block-latency-histogram-set Markus Armbruster
2020-09-29 20:19 ` [PULL 11/29] tests/qapi/doc-good.json: Prepare for qapi-doc Sphinx extension Markus Armbruster
2020-09-29 20:19 ` [PULL 12/29] scripts/qapi: Move doc-comment whitespace stripping to doc.py Markus Armbruster
2020-09-29 20:19 ` [PULL 13/29] scripts/qapi/parser.py: improve doc comment indent handling Markus Armbruster
2020-09-29 20:19 ` [PULL 14/29] qapi/machine.json: Escape a literal '*' in doc comment Markus Armbruster
2020-09-29 20:19 ` [PULL 15/29] docs/sphinx: Add new qapi-doc Sphinx extension Markus Armbruster
2020-09-29 20:19 ` [PULL 16/29] docs/interop: Convert qemu-ga-ref to rST Markus Armbruster
2020-09-29 20:19 ` [PULL 17/29] docs/interop: Convert qemu-qmp-ref " Markus Armbruster
2020-09-29 20:19 ` [PULL 18/29] qapi: Use rST markup for literal blocks Markus Armbruster
2020-09-29 20:19 ` [PULL 19/29] qga/qapi-schema.json: Add some headings Markus Armbruster
2020-09-29 20:19 ` [PULL 20/29] tests/qapi-schema: Convert doc-good.json to rST-style strong/emphasis Markus Armbruster
2020-09-29 20:19 ` [PULL 21/29] meson.build: Move SPHINX_ARGS to top level meson.build file Markus Armbruster
2020-09-29 20:19 ` Markus Armbruster [this message]
2020-09-29 20:19 ` [PULL 23/29] tests/qapi-schema: Add test of the rST QAPI doc-comment output Markus Armbruster
2020-09-29 20:19 ` [PULL 24/29] scripts/qapi: Remove texinfo generation support Markus Armbruster
2020-09-29 20:19 ` [PULL 25/29] docs/devel/qapi-code-gen.txt: Update to new rST backend conventions Markus Armbruster
2020-09-29 20:19 ` [PULL 26/29] scripts/texi2pod: Delete unused script Markus Armbruster
2020-09-29 20:19 ` [PULL 27/29] Remove Texinfo related line from git.orderfile Markus Armbruster
2020-09-29 20:19 ` [PULL 28/29] configure: Drop texinfo requirement Markus Armbruster
2020-09-29 20:19 ` [PULL 29/29] Remove texinfo dependency from docker and CI configs Markus Armbruster
2020-09-30 10:27 ` [PULL 00/29] QAPI patches patches for 2020-09-29 Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200929201926.2155622-23-armbru@redhat.com \
    --to=armbru@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).