mbox series

[v4,0/4] Fixes docs building on msys2/mingw

Message ID 20201015220626.418-1-luoyonggang@gmail.com
Headers show
Series Fixes docs building on msys2/mingw | expand

Message

罗勇刚(Yonggang Luo) Oct. 15, 2020, 10:06 p.m. UTC
V3-V4
Quic fixes of
python style
if xxx:

tested locally

V2-V3
No need convert perl trick to python script anymore
after Paolo's removal of ninjatool.
Revise Meson: Move the detection logic for sphinx to meson
for pass other platform by letting SPHINX_ARGS to be empty
when build_docs are false

v1 - v2
Also move the docs configure part from
configure to meson, this also fixed the pending
ninjatool removal caused issue that docs  can
not be build under msys2/mingw

Yonggang Luo (4):
  docs: Fixes build docs on msys2/mingw
  configure: the docdir option should passed to meson as is.
  meson: Move the detection logic for sphinx to meson
  cirrus: Enable doc build on msys2/mingw

 .cirrus.yml                   |  6 +++-
 configure                     | 62 +++--------------------------------
 docs/conf.py                  |  2 +-
 docs/meson.build              |  4 +--
 docs/sphinx/kerneldoc.py      |  2 +-
 meson.build                   | 60 +++++++++++++++++++++++++++++----
 meson_options.txt             |  5 ++-
 tests/qapi-schema/meson.build |  2 +-
 8 files changed, 72 insertions(+), 71 deletions(-)

-- 
2.28.0.windows.1

Comments

Paolo Bonzini Oct. 15, 2020, 10:19 p.m. UTC | #1
Il ven 16 ott 2020, 00:06 Yonggang Luo <luoyonggang@gmail.com> ha scritto:

> meson didn't support running ../scripts/kernel-do directly
>

Can you explain why this matters? Meson does not look at docs/conf.py.

Paolo


> Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
> ---
>  docs/conf.py             | 2 +-
>  docs/sphinx/kerneldoc.py | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/docs/conf.py b/docs/conf.py
> index 00e1b750e2..e584f68393 100644
> --- a/docs/conf.py
> +++ b/docs/conf.py
> @@ -241,7 +241,7 @@ texinfo_documents = [
>  # We use paths starting from qemu_docdir here so that you can run
>  # sphinx-build from anywhere and the kerneldoc extension can still
>  # find everything.
> -kerneldoc_bin = os.path.join(qemu_docdir, '../scripts/kernel-doc')
> +kerneldoc_bin = ['perl', os.path.join(qemu_docdir,
> '../scripts/kernel-doc')]
>  kerneldoc_srctree = os.path.join(qemu_docdir, '..')
>  hxtool_srctree = os.path.join(qemu_docdir, '..')
>  qapidoc_srctree = os.path.join(qemu_docdir, '..')
> diff --git a/docs/sphinx/kerneldoc.py b/docs/sphinx/kerneldoc.py
> index 3e87940206..3ac277d162 100644
> --- a/docs/sphinx/kerneldoc.py
> +++ b/docs/sphinx/kerneldoc.py
> @@ -67,7 +67,7 @@ class KernelDocDirective(Directive):
>
>      def run(self):
>          env = self.state.document.settings.env
> -        cmd = [env.config.kerneldoc_bin, '-rst', '-enable-lineno']
> +        cmd = env.config.kerneldoc_bin + ['-rst', '-enable-lineno']
>
>          filename = env.config.kerneldoc_srctree + '/' + self.arguments[0]
>          export_file_patterns = []
> --
> 2.28.0.windows.1
>
>
<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Il ven 16 ott 2020, 00:06 Yonggang Luo &lt;<a href="mailto:luoyonggang@gmail.com">luoyonggang@gmail.com</a>&gt; ha scritto:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">meson didn&#39;t support running ../scripts/kernel-do directly<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Can you explain why this matters? Meson does not look at docs/conf.py.</div><div dir="auto"><br></div><div dir="auto">Paolo</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Signed-off-by: Yonggang Luo &lt;<a href="mailto:luoyonggang@gmail.com" target="_blank" rel="noreferrer">luoyonggang@gmail.com</a>&gt;<br>
---<br>
 docs/conf.py             | 2 +-<br>
 docs/sphinx/kerneldoc.py | 2 +-<br>
 2 files changed, 2 insertions(+), 2 deletions(-)<br>
<br>
diff --git a/docs/conf.py b/docs/conf.py<br>
index 00e1b750e2..e584f68393 100644<br>
--- a/docs/conf.py<br>
+++ b/docs/conf.py<br>
@@ -241,7 +241,7 @@ texinfo_documents = [<br>
 # We use paths starting from qemu_docdir here so that you can run<br>
 # sphinx-build from anywhere and the kerneldoc extension can still<br>
 # find everything.<br>
-kerneldoc_bin = os.path.join(qemu_docdir, &#39;../scripts/kernel-doc&#39;)<br>
+kerneldoc_bin = [&#39;perl&#39;, os.path.join(qemu_docdir, &#39;../scripts/kernel-doc&#39;)]<br>
 kerneldoc_srctree = os.path.join(qemu_docdir, &#39;..&#39;)<br>
 hxtool_srctree = os.path.join(qemu_docdir, &#39;..&#39;)<br>
 qapidoc_srctree = os.path.join(qemu_docdir, &#39;..&#39;)<br>
diff --git a/docs/sphinx/kerneldoc.py b/docs/sphinx/kerneldoc.py<br>
index 3e87940206..3ac277d162 100644<br>
--- a/docs/sphinx/kerneldoc.py<br>
+++ b/docs/sphinx/kerneldoc.py<br>
@@ -67,7 +67,7 @@ class KernelDocDirective(Directive):<br>
<br>
     def run(self):<br>
         env = self.state.document.settings.env<br>
-        cmd = [env.config.kerneldoc_bin, &#39;-rst&#39;, &#39;-enable-lineno&#39;]<br>
+        cmd = env.config.kerneldoc_bin + [&#39;-rst&#39;, &#39;-enable-lineno&#39;]<br>
<br>
         filename = env.config.kerneldoc_srctree + &#39;/&#39; + self.arguments[0]<br>
         export_file_patterns = []<br>
-- <br>
2.28.0.windows.1<br>
<br>
</blockquote></div></div></div>
罗勇刚(Yonggang Luo) Oct. 16, 2020, 3:07 a.m. UTC | #2
On Fri, Oct 16, 2020 at 6:19 AM Paolo Bonzini <pbonzini@redhat.com> wrote:
>
>
>
> Il ven 16 ott 2020, 00:06 Yonggang Luo <luoyonggang@gmail.com> ha scritto:
>>
>> meson didn't support running ../scripts/kernel-do directly
>
>
> Can you explain why this matters? Meson does not look at docs/conf.py.
>
> Paolo
>
>>
>> Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
>> ---
>>  docs/conf.py             | 2 +-
>>  docs/sphinx/kerneldoc.py | 2 +-
>>  2 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/docs/conf.py b/docs/conf.py
>> index 00e1b750e2..e584f68393 100644
>> --- a/docs/conf.py
>> +++ b/docs/conf.py
>> @@ -241,7 +241,7 @@ texinfo_documents = [
>>  # We use paths starting from qemu_docdir here so that you can run
>>  # sphinx-build from anywhere and the kerneldoc extension can still
>>  # find everything.
>> -kerneldoc_bin = os.path.join(qemu_docdir, '../scripts/kernel-doc')
>> +kerneldoc_bin = ['perl', os.path.join(qemu_docdir,
'../scripts/kernel-doc')]
>>  kerneldoc_srctree = os.path.join(qemu_docdir, '..')
>>  hxtool_srctree = os.path.join(qemu_docdir, '..')
>>  qapidoc_srctree = os.path.join(qemu_docdir, '..')
>> diff --git a/docs/sphinx/kerneldoc.py b/docs/sphinx/kerneldoc.py
>> index 3e87940206..3ac277d162 100644
>> --- a/docs/sphinx/kerneldoc.py
>> +++ b/docs/sphinx/kerneldoc.py
>> @@ -67,7 +67,7 @@ class KernelDocDirective(Directive):
>>
>>      def run(self):
>>          env = self.state.document.settings.env
>> -        cmd = [env.config.kerneldoc_bin, '-rst', '-enable-lineno']
>> +        cmd = env.config.kerneldoc_bin + ['-rst', '-enable-lineno']
  meson use the conf directly
>>
>>          filename = env.config.kerneldoc_srctree + '/' +
self.arguments[0]

>>          export_file_patterns = []
>> --
>> 2.28.0.windows.1
>>


--
         此致
礼
罗勇刚
Yours
    sincerely,
Yonggang Luo
<div dir="ltr"><br><br>On Fri, Oct 16, 2020 at 6:19 AM Paolo Bonzini &lt;<a href="mailto:pbonzini@redhat.com">pbonzini@redhat.com</a>&gt; wrote:<br>&gt;<br>&gt;<br>&gt;<br>&gt; Il ven 16 ott 2020, 00:06 Yonggang Luo &lt;<a href="mailto:luoyonggang@gmail.com">luoyonggang@gmail.com</a>&gt; ha scritto:<br>&gt;&gt;<br>&gt;&gt; meson didn&#39;t support running ../scripts/kernel-do directly<br>&gt;<br>&gt;<br>&gt; Can you explain why this matters? Meson does not look at docs/conf.py.<br>&gt;<br>&gt; Paolo<br>&gt;<br>&gt;&gt;<br>&gt;&gt; Signed-off-by: Yonggang Luo &lt;<a href="mailto:luoyonggang@gmail.com">luoyonggang@gmail.com</a>&gt;<br>&gt;&gt; ---<br>&gt;&gt;  docs/conf.py             | 2 +-<br>&gt;&gt;  docs/sphinx/kerneldoc.py | 2 +-<br>&gt;&gt;  2 files changed, 2 insertions(+), 2 deletions(-)<br>&gt;&gt;<br>&gt;&gt; diff --git a/docs/conf.py b/docs/conf.py<br>&gt;&gt; index 00e1b750e2..e584f68393 100644<br>&gt;&gt; --- a/docs/conf.py<br>&gt;&gt; +++ b/docs/conf.py<br>&gt;&gt; @@ -241,7 +241,7 @@ texinfo_documents = [<br>&gt;&gt;  # We use paths starting from qemu_docdir here so that you can run<br>&gt;&gt;  # sphinx-build from anywhere and the kerneldoc extension can still<br>&gt;&gt;  # find everything.<br>&gt;&gt; -kerneldoc_bin = os.path.join(qemu_docdir, &#39;../scripts/kernel-doc&#39;)<br>&gt;&gt; +kerneldoc_bin = [&#39;perl&#39;, os.path.join(qemu_docdir, &#39;../scripts/kernel-doc&#39;)]<br>&gt;&gt;  kerneldoc_srctree = os.path.join(qemu_docdir, &#39;..&#39;)<br>&gt;&gt;  hxtool_srctree = os.path.join(qemu_docdir, &#39;..&#39;)<br>&gt;&gt;  qapidoc_srctree = os.path.join(qemu_docdir, &#39;..&#39;)<br>&gt;&gt; diff --git a/docs/sphinx/kerneldoc.py b/docs/sphinx/kerneldoc.py<br>&gt;&gt; index 3e87940206..3ac277d162 100644<br>&gt;&gt; --- a/docs/sphinx/kerneldoc.py<br>&gt;&gt; +++ b/docs/sphinx/kerneldoc.py<br>&gt;&gt; @@ -67,7 +67,7 @@ class KernelDocDirective(Directive):<br>&gt;&gt;<br>&gt;&gt;      def run(self):<br>&gt;&gt;          env = self.state.document.settings.env<br>&gt;&gt; -        cmd = [env.config.kerneldoc_bin, &#39;-rst&#39;, &#39;-enable-lineno&#39;]<br>&gt;&gt; +        cmd = env.config.kerneldoc_bin + [&#39;-rst&#39;, &#39;-enable-lineno&#39;]<div>  meson use the conf directly <br>&gt;&gt;<br>&gt;&gt;          filename = env.config.kerneldoc_srctree + &#39;/&#39; + self.arguments[0]<div><br>&gt;&gt;          export_file_patterns = []<br>&gt;&gt; --<br>&gt;&gt; 2.28.0.windows.1<br>&gt;&gt;<br><br><br>--<br>         此致<br>礼<br>罗勇刚<br>Yours<br>    sincerely,<br>Yonggang Luo</div></div></div>