mbox series

[0/6] kbuild: rust: add `RUSTC_VERSION` and reconfig/rebuild support

Message ID 20240808221138.873750-1-ojeda@kernel.org (mailing list archive)
Headers show
Series kbuild: rust: add `RUSTC_VERSION` and reconfig/rebuild support | expand

Message

Miguel Ojeda Aug. 8, 2024, 10:11 p.m. UTC
Hi all,

This series introduces `RUSTC_VERSION` support, which is needed for
several patch series getting upstreamed, and it will be increasingly
useful as we now support several Rust compiler (and `bindgen`) versions.
Later on, we will likely introduce other macros, such as
`rustc-min-version`.

In addition, the series introduces automatic reconfiguration and rebuild
based on `RUSTC_VERSION_TEXT`, to mimic the C side, which is also good
to have now that we support several versions.

It is based on top of the current `rust-fixes`, since there are a couple
pending changes to the version text Kconfig symbols that will be sent to
Linus soon for an -rc.

Cheers,
Miguel

Miguel Ojeda (6):
  kbuild: rust: add `CONFIG_RUSTC_VERSION`
  kbuild: rust: make command for `RUSTC_VERSION_TEXT` closer to the `CC`
    one
  kbuild: rust: re-run Kconfig if the version text changes
  kbuild: rust: rebuild if the version text changes
  kbuild: rust: replace proc macros dependency on `core.o` with the
    version text
  docs: rust: include other expressions in conditional compilation
    section

 Documentation/rust/general-information.rst |  8 +++++++
 Makefile                                   |  5 +++--
 init/Kconfig                               | 11 ++++++++-
 rust/Makefile                              |  8 +++----
 scripts/rustc-version.sh                   | 26 ++++++++++++++++++++++
 5 files changed, 51 insertions(+), 7 deletions(-)
 create mode 100755 scripts/rustc-version.sh


base-commit: fe992163575b187405899c5abaad8ef6fb828ff6
--
2.46.0

Comments

Alice Ryhl Aug. 19, 2024, 7:28 a.m. UTC | #1
On Fri, Aug 9, 2024 at 12:12 AM Miguel Ojeda <ojeda@kernel.org> wrote:
>
> Hi all,
>
> This series introduces `RUSTC_VERSION` support, which is needed for
> several patch series getting upstreamed, and it will be increasingly
> useful as we now support several Rust compiler (and `bindgen`) versions.
> Later on, we will likely introduce other macros, such as
> `rustc-min-version`.
>
> In addition, the series introduces automatic reconfiguration and rebuild
> based on `RUSTC_VERSION_TEXT`, to mimic the C side, which is also good
> to have now that we support several versions.
>
> It is based on top of the current `rust-fixes`, since there are a couple
> pending changes to the version text Kconfig symbols that will be sent to
> Linus soon for an -rc.
>
> Cheers,
> Miguel

I tested this together with Rust Binder. I also ran this patchset
through Android's CI setup to verify that it works in builds with
CONFIG_RUST disabled. It passes both with and without a Rust compiler
available to the build system.

Tested-by: Alice Ryhl <aliceryhl@google.com>

I'm happy to rerun these tests for new versions.

Alice
Miguel Ojeda Sept. 2, 2024, 5:40 p.m. UTC | #2
On Mon, Aug 19, 2024 at 9:29 AM Alice Ryhl <aliceryhl@google.com> wrote:
>
> I tested this together with Rust Binder. I also ran this patchset
> through Android's CI setup to verify that it works in builds with
> CONFIG_RUST disabled. It passes both with and without a Rust compiler
> available to the build system.
>
> Tested-by: Alice Ryhl <aliceryhl@google.com>
>
> I'm happy to rerun these tests for new versions.

Thanks a lot Alice, that is very useful.

I sent v2, in case you have time to give it another go.

Cheers,
Miguel
Masahiro Yamada Sept. 5, 2024, 1:19 a.m. UTC | #3
On Tue, Sep 3, 2024 at 2:40 AM Miguel Ojeda
<miguel.ojeda.sandonis@gmail.com> wrote:
>
> On Mon, Aug 19, 2024 at 9:29 AM Alice Ryhl <aliceryhl@google.com> wrote:
> >
> > I tested this together with Rust Binder. I also ran this patchset
> > through Android's CI setup to verify that it works in builds with
> > CONFIG_RUST disabled. It passes both with and without a Rust compiler
> > available to the build system.
> >
> > Tested-by: Alice Ryhl <aliceryhl@google.com>
> >
> > I'm happy to rerun these tests for new versions.
>
> Thanks a lot Alice, that is very useful.
>
> I sent v2, in case you have time to give it another go.
>
> Cheers,
> Miguel


With the nit in 1/6 fixed (No need to resend if you fix it locally)


Acked-by: Masahiro Yamada <masahiroy@kernel.org>
Miguel Ojeda Sept. 5, 2024, 8:47 p.m. UTC | #4
On Thu, Sep 5, 2024 at 3:19 AM Masahiro Yamada <masahiroy@kernel.org> wrote:
>
> With the nit in 1/6 fixed (No need to resend if you fix it locally)
>
> Acked-by: Masahiro Yamada <masahiroy@kernel.org>

Thanks a lot Masahiro (nit fixed and tag applied). I guess you meant
to reply to v2?

Cheers,
Miguel
Masahiro Yamada Sept. 5, 2024, 11:59 p.m. UTC | #5
On Fri, Sep 6, 2024 at 5:47 AM Miguel Ojeda
<miguel.ojeda.sandonis@gmail.com> wrote:
>
> On Thu, Sep 5, 2024 at 3:19 AM Masahiro Yamada <masahiroy@kernel.org> wrote:
> >
> > With the nit in 1/6 fixed (No need to resend if you fix it locally)
> >
> > Acked-by: Masahiro Yamada <masahiroy@kernel.org>
>
> Thanks a lot Masahiro (nit fixed and tag applied). I guess you meant
> to reply to v2?


Yes, I meant Ack to v2.

Sorry for confusion.