Re: [PATCH v2 1/2] Makefile: rust-analyzer target: better error handling

From: Finn Behrens
Date: Tue Jun 25 2024 - 15:07:18 EST




On 20 Jun 2024, at 22:54, John Hubbard wrote:

> 1) Provide a better error message for the "Rust not available" case.
> Without this patch, one gets various misleading messages, such as:
>
> "No rule to make target 'rust-analyzer'"
>
> Instead, run scripts/rust_is_available.sh directly, as a prerequisite,
> and let that script report the cause of any problems, as well as
> providing a link to the documentation. Thanks to Miguel Ojeda for the
> idea of just letting rust_is_available.sh report its results directly.
>
> The new output in the failure case looks like this:
>
> $ make rust-analyzer
> ***
> *** Rust compiler 'rustc' could not be found.
> ***
> ***
> *** Please see Documentation/rust/quick-start.rst for details
> *** on how to set up the Rust support.
> ***
> make[1]: *** [/kernel_work/linux-github/Makefile:1975: rust-analyzer] Error 1
> make: *** [Makefile:240: __sub-make] Error 2
>
> Cc: Alice Ryhl <aliceryhl@xxxxxxxxxx>
> Acked-by: Miguel Ojeda <ojeda@xxxxxxxxxx>
> Signed-off-by: John Hubbard <jhubbard@xxxxxxxxxx>
> ---
> Makefile | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Makefile b/Makefile
> index 14427547dc1e..07308277a6f5 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1970,6 +1970,7 @@ tags TAGS cscope gtags: FORCE
> # IDE support targets
> PHONY += rust-analyzer
> rust-analyzer:
> + $(Q)$(CONFIG_SHELL) $(srctree)/scripts/rust_is_available.sh
> $(Q)$(MAKE) $(build)=rust $@
>
> # Script to generate missing namespace dependencies
> --
> 2.45.2

Reviewed-by: Finn Behrens <me@xxxxxxxxxx>