The root document usually has a special :ref:`genindex` link to the generated index. This is also the case for Documentation/index.rst. The other index.rst files deeper in the directory hierarchy usually don't. For SPHINXDIRS builds, the root document isn't Documentation/index.rst, but some other index.rst in the hierarchy. Currently they have a ".. only::" block to add the index link when doing SPHINXDIRS html builds. This is obviously very tedious and repetitive. The link is also added to all index.rst files in the hierarchy for SPHINXDIRS builds, not just the root document. Put the boilerplate in a sphinx-includes/subproject-index.rst file, and include it at the end of the root document for subproject builds in an ad-hoc source-read extension defined in conf.py. For now, keep having the boilerplate in translations, because this approach currently doesn't cover translated index link headers. Cc: Jonathan Corbet <corbet@lwn.net> Cc: Mauro Carvalho Chehab <mchehab@kernel.org> Cc: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Tested-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Reviewed-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> [jc: did s/doctree/kern_doc_dir/ ] Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260123143149.2024303-1-jani.nikula@intel.com>
61 lines
1.6 KiB
ReStructuredText
61 lines
1.6 KiB
ReStructuredText
.. SPDX-License-Identifier: GPL-2.0
|
|
|
|
Rust
|
|
====
|
|
|
|
Documentation related to Rust within the kernel. To start using Rust
|
|
in the kernel, please read the quick-start.rst guide.
|
|
|
|
|
|
The Rust experiment
|
|
-------------------
|
|
|
|
The Rust support was merged in v6.1 into mainline in order to help in
|
|
determining whether Rust as a language was suitable for the kernel, i.e. worth
|
|
the tradeoffs.
|
|
|
|
Currently, the Rust support is primarily intended for kernel developers and
|
|
maintainers interested in the Rust support, so that they can start working on
|
|
abstractions and drivers, as well as helping the development of infrastructure
|
|
and tools.
|
|
|
|
If you are an end user, please note that there are currently no in-tree
|
|
drivers/modules suitable or intended for production use, and that the Rust
|
|
support is still in development/experimental, especially for certain kernel
|
|
configurations.
|
|
|
|
|
|
Code documentation
|
|
------------------
|
|
|
|
Given a kernel configuration, the kernel may generate Rust code documentation,
|
|
i.e. HTML rendered by the ``rustdoc`` tool.
|
|
|
|
.. only:: rustdoc and html
|
|
|
|
This kernel documentation was built with `Rust code documentation
|
|
<rustdoc/kernel/index.html>`_.
|
|
|
|
.. only:: not rustdoc and html
|
|
|
|
This kernel documentation was not built with Rust code documentation.
|
|
|
|
A pregenerated version is provided at:
|
|
|
|
https://rust.docs.kernel.org
|
|
|
|
Please see the :ref:`Code documentation <rust_code_documentation>` section for
|
|
more details.
|
|
|
|
.. toctree::
|
|
:maxdepth: 1
|
|
|
|
quick-start
|
|
general-information
|
|
coding-guidelines
|
|
arch-support
|
|
testing
|
|
|
|
You can also find learning materials for Rust in its section in
|
|
:doc:`../process/kernel-docs`.
|