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

Re: Doxygen example


  • To: Bertrand Marquis <Bertrand.Marquis@xxxxxxx>
  • From: Stefano Stabellini <stefano.stabellini@xxxxxxxxxx>
  • Date: Thu, 10 Sep 2020 16:49:30 -0700 (PDT)
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 149.199.60.83) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=xilinx.com; dmarc=bestguesspass action=none header.from=xilinx.com; dkim=none (message not signed); 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=cX9/cVB/VDkczfo0FyE+g9ZKWoYIb8OMmSjLbUp/ZmE=; b=IovLhO5b2J2bmre0Rlj4kL7hivFET7ksunm3xlQ9BlI6TAmWjd+6iJ8H7NomP/mFqErLERQpe6vab1FYbK/qTTNANSUkilifJNf+MDEbHf+SgV5xKQV2x5NLDO1wNs+cX6/KWuOAuNO6AfgOryRB3nh+nUmpkNzUCSorvC/CltNTYTGgdp33+dos/MeEx2gzEoCajWwoNpP/79iAel004e/u7y+huSr/IsDPeU5PRjHxqDGiJtkv9QKwjqyv6/x5KFFUg7cTER9Yk0tRNA9yROA/aHr35lnysJra7R0ESm/a+AHy1gVCZ+Z2kmuBKvns/vfRliHEQjtoM3r47v+12g==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DNnMyemb0EGgxa64sPdW9UE91O5XM0JhcC9CxrXUnatO20YeVfemPtEand/Vhygg9ZONJX/6DUvPULJx35x4U7eaKgOpZwSx7Xkc+UUz5ib8G/MYDIzpj+BvEcGVZUOhGJ3GooEMu3CK6ekqFc+ChNr4qiG906TP0PGtd5YDck7iBkkingjvo3JpF7SfEEUhfOx65CCBgAjSNft4TH6dQsQylCqyorBHQomUWNqyHnVUx/PU0FKE6AausGmF0sMP+vgdFIs9FxczWwzHPRmEv7blDD5l8wYoDw5nDW9jj+gXOyKkfcRkDfIeJ7j4YWdOHef/xWa0hq7l8narM30OBg==
  • Cc: "fusa-sig@xxxxxxxxxxxxxxxxxxxx" <fusa-sig@xxxxxxxxxxxxxxxxxxxx>, Stefano Stabellini <stefanos@xxxxxxxxxx>
  • Delivery-date: Thu, 10 Sep 2020 23:49:42 +0000
  • List-id: This is a discussion list for members of the Xen Project FuSa SIG <fusa-sig.lists.xenproject.org>

Hi Bertrand,

Thanks, it made it so much easier to try it out!

I managed to use it to generate html docs for my Xen branch with the
modified in-code comments in kernel-doc format. FYI the branch is here:

http://xenbits.xenproject.org/git-http/people/sstabellini/xen-unstable.git 
hyp-docs-1


These are my findings. The good thing is that it does detect some of the
comments correctly, see for instance:

doxygen-output/html/public_2grant__table_8h.html#structgrant__entry__v1


Sometimes there are errors because the kernel-doc and doxygen formats
are not identical, for instance if you look at the generated description
of vcpu_runstate_info:

  Return information about the state and running time of a VCPU. == pointer to 
vcpu_runstate_info structure.

It looks like the syntax for fields (@field) is different for doxygen.
This kind of issues should be easy to fix.


Macros are detected, but there is no way to band together a group of
related definitions, so there is still an open issue on how we are going
to be able to provide an overview comment to explain what the group is
for. For instance, look at the comment on top of
event_channel.h:EVTCHNOP_bind_interdomain to explain the meaning of
EVTCHNOPs. I wonder where Doxygen could place it. At the moment it ends
up as the private comment of EVTCHNOP_bind_interdomain.
Another example of this issue is vcpu.h:VCPUOP_initialise.



To me the Doxygen output looks less "clear" than the kernel-doc output,
but it could be a matter of taste.


The biggest problem I spotted looking throught the generated html is
that it declares all the DEFINE_XEN_GUEST_HANDLE as "Functions" while
they are actually data structures. As an example see the list of
"Functions" under:

doxygen-output/html/public_2sched_8h.html

This is definitely something we would need to solve one way or another
if we go down the doxygen route. Even finding a way to suppress it would
be an improvement.


Cheers,

Stefano



On Wed, 9 Sep 2020, Bertrand Marquis wrote:
> Hi,
> 
> Following up on 2020-09-08 call, i did a merge request on our gitlab 
> repository to provide an example of doxygen configuration and a makefile to 
> use it.
> 
> You can find the merge request here:
> https://gitlab.com/xen-project/fusa/-/merge_requests/9
> 
> To use it, you need to have clone of xen git repository and call the build 
> using:
> make XEN_TREE=/path/to/xen/clone
> 
> This will produce an html output in doxygen-output/html/index.html that you 
> can open in a browser.
> 
> So far the outcome is that doxygen is properly finding all elements but none 
> or almost none of the comments are in the right format.
> 
> Regards
> Bertrand



 


Rackspace

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