Re: [PATCH v4 04/52] scripts: kernel-doc: make it more compatible with Sphinx 3.x

From: Jonathan Corbet
Date: Thu Oct 01 2020 - 19:02:08 EST


On Thu, 1 Oct 2020 15:41:00 -0600
Jonathan Corbet <corbet@xxxxxxx> wrote:

> On Wed, 30 Sep 2020 15:24:27 +0200
> Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx> wrote:
>
> > With Sphinx 3.x, the ".. c:type:" tag was changed to accept either:
> >
> > .. c:type:: typedef-like declaration
> > .. c:type:: name
> >
> > Using it for other types (including functions) don't work anymore.
> >
> > So, there are newer tags for macro, enum, struct, union, and others,
> > which doesn't exist on older versions.
> >
> > Add a check for the Sphinx version and change the produced tags
> > accordingly.
> >
> > Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx>
> > ---
> > scripts/kernel-doc | 71 ++++++++++++++++++++++++++++++++++++++++++----
> > 1 file changed, 65 insertions(+), 6 deletions(-)
>
> So this seems generally good, but I do wonder if we shouldn't just pass
> the sphinx version into kernel-doc as a parameter? We're already doing a
> version check in the makefile, we should be able to capture the result and
> pass it in, maybe?

Actually, I'm being slow...we invoke kernel-doc *from within Sphinx*, so
it shouldn't be all that hard to stick the version number onto the command
line. If we did it that way, it would also be easier to manually test
kernel-doc for various Sphinx versions... ?

jon