All of lore.kernel.org
 help / color / mirror / Atom feed
From: Carlos Bilbao <carlos.bilbao@amd.com>
To: Jani Nikula <jani.nikula@linux.intel.com>,
	corbet@lwn.net, akiyks@gmail.com, ojeda@kernel.org
Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
	bilbao@vt.edu, konstantin@linuxfoundation.org
Subject: Re: [PATCH v3 1/2] docs: Move rustdoc output, cross-reference it
Date: Wed, 7 Dec 2022 07:49:25 -0600	[thread overview]
Message-ID: <5887a9cd-b48e-e2af-7639-3f9ff53fcd8a@amd.com> (raw)
In-Reply-To: <87359r39gg.fsf@intel.com>

On 12/7/22 2:27 AM, Jani Nikula wrote:
> On Tue, 06 Dec 2022, Carlos Bilbao <carlos.bilbao@amd.com> wrote:
>> Generate rustdoc documentation with the rest of subsystem's documentation
>> in Documentation/output. Add a cross reference to the generated rustdoc in
>> Documentation/rust/index.rst.
>>
>> Signed-off-by: Carlos Bilbao <carlos.bilbao@amd.com>
>> ---
>>  Documentation/rust/index.rst |  5 +++++
>>  rust/Makefile                | 15 +++++++++------
>>  2 files changed, 14 insertions(+), 6 deletions(-)
>>
>> diff --git a/Documentation/rust/index.rst b/Documentation/rust/index.rst
>> index 4ae8c66b94fa..416d6b3de1e4 100644
>> --- a/Documentation/rust/index.rst
>> +++ b/Documentation/rust/index.rst
>> @@ -6,6 +6,11 @@ Rust
>>  Documentation related to Rust within the kernel. To start using Rust
>>  in the kernel, please read the quick-start.rst guide.
>>  
>> +.. only:: html
>> +
>> +	If this documentation includes rustdoc-generated HTML, the entry
>> +	point can be found `here <rustdoc/kernel/index.html>`_.
>> +
> 
> It's a bit meh to have documentation that points to places that might
> 404 and the user has to figure it out.
> 
> We can do better than that.
> 
> You could use CONFIG_RUST to pass e.g. "-t rustdoc" to Sphinx in the
> Makefile, and use:
> 
> .. only:: rustdoc
> 
> and
> 
> .. only:: not rustdoc
> 
> And document accordingly.
> 
> Also, please don't use "here" as the link text.

Why not?

> 
> BR,
> Jani.
> 
> 
>>  .. toctree::
>>      :maxdepth: 1
>>  
>> diff --git a/rust/Makefile b/rust/Makefile
>> index 7700d3853404..080c07048065 100644
>> --- a/rust/Makefile
>> +++ b/rust/Makefile
>> @@ -1,5 +1,8 @@
>>  # SPDX-License-Identifier: GPL-2.0
>>  
>> +# Where to place rustdoc generated documentation
>> +RUSTDOC_OUTPUT = $(objtree)/Documentation/output/rust/rustdoc
>> +
>>  always-$(CONFIG_RUST) += target.json
>>  no-clean-files += target.json
>>  
>> @@ -58,7 +61,7 @@ quiet_cmd_rustdoc = RUSTDOC $(if $(rustdoc_host),H, ) $<
>>  	OBJTREE=$(abspath $(objtree)) \
>>  	$(RUSTDOC) $(if $(rustdoc_host),$(rust_common_flags),$(rust_flags)) \
>>  		$(rustc_target_flags) -L$(objtree)/$(obj) \
>> -		--output $(objtree)/$(obj)/doc \
>> +		--output $(RUSTDOC_OUTPUT) \
>>  		--crate-name $(subst rustdoc-,,$@) \
>>  		@$(objtree)/include/generated/rustc_cfg $<
>>  
>> @@ -75,15 +78,15 @@ quiet_cmd_rustdoc = RUSTDOC $(if $(rustdoc_host),H, ) $<
>>  # and then retouch the generated files.
>>  rustdoc: rustdoc-core rustdoc-macros rustdoc-compiler_builtins \
>>      rustdoc-alloc rustdoc-kernel
>> -	$(Q)cp $(srctree)/Documentation/images/logo.svg $(objtree)/$(obj)/doc
>> -	$(Q)cp $(srctree)/Documentation/images/COPYING-logo $(objtree)/$(obj)/doc
>> -	$(Q)find $(objtree)/$(obj)/doc -name '*.html' -type f -print0 | xargs -0 sed -Ei \
>> +	$(Q)cp $(srctree)/Documentation/images/logo.svg $(RUSTDOC_OUTPUT)
>> +	$(Q)cp $(srctree)/Documentation/images/COPYING-logo $(RUSTDOC_OUTPUT)
>> +	$(Q)find $(RUSTDOC_OUTPUT) -name '*.html' -type f -print0 | xargs -0 sed -Ei \
>>  		-e 's:rust-logo\.svg:logo.svg:g' \
>>  		-e 's:rust-logo\.png:logo.svg:g' \
>>  		-e 's:favicon\.svg:logo.svg:g' \
>>  		-e 's:<link rel="alternate icon" type="image/png" href="[./]*favicon-(16x16|32x32)\.png">::g'
>>  	$(Q)echo '.logo-container > img { object-fit: contain; }' \
>> -		>> $(objtree)/$(obj)/doc/rustdoc.css
>> +		>> $(RUSTDOC_OUTPUT)/rustdoc.css
>>  
>>  rustdoc-macros: private rustdoc_host = yes
>>  rustdoc-macros: private rustc_target_flags = --crate-type proc-macro \
>> @@ -141,7 +144,7 @@ quiet_cmd_rustdoc_test = RUSTDOC T $<
>>  		@$(objtree)/include/generated/rustc_cfg \
>>  		$(rustc_target_flags) $(rustdoc_test_target_flags) \
>>  		--sysroot $(objtree)/$(obj)/test/sysroot $(rustdoc_test_quiet) \
>> -		-L$(objtree)/$(obj)/test --output $(objtree)/$(obj)/doc \
>> +		-L$(objtree)/$(obj)/test --output $(RUSTDOC_OUTPUT) \
>>  		--crate-name $(subst rusttest-,,$@) $<
>>  
>>  # We cannot use `-Zpanic-abort-tests` because some tests are dynamic,
> 

Thanks,
Carlos

  reply	other threads:[~2022-12-07 13:49 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-30 22:08 [PATCH] docs: Integrate rustdoc into Rust documentation Carlos Bilbao
2022-12-01 12:42 ` Miguel Ojeda
2022-12-01 20:40   ` Carlos Bilbao
2022-12-02 16:27     ` Miguel Ojeda
2022-12-02 16:30       ` Carlos Bilbao
2022-12-01 20:48 ` [PATCH v2] " Carlos Bilbao
2022-12-05  1:06   ` Akira Yokosawa
2022-12-05 16:08     ` Miguel Ojeda
2022-12-06 13:32       ` Akira Yokosawa
2022-12-06 15:02         ` Jonathan Corbet
2022-12-06 15:39         ` Miguel Ojeda
2022-12-05 16:36     ` Carlos Bilbao
2022-12-06 14:22       ` Akira Yokosawa
2022-12-06 14:55         ` Carlos Bilbao
2022-12-06 15:01         ` Carlos Bilbao
2022-12-06 15:31   ` [PATCH v3 0/2] " Carlos Bilbao
2022-12-06 15:31     ` [PATCH v3 1/2] docs: Move rustdoc output, cross-reference it Carlos Bilbao
2022-12-06 22:56       ` Akira Yokosawa
2022-12-07  8:27       ` Jani Nikula
2022-12-07 13:49         ` Carlos Bilbao [this message]
2022-12-07 14:15           ` Jani Nikula
2022-12-07 15:06             ` Carlos Bilbao
2022-12-07 19:33           ` Jonathan Corbet
2022-12-06 15:31     ` [PATCH v3 2/2] docs: Integrate rustdoc generation into htmldocs Carlos Bilbao
2022-12-06 23:11       ` Akira Yokosawa
2022-12-07  0:06         ` Randy Dunlap

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5887a9cd-b48e-e2af-7639-3f9ff53fcd8a@amd.com \
    --to=carlos.bilbao@amd.com \
    --cc=akiyks@gmail.com \
    --cc=bilbao@vt.edu \
    --cc=corbet@lwn.net \
    --cc=jani.nikula@linux.intel.com \
    --cc=konstantin@linuxfoundation.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ojeda@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.