[v7,0/2] docs: Integrate rustdoc into Rust documentation

Message ID 20230717151624.3470714-1-carlos.bilbao@amd.com
Headers
Series docs: Integrate rustdoc into Rust documentation |

Message

Carlos Bilbao July 17, 2023, 3:16 p.m. UTC
  Include HTML output generated with rustdoc into the Linux kernel
documentation on Rust.

Carlos Bilbao:
 docs: Move rustdoc output, cross-reference it
 docs: Integrate rustdoc generation into htmldocs

---
V6 is https://lore.kernel.org/lkml/20230127165728.119507-1-carlos.bilbao@amd.com/
Changes since V6:
 - Skip Rust document generation entirely if .config doesn't exist.

Changes since V5:
 - Continue executing htmldocs even if rustdoc fails.

Changes since V4:
 - Limit rustdoc note only to html outputs.

Changes since V3:
 - Added Reviewed-Bys from Akira Yokosawa.
 - PATCH 1/2: Avoid error 404 adding tag `rustdoc` for Sphinx.
 - PATCH 1/2: Don't use "here" as link text, describe destination instead.
 - PATCH 2/2: Check CONFIG_RUST in a way that allows us to skip generation.
 - PATCH 2/2: Reoder Sphinx runs so they complete even if rustdoc fails.

Changes since V2:
 - Split v2 into two-patch series.
 - Add "only:: html" directive in Documentation/rust/index.rst reference

Changes since V1:
 - Work on top of v6.1-rc1.
 - Don't use rustdoc.rst, instead add link to Documentation/rust/index.rst.
 - In Documentation/Makefile, replace @make rustdoc for $(Q)$(MAKE) rustdoc.
 - Don't do LLVM=1 for all rustdoc generation within `make htmldocs`.
 - Add spaces on definition of RUSTDOC_OUTPUT, for consistency.

---
 Documentation/Makefile       | 20 ++++++++++++++++++++
 Documentation/rust/index.rst |  8 ++++++++
 rust/Makefile                | 15 +++++++++------
 3 files changed, 37 insertions(+), 6 deletions(-)
  

Comments

Carlos Bilbao July 17, 2023, 4:29 p.m. UTC | #1
On 7/17/23 10:16, Carlos Bilbao wrote:
> Include HTML output generated with rustdoc into the Linux kernel
> documentation on Rust.

Please, note that you can directly test the case in which .config is
not present by running `make htmldocs`. However, to test the case in which
CONFIG_RUST !=y, it is not enough to include a .config; you need to let the
kernel compile for a few seconds first. In other words, until the
compilation process is initiated (using `make`), the build system does not
parse the configuration file or use the defined options.

> 
> Carlos Bilbao:
>   docs: Move rustdoc output, cross-reference it
>   docs: Integrate rustdoc generation into htmldocs
> 
> ---
> V6 is https://lore.kernel.org/lkml/20230127165728.119507-1-carlos.bilbao@amd.com/
> Changes since V6:
>   - Skip Rust document generation entirely if .config doesn't exist.
> 
> Changes since V5:
>   - Continue executing htmldocs even if rustdoc fails.
> 
> Changes since V4:
>   - Limit rustdoc note only to html outputs.
> 
> Changes since V3:
>   - Added Reviewed-Bys from Akira Yokosawa.
>   - PATCH 1/2: Avoid error 404 adding tag `rustdoc` for Sphinx.
>   - PATCH 1/2: Don't use "here" as link text, describe destination instead.
>   - PATCH 2/2: Check CONFIG_RUST in a way that allows us to skip generation.
>   - PATCH 2/2: Reoder Sphinx runs so they complete even if rustdoc fails.
> 
> Changes since V2:
>   - Split v2 into two-patch series.
>   - Add "only:: html" directive in Documentation/rust/index.rst reference
> 
> Changes since V1:
>   - Work on top of v6.1-rc1.
>   - Don't use rustdoc.rst, instead add link to Documentation/rust/index.rst.
>   - In Documentation/Makefile, replace @make rustdoc for $(Q)$(MAKE) rustdoc.
>   - Don't do LLVM=1 for all rustdoc generation within `make htmldocs`.
>   - Add spaces on definition of RUSTDOC_OUTPUT, for consistency.
> 
> ---
>   Documentation/Makefile       | 20 ++++++++++++++++++++
>   Documentation/rust/index.rst |  8 ++++++++
>   rust/Makefile                | 15 +++++++++------
>   3 files changed, 37 insertions(+), 6 deletions(-)
> 

Thanks,
Carlos