From: Harish Sadineni <[email protected]>

To enable Rust integration in the Linux kernel build, this patch:

- Adds `rust-native`, `clang-native` and `bindgen-cli-native` to 
`do_kernel_configme[depends]`
  to ensure required tools are available for Rust support.
- Invokes `make rustavailable` inside `do_kernel_configme()` to prepare
  the kernel for building Rust-based modules or core components.

Signed-off-by: Harish Sadineni <[email protected]>
---
 meta/classes-recipe/kernel-yocto.bbclass | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/meta/classes-recipe/kernel-yocto.bbclass 
b/meta/classes-recipe/kernel-yocto.bbclass
index 2584cadf0d..dda235d4d0 100644
--- a/meta/classes-recipe/kernel-yocto.bbclass
+++ b/meta/classes-recipe/kernel-yocto.bbclass
@@ -463,6 +463,11 @@ do_kernel_configme[depends] += 
"virtual/cross-binutils:do_populate_sysroot"
 do_kernel_configme[depends] += "virtual/cross-cc:do_populate_sysroot"
 do_kernel_configme[depends] += "bc-native:do_populate_sysroot 
bison-native:do_populate_sysroot"
 do_kernel_configme[depends] += "kern-tools-native:do_populate_sysroot"
+RUST_KERNEL_TASK_DEPENDS ?=  "${@bb.utils.contains('DISTRO_FEATURES', 
'rust-kernel', ' \
+                                  rust-native:do_populate_sysroot \
+                                  clang-native:do_populate_sysroot \
+                                  bindgen-cli-native:do_populate_sysroot', '', 
d)}"
+do_kernel_configme[depends] += "${RUST_KERNEL_TASK_DEPENDS}"
 do_kernel_configme[dirs] += "${S} ${B}"
 do_kernel_configme() {
        if ${@bb.utils.contains('DISTRO_FEATURES', 'rust-kernel', 'true', 
'false', d)}; then
@@ -513,6 +518,10 @@ do_kernel_configme() {
                echo "# Global settings from linux recipe" >> ${B}/.config
                echo "CONFIG_LOCALVERSION="\"${LINUX_VERSION_EXTENSION}\" >> 
${B}/.config
        fi
+        
+       if ${@bb.utils.contains('DISTRO_FEATURES', 'rust-kernel', 'true', 
'false', d)}; then
+               oe_runmake -C ${S} O=${B} rustavailable
+       fi
 }
 
 addtask kernel_configme before do_configure after do_patch
-- 
2.49.0

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

Reply via email to