On 3/9/2026 4:56 PM, Richard Purdie wrote:
CAUTION: This email comes from a non Wind River email account!
Do not click links or open attachments unless you recognize the sender and know 
the content is safe.

On Wed, 2026-03-04 at 09:43 -0800, Sadineni, Harish via lists.openembedded.org 
wrote:
From: Harish Sadineni<[email protected]>

Conditionally add 'clang-native', 'rust-native' and 'bindgen-cli-native' to 
'DEPENDS'
when Kernel Rust Support is enabled.

These tools are required for building Rust-enabled kernels and for
generating Rust FFI bindings via bindgen during the kernel build.

This ensures the additional dependencies are only pulled in when
Rust support is explicitly enabled, avoiding unnecessary native
dependencies for non-Rust kernel builds.

Signed-off-by: Harish Sadineni<[email protected]>
---
  meta/recipes-kernel/linux/linux-yocto.inc | 3 +++
  1 file changed, 3 insertions(+)

diff --git a/meta/recipes-kernel/linux/linux-yocto.inc 
b/meta/recipes-kernel/linux/linux-yocto.inc
index 4d0a726bb6..b7961bbcdf 100644
--- a/meta/recipes-kernel/linux/linux-yocto.inc
+++ b/meta/recipes-kernel/linux/linux-yocto.inc
@@ -76,11 +76,14 @@ do_install:append(){
  KERNEL_FEATURES:append:qemuall = " features/kernel-sample/kernel-sample.scc"

  KERNEL_DEBUG ?= ""
+KERNEL_RUST_SUPPORT ?= ""
  # These used to be version specific, but are now common dependencies.  New
  # tools / dependencies will continue to be added in version specific recipes.
  DEPENDS += '${@bb.utils.contains_any("ARCH", [ "x86", "arm64", "powerpc" ], 
"elfutils-native", "", d)}'
  DEPENDS += "openssl-native util-linux-native"
  DEPENDS += "gmp-native libmpc-native"
+RUST_KERNEL_DEPENDS ?="${@bb.utils.contains('KERNEL_RUST_SUPPORT', 'True', 'clang-native rust-native bindgen-cli-native', '', d)}"
+DEPENDS += "${RUST_KERNEL_DEPENDS}"

  # Some options depend on CONFIG_PAHOLE_VERSION, so need to make pahole-native 
available before do_kernel_configme
  do_kernel_configme[depends] += '${@bb.utils.contains("KERNEL_DEBUG", "True", 
"pahole-native:do_populate_sysroot", "", d)}'
I thought we were going to try and use KERNEL_FEATURES for this?
Hi Richard,

I have tried this but i got circular dependency error with KERNEL_FEATURES. So, I opted using variable KERNEL_RUST_SUPPORT.
The implementation of KERNEL_RUST_SUPPORT is problematic as it only
works for the value of "True", not "true", or "1" or 1 or any other
thing people might dream up. "Contains" isn't really an appropriate
mechanism for a boolean either.

You can use bb.utils.to_boolean() as a way to better obtain a boolean
value from a random variable.
Understood, Earlier i took reference from the code that already present in that file.
I have updated the code we will send v8.

Thanks,
Harish

Cheers,

Richard





-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#232728): 
https://lists.openembedded.org/g/openembedded-core/message/232728
Mute This Topic: https://lists.openembedded.org/mt/118136909/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to