[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20251204-gcc-rust-v5-v5-1-2d4f20d86c24@gmail.com>
Date: Thu, 04 Dec 2025 08:54:51 +0100
From: Asuna Yang <spriteovo@...il.com>
To: Nathan Chancellor <nathan@...nel.org>, Nicolas Schier <nsc@...nel.org>,
Miguel Ojeda <ojeda@...nel.org>, Boqun Feng <boqun.feng@...il.com>,
Gary Guo <gary@...yguo.net>,
Björn Roy Baron <bjorn3_gh@...tonmail.com>,
Benno Lossin <lossin@...nel.org>, Andreas Hindborg <a.hindborg@...nel.org>,
Alice Ryhl <aliceryhl@...gle.com>, Trevor Gross <tmgross@...ch.edu>,
Danilo Krummrich <dakr@...nel.org>,
Nick Desaulniers <nick.desaulniers+lkml@...il.com>,
Bill Wendling <morbo@...gle.com>, Justin Stitt <justinstitt@...gle.com>,
Paul Walmsley <pjw@...nel.org>, Palmer Dabbelt <palmer@...belt.com>,
Albert Ou <aou@...s.berkeley.edu>, Alexandre Ghiti <alex@...ti.fr>,
Jonathan Corbet <corbet@....net>, Jason Montleon <jmontleo@...hat.com>,
Han Gao <rabenda.cn@...il.com>, Conor Dooley <conor@...nel.org>,
Vivian Wang <wangruikang@...as.ac.cn>
Cc: linux-kbuild@...r.kernel.org, linux-kernel@...r.kernel.org,
rust-for-linux@...r.kernel.org, llvm@...ts.linux.dev,
linux-riscv@...ts.infradead.org, linux-doc@...r.kernel.org,
Asuna Yang <SpriteOvO@...il.com>, Asuna Yang <spriteovo@...il.com>
Subject: [PATCH v5 1/4] rust: export BINDGEN_TARGET from a separate
Makefile
From: Asuna Yang <spriteovo@...il.com>
A subsequent commit will add a new function `bindgen-option` to
`scripts/Kconfig.include`. The bindgen backend requires the `--target`
option for cross compiling, but variable `BINDGEN_TARGET` in
`rust/Makefile` cannot be exported to `scripts/Kconfig.include`.
Therefore, move this variable to a separate new `Makefile.rust` file and
include it from `scripts/Makefile` to make the exported variable
available for use in Kconfig. Place the include in the `need-compiler`
branch to avoid including it in irrelevant make targets.
Since the new file name is `Makefile.rust`, it matches an existing
MAINTAINERS rule `scripts/*rust*`, so no modification to the MAINTAINERS
file is needed.
Signed-off-by: Asuna Yang <SpriteOvO@...il.com>
---
Makefile | 3 ++-
rust/Makefile | 8 --------
scripts/Makefile.rust | 9 +++++++++
3 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/Makefile b/Makefile
index e61f1300fea0..bdbf2025e68c 100644
--- a/Makefile
+++ b/Makefile
@@ -718,9 +718,10 @@ ifneq ($(findstring clang,$(CC_VERSION_TEXT)),)
include $(srctree)/scripts/Makefile.clang
endif
+ifdef need-compiler
+include $(srctree)/scripts/Makefile.rust
# Include this also for config targets because some architectures need
# cc-cross-prefix to determine CROSS_COMPILE.
-ifdef need-compiler
include $(srctree)/scripts/Makefile.compiler
endif
diff --git a/rust/Makefile b/rust/Makefile
index 5d357dce1704..2603b34f9833 100644
--- a/rust/Makefile
+++ b/rust/Makefile
@@ -385,14 +385,6 @@ bindgen_skip_c_flags := -mno-fp-ret-in-387 -mpreferred-stack-boundary=% \
-fzero-init-padding-bits=% -mno-fdpic \
--param=% --param asan-% -fno-isolate-erroneous-paths-dereference
-# Derived from `scripts/Makefile.clang`.
-BINDGEN_TARGET_x86 := x86_64-linux-gnu
-BINDGEN_TARGET_arm64 := aarch64-linux-gnu
-BINDGEN_TARGET_arm := arm-linux-gnueabi
-BINDGEN_TARGET_loongarch := loongarch64-linux-gnusf
-BINDGEN_TARGET_um := $(BINDGEN_TARGET_$(SUBARCH))
-BINDGEN_TARGET := $(BINDGEN_TARGET_$(SRCARCH))
-
# All warnings are inhibited since GCC builds are very experimental,
# many GCC warnings are not supported by Clang, they may only appear in
# some configurations, with new GCC versions, etc.
diff --git a/scripts/Makefile.rust b/scripts/Makefile.rust
new file mode 100644
index 000000000000..5c12b4b8c8b6
--- /dev/null
+++ b/scripts/Makefile.rust
@@ -0,0 +1,9 @@
+# Derived from `scripts/Makefile.clang`.
+BINDGEN_TARGET_x86 := x86_64-linux-gnu
+BINDGEN_TARGET_arm64 := aarch64-linux-gnu
+BINDGEN_TARGET_arm := arm-linux-gnueabi
+BINDGEN_TARGET_loongarch := loongarch64-linux-gnusf
+BINDGEN_TARGET_um := $(BINDGEN_TARGET_$(SUBARCH))
+BINDGEN_TARGET := $(BINDGEN_TARGET_$(SRCARCH))
+
+export BINDGEN_TARGET
--
2.51.1
Powered by blists - more mailing lists