From: Miguel Ojeda <ojeda@kernel.org>
To: Miguel Ojeda <ojeda@kernel.org>,
Alex Gaynor <alex.gaynor@gmail.com>,
Wedson Almeida Filho <wedsonaf@gmail.com>,
Masahiro Yamada <masahiroy@kernel.org>
Cc: "Boqun Feng" <boqun.feng@gmail.com>,
"Gary Guo" <gary@garyguo.net>,
"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
"Benno Lossin" <benno.lossin@proton.me>,
"Andreas Hindborg" <a.hindborg@samsung.com>,
"Alice Ryhl" <aliceryhl@google.com>,
rust-for-linux@vger.kernel.org,
"Nathan Chancellor" <nathan@kernel.org>,
"Nicolas Schier" <nicolas@fjasle.eu>,
linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org,
patches@lists.linux.dev
Subject: [PATCH v2 0/6] `RUSTC_VERSION` and re-config/re-build support on compiler change
Date: Mon, 2 Sep 2024 18:55:27 +0200 [thread overview]
Message-ID: <20240902165535.1101978-1-ojeda@kernel.org> (raw)
This series mainly adds support for `CONFIG_RUSTC_VERSION` (which is needed for
other upcoming series) as well as support for rebuilding the kernel when the
Rust compiler version text changes, plus other secondary improvements.
v1: https://lore.kernel.org/rust-for-linux/20240808221138.873750-1-ojeda@kernel.org/
v2:
- Dropped patch #2 "kbuild: rust: make command for `RUSTC_VERSION_TEXT` closer
to the `CC` one" (Masahiro, Björn).
In other words, now the `RUSTC_VERSION_TEXT` command is kept as it
was, without `LC_ALL=1` nor `| head -n1`.
- Replaced `macros` crate dependency with a comment in the code that `fixdep`
will find, since we can do it for that one, unlike `core` (Masahiro,
Nicolas).
- Added patch (here #5) to add a warning when the Rust compiler used to build
the kernel differs from the one used to build an out-of-tree module, like
the C side does (Nicolas).
If the patch is not wanted, then it can be skipped without much loss, since
anyway Rust will fail to compile in that case. However, it would be nice to
have to prevent potentially unexpected situations and to clarify the errors
that `rustc` would emit later. See the commit message for more details.
- Rewrapped comment to stay under 80 lines (Nicolas).
- Picked up a couple tags that could more or less be reasonably taken given
the changes to v2. Re-runs of tests welcome!
Miguel Ojeda (6):
kbuild: rust: add `CONFIG_RUSTC_VERSION`
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
kbuild: rust: warn if the out-of-tree compiler differs from the kernel
one
docs: rust: include other expressions in conditional compilation
section
Documentation/rust/general-information.rst | 8 +++++++
Makefile | 18 ++++++++++-----
init/Kconfig | 11 ++++++++-
rust/Makefile | 7 +++---
rust/macros/lib.rs | 4 ++++
scripts/rustc-version.sh | 26 ++++++++++++++++++++++
6 files changed, 64 insertions(+), 10 deletions(-)
create mode 100755 scripts/rustc-version.sh
base-commit: a335e95914046c6bed45c0d17cabcd483682cf5e
--
2.46.0
next reply other threads:[~2024-09-02 16:55 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-02 16:55 Miguel Ojeda [this message]
2024-09-02 16:55 ` [PATCH v2 1/6] kbuild: rust: add `CONFIG_RUSTC_VERSION` Miguel Ojeda
2024-09-05 1:08 ` Masahiro Yamada
2024-09-05 20:46 ` Miguel Ojeda
2024-09-02 16:55 ` [PATCH v2 2/6] kbuild: rust: re-run Kconfig if the version text changes Miguel Ojeda
2024-09-02 16:55 ` [PATCH v2 3/6] kbuild: rust: rebuild " Miguel Ojeda
2024-09-02 16:55 ` [PATCH v2 4/6] kbuild: rust: replace proc macros dependency on `core.o` with the version text Miguel Ojeda
2024-09-02 16:55 ` [PATCH v2 5/6] kbuild: rust: warn if the out-of-tree compiler differs from the kernel one Miguel Ojeda
2024-09-02 16:55 ` [PATCH v2 6/6] docs: rust: include other expressions in conditional compilation section Miguel Ojeda
2024-09-03 11:35 ` [PATCH v2 0/6] `RUSTC_VERSION` and re-config/re-build support on compiler change Alice Ryhl
2024-09-03 11:36 ` Miguel Ojeda
2024-09-04 19:32 ` Nicolas Schier
2024-09-04 21:15 ` Miguel Ojeda
2024-09-04 21:15 ` Miguel Ojeda
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240902165535.1101978-1-ojeda@kernel.org \
--to=ojeda@kernel.org \
--cc=a.hindborg@samsung.com \
--cc=alex.gaynor@gmail.com \
--cc=aliceryhl@google.com \
--cc=benno.lossin@proton.me \
--cc=bjorn3_gh@protonmail.com \
--cc=boqun.feng@gmail.com \
--cc=gary@garyguo.net \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=masahiroy@kernel.org \
--cc=nathan@kernel.org \
--cc=nicolas@fjasle.eu \
--cc=patches@lists.linux.dev \
--cc=rust-for-linux@vger.kernel.org \
--cc=wedsonaf@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).