]> www.infradead.org Git - users/jedix/linux-maple.git/commit
kbuild: rust: replace proc macros dependency on `core.o` with the version text
authorMiguel Ojeda <ojeda@kernel.org>
Mon, 2 Sep 2024 16:55:31 +0000 (18:55 +0200)
committerMiguel Ojeda <ojeda@kernel.org>
Thu, 5 Sep 2024 20:44:51 +0000 (22:44 +0200)
commitaeb0e24abbebebff3b5ac65486c933d0ecd5cf81
treebc8ed50667b7eee5856028f2721f898339bf69ee
parentac3e972629a69e118e3867531df936a6ce5e5f5a
kbuild: rust: replace proc macros dependency on `core.o` with the version text

With the `RUSTC_VERSION_TEXT` rebuild support in place, now proc macros
can depend on that instead of `core.o`.

This means that both the `core` and `macros` crates can be built in
parallel, and that touching `core.o` does not trigger a rebuild of the
proc macros.

This could be accomplished using the same approach as for `core`
(i.e. depending directly on `include/config/RUSTC_VERSION_TEXT`). However,
that is considered an implementation detail [1], and thus it is best
to avoid it. Instead, let fixdep find a string that we explicitly
write down in the source code for this purpose (like it is done for
`include/linux/compiler-version.h`), which we can easily do (unlike for
`core`) since this is our own source code.

Suggested-by: Masahiro Yamada <masahiroy@kernel.org>
Link: https://lore.kernel.org/rust-for-linux/CAK7LNAQBG0nDupXSgAAk-6nOqeqGVkr3H1RjYaqRJ1OxmLm6xA@mail.gmail.com/
Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>
Tested-by: Alice Ryhl <aliceryhl@google.com>
Acked-by: Masahiro Yamada <masahiroy@kernel.org>
Link: https://lore.kernel.org/r/20240902165535.1101978-5-ojeda@kernel.org
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
rust/Makefile
rust/macros/lib.rs