[PATCH v6 0/9] Use Doxygen and sphinx for html documentation

Luca Fancellu posted 9 patches 3 years, 6 months ago
Test gitlab-ci failed
Patches applied successfully (tree, apply log)
git fetch https://gitlab.com/xen-project/patchew/xen tags/patchew/20210510084105.17108-1-luca.fancellu@arm.com
There is a newer version of this series
.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
[PATCH v6 0/9] Use Doxygen and sphinx for html documentation
Posted by Luca Fancellu 3 years, 6 months ago
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
Posted by Luca Fancellu 3 years, 5 months ago
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
> 
>