mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-09-22 09:34:56 +02:00
scripts: generate_rust_analyzer.py: define scripts
[ Upstream commit36c619f6bd] Add IDE support for host-side scripts written in Rust. This support has been missing since these scripts were initially added in commit9a8ff24ce5("scripts: add `generate_rust_target.rs`"), thus add it. Change the existing instance of extension stripping to `pathlib.Path.stem` to maintain code consistency. Fixes:9a8ff24ce5("scripts: add `generate_rust_target.rs`") Cc: stable@vger.kernel.org Reviewed-by: Daniel Almeida <daniel.almeida@collabora.com> Reviewed-by: Fiona Behrens <me@kloenk.dev> Reviewed-by: Trevor Gross <tmgross@umich.edu> Link: https://patch.msgid.link/20260122-rust-analyzer-scripts-v1-1-ff6ba278170e@kernel.org Signed-off-by: Tamir Duberstein <tamird@kernel.org> [ changed `[std]` dep to `["std"]` and kept untyped `is_root_crate()` ] Signed-off-by: Sasha Levin <sashal@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
07cbb1bd42
commit
377bbec04e
@@ -166,6 +166,18 @@ def generate_crates(srctree, objtree, sysroot_src, external_src, cfgs, core_edit
|
||||
append_crate_with_generated("uapi", ["core", "ffi", "pin_init"])
|
||||
append_crate_with_generated("kernel", ["core", "macros", "build_error", "pin_init", "ffi", "bindings", "uapi"])
|
||||
|
||||
scripts = srctree / "scripts"
|
||||
makefile = (scripts / "Makefile").read_text()
|
||||
for path in scripts.glob("*.rs"):
|
||||
name = path.stem
|
||||
if f"{name}-rust" not in makefile:
|
||||
continue
|
||||
append_crate(
|
||||
name,
|
||||
path,
|
||||
["std"],
|
||||
)
|
||||
|
||||
def is_root_crate(build_file, target):
|
||||
try:
|
||||
contents = build_file.read_text()
|
||||
@@ -182,7 +194,7 @@ def generate_crates(srctree, objtree, sysroot_src, external_src, cfgs, core_edit
|
||||
for folder in extra_dirs:
|
||||
for path in folder.rglob("*.rs"):
|
||||
logging.info("Checking %s", path)
|
||||
name = path.name.replace(".rs", "")
|
||||
name = path.stem
|
||||
|
||||
# Skip those that are not crate roots.
|
||||
if not is_root_crate(path.parent / "Makefile", name) and \
|
||||
|
||||
Reference in New Issue
Block a user