[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v6 7/9] docs: Change Makefile and sphinx configuration for doxygen


  • To: Stefano Stabellini <sstabellini@xxxxxxxxxx>
  • From: Luca Fancellu <luca.fancellu@xxxxxxx>
  • Date: Mon, 5 Jul 2021 10:41:13 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HrAsSx0rfTEqLNvV8qc3N0KETcG70S8EnjOVMqOd7yQ=; b=i0HsNKVCc9B3h4LndvRxfnM4aT2JWRpBdo9AGpXsA5g0nLsC3kAYoL20EIBAHei3oS5wknqeGkCFMHymnu8nFKTuYPxiOEbWI+a9vGdXPlKr6qzqmVmIdLDNdX5gnLKZabNG5uwZ7YvR6LiW+rCWtxacemJH+7EETQ085SiofZdTAnqDA+R5bmndFYtuLxLCRyi72jvCRRwc9L1XiXrpDw70e/58Gj6CDK7GWNCTziP0N2AgSe5e02aqNMJxdcUl6wXrhbHcKgx1Xb0l+Ko0zyR/dyXdQZnrQ8giE3tfbqt4YfoKJXxhfJJb0wp09fNR6f3xcKa8jpy7TGjZYJelFA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UiWTkMZIzwrjl6UqEWmMO3L4AkU/0QcsUeEpwVPwYRebX9cxpwyg8acXa10zTXNRsXn2HRkIhNNleriMrIp++9TojOcqucHhscGdXQ9Jw8rdUKW2R7LL1myT2DtJ7e17MSGqlokTulMtSK2L1ctQyM5O3Vd6knAT8Fx9J9eYpBx6CYRifdYYhaQEquc39fqgNOAjxBMGk4D6lZfyXxXS3GG33mQHAYgXMLPJ90gM1L6GA8XSjK5WCqVR0+ExBphOlsJS5BLJb/Cci2nPNaRSR9RrVehbwE8WlbAdnMqCqgkL3rVFW0V91Xdqv8a74EwIAVM39vutCjmSnna2am9RnQ==
  • Authentication-results-original: kernel.org; dkim=none (message not signed) header.d=none;kernel.org; dmarc=none action=none header.from=arm.com;
  • Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx, Bertrand Marquis <bertrand.marquis@xxxxxxx>, wei.chen@xxxxxxx, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>, Ian Jackson <iwj@xxxxxxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Julien Grall <julien@xxxxxxx>, Wei Liu <wl@xxxxxxx>
  • Delivery-date: Mon, 05 Jul 2021 09:41:55 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Nodisclaimer: true
  • Original-authentication-results: kernel.org; dkim=none (message not signed) header.d=none;kernel.org; dmarc=none action=none header.from=arm.com;


> On 2 Jul 2021, at 23:23, Stefano Stabellini <sstabellini@xxxxxxxxxx> wrote:
> 
> On Fri, 2 Jul 2021, Luca Fancellu wrote:
>>> On 1 Jul 2021, at 18:43, Stefano Stabellini <sstabellini@xxxxxxxxxx> wrote:
>>> 
>>> On Thu, 1 Jul 2021, Luca Fancellu wrote:
>>>>> On 24 Jun 2021, at 00:33, Stefano Stabellini <sstabellini@xxxxxxxxxx> 
>>>>> wrote:
>>>>> 
>>>>> On Mon, 10 May 2021, Luca Fancellu wrote:
>>>>>> Modify docs/Makefile to call doxygen and generate sphinx
>>>>>> html documentation given the doxygen XML output.
>>>>>> 
>>>>>> Modify docs/conf.py sphinx configuration file to setup
>>>>>> the breathe extension that works as bridge between
>>>>>> sphinx and doxygen.
>>>>>> 
>>>>>> Add some files to the .gitignore to ignore some
>>>>>> generated files for doxygen.
>>>>>> 
>>>>>> Signed-off-by: Luca Fancellu <luca.fancellu@xxxxxxx>
>>>>>> ---
>>>>>> .gitignore    |  6 ++++++
>>>>>> docs/Makefile | 42 +++++++++++++++++++++++++++++++++++++++---
>>>>>> docs/conf.py  | 48 +++++++++++++++++++++++++++++++++++++++++++++---
>>>>>> 3 files changed, 90 insertions(+), 6 deletions(-)
>>>>>> 
>>>>>> diff --git a/.gitignore b/.gitignore
>>>>>> index 1c2fa1530b..d271e0ce6a 100644
>>>>>> --- a/.gitignore
>>>>>> +++ b/.gitignore
>>>>>> @@ -58,6 +58,12 @@ docs/man7/
>>>>>> docs/man8/
>>>>>> docs/pdf/
>>>>>> docs/txt/
>>>>>> +docs/doxygen-output
>>>>>> +docs/sphinx
>>>>>> +docs/xen.doxyfile
>>>>>> +docs/xen.doxyfile.tmp
>>>>>> +docs/xen-doxygen/doxygen_include.h
>>>>>> +docs/xen-doxygen/doxygen_include.h.tmp
>>>>>> extras/mini-os*
>>>>>> install/*
>>>>>> stubdom/*-minios-config.mk
>>>>>> diff --git a/docs/Makefile b/docs/Makefile
>>>>>> index 8de1efb6f5..2f784c36ce 100644
>>>>>> --- a/docs/Makefile
>>>>>> +++ b/docs/Makefile
>>>>>> @@ -17,6 +17,18 @@ TXTSRC-y := $(sort $(shell find misc -name '*.txt' 
>>>>>> -print))
>>>>>> 
>>>>>> PANDOCSRC-y := $(sort $(shell find designs/ features/ misc/ process/ 
>>>>>> specs/ \( -name '*.pandoc' -o -name '*.md' \) -print))
>>>>>> 
>>>>>> +# Directory in which the doxygen documentation is created
>>>>>> +# This must be kept in sync with breathe_projects value in conf.py
>>>>>> +DOXYGEN_OUTPUT = doxygen-output
>>>>>> +
>>>>>> +# Doxygen input headers from xen-doxygen/doxy_input.list file
>>>>>> +DOXY_LIST_SOURCES != cat "xen-doxygen/doxy_input.list"
>>>>>> +DOXY_LIST_SOURCES := $(realpath $(addprefix 
>>>>>> $(XEN_ROOT)/,$(DOXY_LIST_SOURCES)))
>>>> 
>>>> Hi Stefano,
>>>> 
>>>>> 
>>>>> I cannot find exactly who is populating doxy_input.list. I can see it is
>>>>> empty in patch #6. Does it get populated during the build?
>>>> 
>>>> doxy_input.list is the only file that should be modified by the developer 
>>>> when he/she wants to add documentation
>>>> for a new file to be parsed by Doxygen, in my patch about documenting 
>>>> grant_tables.h you can see I add
>>>> there the path “xen/include/public/grant_table.h"
>>> 
>>> OK, thanks. I missed that addition.
>>> 
>>> 
>>>>> 
>>>>>> +DOXY_DEPS := xen.doxyfile \
>>>>>> +                         xen-doxygen/mainpage.md \
>>>>>> +                         xen-doxygen/doxygen_include.h
>>>>>> +
>>>>>> # Documentation targets
>>>>>> $(foreach i,$(MAN_SECTIONS), \
>>>>>> $(eval DOC_MAN$(i) := $(patsubst man/%.$(i),man$(i)/%.$(i), \
>>>>>> @@ -46,8 +58,28 @@ all: build
>>>>>> build: html txt pdf man-pages figs
>>>>>> 
>>>>>> .PHONY: sphinx-html
>>>>>> -sphinx-html:
>>>>>> -        sphinx-build -b html . sphinx/html
>>>>>> +sphinx-html: $(DOXY_DEPS) $(DOXY_LIST_SOURCES)
>>>>>> +ifneq ($(SPHINXBUILD),no)
>>>>> 
>>>>> This check on SPHINXBUILD is new, it wasn't there before. Why do we need
>>>>> it now? We are not really changing anything in regards to Sphinx, just
>>>>> adding Doxygen support. Or was it a mistake that it was missing even
>>>>> before this patch?
>>>> 
>>>> Yes this is new, I saw that we didn’t look if sphinx was installed in the 
>>>> system, so now we did
>>> 
>>> In that case, I think anything related to SPHINXBUILD and whether sphinx
>>> is installed or not, should be a separate patch at the beginning of the
>>> series. It could be committed independently before the rest of the
>>> series. When we get to this patch, SPHINXBUILD should be already there.
>> 
>> I’ve introduced SPHINXBUILD in this patch: [PATCH v6 5/9] docs: add checks 
>> to configure for sphinx and doxygen,
>> In your commend do you mean that you would like it to be outside this serie 
>> and this serie to be based on top of that one?
> 

Hi Stefano,

> I totally missed patches 4 and 5. Can you please CC me to the whole
> series next time?

Yes, I think the script add_maintainers.pl didn’t add you in CC on these 
patches, for the next version I will add you manually

Cheers,

Luca

> 
> I meant as a separate patch, like you have done in patch #5. It doesn't
> necessarily need to be at the beginning of the series so what you have
> already done is OK.




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.