Re: [PATCH] scripts: `make rust-analyzer` for out-of-tree modules

From: Björn Roy Baron
Date: Fri Jan 20 2023 - 08:19:26 EST


------- Original Message -------
On Wednesday, January 18th, 2023 at 17:02, Vinay Varma <varmavinaym@xxxxxxxxx> wrote:


> Adds support for out-of-tree rust modules to use the `rust-analyzer`
> make target to generate the rust-project.json file.
>
> The change involves adding an optional parameter `external_src` to the
> `generate_rust_analyzer.py` which expects the path to the out-of-tree
> module's source directory. When this parameter is passed, I have chosen
> not to add the non-core modules (samples and drivers) into the result
> since these are not expected to be used in third party modules. Related
> changes are also made to the Makefile and rust/Makefile allowing the
> `rust-analyzer` target to be used for out-of-tree modules as well.
>
> Signed-off-by: Vinay Varma varmavinaym@xxxxxxxxx
>
> ---

I tested this with https://github.com/Rust-for-Linux/rust-out-of-tree-module using "make -C ../rust-for-linux M=$(pwd) rust-analyzer". It produces a rust-project.json file, however it misses the actual rust_out_of_tree crate. This is due to the fact that generate_rust_analyzer.py only checks Makefile to find the crate roots, but rust-out-of-tree-module defines it in Kbuild instead.

Apart from this issue, all paths I checked in the generated rust-project.json are correct.

Cheers,
Bjorn