diff options
author | Matthew Maurer <mmaurer@google.com> | 2023-10-31 20:10:14 +0000 |
---|---|---|
committer | Miguel Ojeda <ojeda@kernel.org> | 2023-12-14 20:14:01 +0100 |
commit | 71479eee9da8ddb53f3ddb91bc8591d90fb8b142 (patch) | |
tree | d4a9aec9214b59feee290bd9cb0b8f403bc01775 /rust | |
parent | 88c2e1169f5f0c2ccdd0a001e4447a1b0da2b661 (diff) | |
download | lwn-71479eee9da8ddb53f3ddb91bc8591d90fb8b142.tar.gz lwn-71479eee9da8ddb53f3ddb91bc8591d90fb8b142.zip |
rust: Suppress searching builtin sysroot
By default, if Rust is passed `--target=foo` rather than a target.json
file, it will infer a default sysroot if that component is installed. As
the proposed aarch64 support [1] uses `aarch64-unknown-none` rather than a
target.json file, this is needed [2] to prevent rustc from being confused
between the custom kernel sysroot and the pre-installed one.
[ Miguel: Applied Boqun's extra case (for `rusttest`) and reworded to add
links to the arm64 patch series discussion. In addition, fixed the
`rustdoc` target too (which requires a conditional since `cmd_rustdoc`
is also used for host crates like `macros`). ]
Signed-off-by: Matthew Maurer <mmaurer@google.com>
Tested-by: Boqun Feng <boqun.feng@gmail.com>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Link: https://lore.kernel.org/rust-for-linux/20231020155056.3495121-1-Jamie.Cunliffe@arm.com/ [1]
Link: https://lore.kernel.org/rust-for-linux/CAGSQo01pOixiPXkW867h4vPUaAjtKtHGKhkV-rpifJvKxAf4Ww@mail.gmail.com/ [2]
Link: https://lore.kernel.org/r/20231031201752.1189213-1-mmaurer@google.com
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
Diffstat (limited to 'rust')
-rw-r--r-- | rust/Makefile | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/rust/Makefile b/rust/Makefile index 2912c5e075cb..5a3e3140e234 100644 --- a/rust/Makefile +++ b/rust/Makefile @@ -78,6 +78,7 @@ quiet_cmd_rustdoc = RUSTDOC $(if $(rustdoc_host),H, ) $< $(rustc_target_flags) -L$(objtree)/$(obj) \ --output $(rustdoc_output) \ --crate-name $(subst rustdoc-,,$@) \ + $(if $(rustdoc_host),,--sysroot=/dev/null) \ @$(objtree)/include/generated/rustc_cfg $< # The `html_logo_url` and `html_favicon_url` forms of the `doc` attribute @@ -178,6 +179,7 @@ quiet_cmd_rustdoc_test_kernel = RUSTDOC TK $< --extern build_error --extern macros \ --extern bindings --extern uapi \ --no-run --crate-name kernel -Zunstable-options \ + --sysroot=/dev/null \ --test-builder $(objtree)/scripts/rustdoc_test_builder \ $< $(rustdoc_test_kernel_quiet); \ $(objtree)/scripts/rustdoc_test_gen @@ -404,6 +406,7 @@ quiet_cmd_rustc_library = $(if $(skip_clippy),RUSTC,$(RUSTC_OR_CLIPPY_QUIET)) L --emit=metadata=$(dir $@)$(patsubst %.o,lib%.rmeta,$(notdir $@)) \ --crate-type rlib -L$(objtree)/$(obj) \ --crate-name $(patsubst %.o,%,$(notdir $@)) $< \ + --sysroot=/dev/null \ $(if $(rustc_objcopy),;$(OBJCOPY) $(rustc_objcopy) $@) rust-analyzer: |