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@google.com>
Acked-by: Miguel Ojeda <ojeda@kernel.org>
Signed-off-by: John Hubbard <jhubbard@nvidia.com>
---
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
On Thu, Jun 20, 2024 at 10:55 PM John Hubbard <jhubbard@nvidia.com> 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@google.com> > Acked-by: Miguel Ojeda <ojeda@kernel.org> > Signed-off-by: John Hubbard <jhubbard@nvidia.com> Reviewed-by: Alice Ryhl <aliceryhl@google.com> Tested-by: Alice Ryhl <aliceryhl@google.com>
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@google.com> > Acked-by: Miguel Ojeda <ojeda@kernel.org> > Signed-off-by: John Hubbard <jhubbard@nvidia.com> > --- > 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@kloenk.dev>
© 2016 - 2025 Red Hat, Inc.