From: Harish Sadineni <[email protected]> Rust support in the upstream kernel on riscv64 currently requires the LLVM/Clang toolchain and does not work with gcc [1]. Add a sanity check to skip the recipe if TOOLCHAIN is not set to "clang" when building a riscv64 kernel with rust support enabled, point the user to the local.conf change needed to fix it.
[1] https://docs.kernel.org/rust/arch-support.html Signed-off-by: Harish Sadineni <[email protected]> --- meta/classes-recipe/kernel-yocto-rust.bbclass | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/meta/classes-recipe/kernel-yocto-rust.bbclass b/meta/classes-recipe/kernel-yocto-rust.bbclass index 49f2bfc1ae..c7dc01ba1c 100644 --- a/meta/classes-recipe/kernel-yocto-rust.bbclass +++ b/meta/classes-recipe/kernel-yocto-rust.bbclass @@ -25,3 +25,15 @@ do_kernel_configme:append () { # More details in: https://lists.openembedded.org/g/openembedded-core/message/229336 # Disable ccache for kernel build if kernel rust support is enabled to workaround this. CCACHE_DISABLE ?= "1" + +python () { + if d.getVar('TARGET_ARCH') == 'riscv64' and d.getVar('TOOLCHAIN') != 'clang': + raise bb.parse.SkipRecipe( + "Rust support in the kernel on riscv64 requires the clang " + "toolchain, but TOOLCHAIN is set to '%s'. Set " + "KERNEL_TOOLCHAIN = \"clang\" in local.conf to build a " + "riscv64 kernel with rust enabled. See " + "https://docs.kernel.org/rust/arch-support.html for details." + % d.getVar('TOOLCHAIN') + ) +} -- 2.49.0
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#242887): https://lists.openembedded.org/g/openembedded-core/message/242887 Mute This Topic: https://lists.openembedded.org/mt/120614415/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
