]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
kbuild: rust-analyzer: better error handling
authorJohn Hubbard <jhubbard@nvidia.com>
Fri, 28 Jun 2024 00:43:55 +0000 (17:43 -0700)
committerMiguel Ojeda <ojeda@kernel.org>
Mon, 8 Jul 2024 21:44:01 +0000 (23:44 +0200)
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

Reviewed-by: Finn Behrens <me@kloenk.dev>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Tested-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: John Hubbard <jhubbard@nvidia.com>
Link: https://lore.kernel.org/r/20240628004356.1384486-2-jhubbard@nvidia.com
[ Reworded title. - Miguel ]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
Makefile

index d4134a9f32b6e0e50c5bd277b274c2a6f8a1b40e..de5be3845c707bbad4ee65f875bcd64892a32005 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1969,6 +1969,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