2022-12-30 04:05:31 +00:00
|
|
|
.. SPDX-License-Identifier: GPL-2.0+:
|
|
|
|
|
|
|
|
Building documentation
|
|
|
|
======================
|
|
|
|
|
|
|
|
The U-Boot documentation is based on the Sphinx documentation generator.
|
|
|
|
|
|
|
|
HTML documentation
|
|
|
|
------------------
|
|
|
|
|
|
|
|
The *htmldocs* target is used to build the HTML documentation. It uses the
|
|
|
|
`Read the Docs Sphinx theme <https://sphinx-rtd-theme.readthedocs.io/en/stable/>`_.
|
|
|
|
|
|
|
|
.. code-block:: bash
|
|
|
|
|
|
|
|
# Create Python environment 'myenv'
|
|
|
|
python3 -m venv myenv
|
|
|
|
# Activate the Python environment
|
|
|
|
. myenv/bin/activate
|
|
|
|
# Install build requirements
|
|
|
|
python3 -m pip install -r doc/sphinx/requirements.txt
|
|
|
|
# Build the documentation
|
|
|
|
make htmldocs
|
|
|
|
# Deactivate the Python environment
|
|
|
|
deactivate
|
|
|
|
# Display the documentation in a graphical web browser
|
|
|
|
x-www-browser doc/output/index.html
|
|
|
|
|
2023-04-07 09:17:23 +00:00
|
|
|
The HTML documentation is published at https://u-boot.readthedocs.io. The build
|
|
|
|
process for that site is controlled by the file *.readthedocs.yml*.
|
|
|
|
|
2022-12-30 04:05:31 +00:00
|
|
|
Infodoc documentation
|
|
|
|
---------------------
|
|
|
|
|
|
|
|
The *infodocs* target builds both a texinfo and an info file:
|
|
|
|
|
|
|
|
.. code-block:: bash
|
|
|
|
|
|
|
|
# Create Python environment 'myenv'
|
|
|
|
python3 -m venv myenv
|
|
|
|
# Activate the Python environment
|
|
|
|
. myenv/bin/activate
|
|
|
|
# Install build requirements
|
|
|
|
python3 -m pip install -r doc/sphinx/requirements.txt
|
|
|
|
# Build the documentation
|
|
|
|
make infodocs
|
|
|
|
# Deactivate the Python environment
|
|
|
|
deactivate
|
|
|
|
# Display the documentation
|
|
|
|
info doc/output/texinfo/u-boot.info
|
|
|
|
|
|
|
|
PDF documentation
|
|
|
|
-----------------
|
|
|
|
|
|
|
|
The *pdfdocs* target is meant to be used to build PDF documenation.
|
|
|
|
As v2023.01 it fails with 'LaTeX Error: Too deeply nested'.
|
|
|
|
|
|
|
|
We can use texi2pdf instead:
|
|
|
|
|
|
|
|
.. code-block:: bash
|
|
|
|
|
|
|
|
# Create Python environment 'myenv'
|
|
|
|
python3 -m venv myenv
|
|
|
|
# Activate the Python environment
|
|
|
|
. myenv/bin/activate
|
|
|
|
# Install build requirements
|
|
|
|
python3 -m pip install -r doc/sphinx/requirements.txt
|
|
|
|
# Build the documentation
|
|
|
|
make texinfodocs
|
|
|
|
# Deactivate the Python environment
|
|
|
|
deactivate
|
|
|
|
# Convert to PDF
|
|
|
|
texi2pdf doc/output/texinfo/u-boot.texi
|
|
|
|
|
|
|
|
Texinfo documentation
|
|
|
|
---------------------
|
|
|
|
|
|
|
|
To build only the texinfo documentation the *texinfodocs* target is used:
|
|
|
|
|
|
|
|
.. code-block:: bash
|
|
|
|
|
|
|
|
# Create Python environment 'myenv'
|
|
|
|
python3 -m venv myenv
|
|
|
|
# Activate the Python environment
|
|
|
|
. myenv/bin/activate
|
|
|
|
# Install build requirements
|
|
|
|
python3 -m pip install -r doc/sphinx/requirements.txt
|
|
|
|
# Build the documentation
|
|
|
|
make texinfodocs
|
|
|
|
# Deactivate the Python environment
|
|
|
|
deactivate
|
|
|
|
|
|
|
|
The output is in file *doc/output/texinfo/u-boot.texi*.
|