Mailing List Archive

[PATCH v6 0/9] Use Doxygen and sphinx for html documentation
This serie introduce doxygen in the sphinx html docs generation.
One benefit is to keep most of the documentation in the source
files of xen so that it's more maintainable, on the other hand
there are some limitation of doxygen that should be addressed
modifying the current codebase (for example doxygen can't parse
anonymous structure/union).

To reproduce the documentation xen must be compiled because
most of the headers are generated on compilation time from
the makefiles.

Here follows the steps to generate the sphinx html docs, some
package may be required on your machine, everything is suggested
by the autoconf script.
Here I'm building the arm64 docs (the only introduced for now by
this serie):

./configure
make -C xen XEN_TARGET_ARCH="arm64" CROSS_COMPILE="aarch64-linux-gnu-" menuconfig
make -C xen XEN_TARGET_ARCH="arm64" CROSS_COMPILE="aarch64-linux-gnu-"
make -C docs XEN_TARGET_ARCH="arm64" sphinx-html

now in docs/sphinx/html/ we have the generated docs starting
from the index.html page.

Luca Fancellu (9):
docs: add doxygen configuration file
docs: add Xen png logo for the doxygen documentation
docs: add doxygen templates
m4/python: add function to docs_tool.m4 and new m4 module
docs: add checks to configure for sphinx and doxygen
docs: add doxygen preprocessor and related files
docs: Change Makefile and sphinx configuration for doxygen
docs: hypercalls sphinx skeleton for generated html
docs/doxygen: doxygen documentation for grant_table.h

.gitignore | 7 +
config/Docs.mk.in | 2 +
docs/Makefile | 46 +-
docs/conf.py | 48 +-
docs/configure | 258 ++
docs/configure.ac | 15 +
docs/hypercall-interfaces/arm32.rst | 32 +
docs/hypercall-interfaces/arm64.rst | 33 +
.../common/grant_tables.rst | 9 +
docs/hypercall-interfaces/index.rst.in | 7 +
docs/hypercall-interfaces/x86_64.rst | 32 +
docs/index.rst | 8 +
docs/xen-doxygen/customdoxygen.css | 36 +
docs/xen-doxygen/doxy-preprocessor.py | 110 +
docs/xen-doxygen/doxy_input.list | 1 +
docs/xen-doxygen/doxygen_include.h.in | 32 +
docs/xen-doxygen/footer.html | 21 +
docs/xen-doxygen/header.html | 56 +
docs/xen-doxygen/mainpage.md | 5 +
docs/xen-doxygen/xen_project_logo_165x67.png | Bin 0 -> 18223 bytes
docs/xen.doxyfile.in | 2316 +++++++++++++++++
m4/ax_python_module.m4 | 56 +
m4/docs_tool.m4 | 9 +
xen/include/public/grant_table.h | 387 +--
24 files changed, 3367 insertions(+), 159 deletions(-)
create mode 100644 docs/hypercall-interfaces/arm32.rst
create mode 100644 docs/hypercall-interfaces/arm64.rst
create mode 100644 docs/hypercall-interfaces/common/grant_tables.rst
create mode 100644 docs/hypercall-interfaces/index.rst.in
create mode 100644 docs/hypercall-interfaces/x86_64.rst
create mode 100644 docs/xen-doxygen/customdoxygen.css
create mode 100755 docs/xen-doxygen/doxy-preprocessor.py
create mode 100644 docs/xen-doxygen/doxy_input.list
create mode 100644 docs/xen-doxygen/doxygen_include.h.in
create mode 100644 docs/xen-doxygen/footer.html
create mode 100644 docs/xen-doxygen/header.html
create mode 100644 docs/xen-doxygen/mainpage.md
create mode 100644 docs/xen-doxygen/xen_project_logo_165x67.png
create mode 100644 docs/xen.doxyfile.in
create mode 100644 m4/ax_python_module.m4

--
2.17.1
Re: [PATCH v6 0/9] Use Doxygen and sphinx for html documentation [ In reply to ]
Hello Xen community,

Can someone have a look on these patches? Some of them are acked but some others needs review.

Many thanks!

Cheers,
Luca

> On 10 May 2021, at 09:40, Luca Fancellu <Luca.Fancellu@arm.com> wrote:
>
> This serie introduce doxygen in the sphinx html docs generation.
> One benefit is to keep most of the documentation in the source
> files of xen so that it's more maintainable, on the other hand
> there are some limitation of doxygen that should be addressed
> modifying the current codebase (for example doxygen can't parse
> anonymous structure/union).
>
> To reproduce the documentation xen must be compiled because
> most of the headers are generated on compilation time from
> the makefiles.
>
> Here follows the steps to generate the sphinx html docs, some
> package may be required on your machine, everything is suggested
> by the autoconf script.
> Here I'm building the arm64 docs (the only introduced for now by
> this serie):
>
> ./configure
> make -C xen XEN_TARGET_ARCH="arm64" CROSS_COMPILE="aarch64-linux-gnu-" menuconfig
> make -C xen XEN_TARGET_ARCH="arm64" CROSS_COMPILE="aarch64-linux-gnu-"
> make -C docs XEN_TARGET_ARCH="arm64" sphinx-html
>
> now in docs/sphinx/html/ we have the generated docs starting
> from the index.html page.
>
> Luca Fancellu (9):
> docs: add doxygen configuration file
> docs: add Xen png logo for the doxygen documentation
> docs: add doxygen templates
> m4/python: add function to docs_tool.m4 and new m4 module
> docs: add checks to configure for sphinx and doxygen
> docs: add doxygen preprocessor and related files
> docs: Change Makefile and sphinx configuration for doxygen
> docs: hypercalls sphinx skeleton for generated html
> docs/doxygen: doxygen documentation for grant_table.h
>
> .gitignore | 7 +
> config/Docs.mk.in | 2 +
> docs/Makefile | 46 +-
> docs/conf.py | 48 +-
> docs/configure | 258 ++
> docs/configure.ac | 15 +
> docs/hypercall-interfaces/arm32.rst | 32 +
> docs/hypercall-interfaces/arm64.rst | 33 +
> .../common/grant_tables.rst | 9 +
> docs/hypercall-interfaces/index.rst.in | 7 +
> docs/hypercall-interfaces/x86_64.rst | 32 +
> docs/index.rst | 8 +
> docs/xen-doxygen/customdoxygen.css | 36 +
> docs/xen-doxygen/doxy-preprocessor.py | 110 +
> docs/xen-doxygen/doxy_input.list | 1 +
> docs/xen-doxygen/doxygen_include.h.in | 32 +
> docs/xen-doxygen/footer.html | 21 +
> docs/xen-doxygen/header.html | 56 +
> docs/xen-doxygen/mainpage.md | 5 +
> docs/xen-doxygen/xen_project_logo_165x67.png | Bin 0 -> 18223 bytes
> docs/xen.doxyfile.in | 2316 +++++++++++++++++
> m4/ax_python_module.m4 | 56 +
> m4/docs_tool.m4 | 9 +
> xen/include/public/grant_table.h | 387 +--
> 24 files changed, 3367 insertions(+), 159 deletions(-)
> create mode 100644 docs/hypercall-interfaces/arm32.rst
> create mode 100644 docs/hypercall-interfaces/arm64.rst
> create mode 100644 docs/hypercall-interfaces/common/grant_tables.rst
> create mode 100644 docs/hypercall-interfaces/index.rst.in
> create mode 100644 docs/hypercall-interfaces/x86_64.rst
> create mode 100644 docs/xen-doxygen/customdoxygen.css
> create mode 100755 docs/xen-doxygen/doxy-preprocessor.py
> create mode 100644 docs/xen-doxygen/doxy_input.list
> create mode 100644 docs/xen-doxygen/doxygen_include.h.in
> create mode 100644 docs/xen-doxygen/footer.html
> create mode 100644 docs/xen-doxygen/header.html
> create mode 100644 docs/xen-doxygen/mainpage.md
> create mode 100644 docs/xen-doxygen/xen_project_logo_165x67.png
> create mode 100644 docs/xen.doxyfile.in
> create mode 100644 m4/ax_python_module.m4
>
> --
> 2.17.1
>
>