On 2025-11-19 11:47 a.m., [email protected] wrote:
From: Harish Sadineni<[email protected]>

The `make rustavailable` process expects the Rust standard library source files 
(e.g., `lib.rs`)
Help kernel newbies by saying:

The `make rustavailable` process (1) expects the Rust standard library source 
files (e.g., `lib.rs`)


and then in the footer:

1) See the kernel tree for Documentation/rust/quick-start.rst in the section: 
Requirements: Building

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/rust/quick-start.rst#n145


../Randy


to be present in the `library/` directory under `rustlib/src/rust/`.

This patch ensures the required sources are available by:
- Copying the `library/` directory from the Rust source tree into 
`${TMPDIR}/work-shared/rust`
   during the snapshot setup.
- Installing the `library/` directory into 
`${SDKPATHNATIVE}/usr/lib/rustlib/src/rust` for the
   `nativesdk` class, making them available in them available in sdk

Signed-off-by: Harish Sadineni<[email protected]>
---
  meta/recipes-devtools/rust/rust_1.90.0.bb | 17 +++++++++++++++++
  1 file changed, 17 insertions(+)

diff --git a/meta/recipes-devtools/rust/rust_1.90.0.bb 
b/meta/recipes-devtools/rust/rust_1.90.0.bb
index e7f3985332..f4cd2b923e 100644
--- a/meta/recipes-devtools/rust/rust_1.90.0.bb
+++ b/meta/recipes-devtools/rust/rust_1.90.0.bb
@@ -63,6 +63,16 @@ do_rust_setup_snapshot () {
          done
      fi
  }
+
+do_rust_setup_snapshot:append:class-native () {
+   if ${@bb.utils.contains('DISTRO_FEATURES', 'rust-kernel', 'true', 'false', 
d)}; then
+         if [ ! -d "${TMPDIR}/work-shared/rust" ]; then
+                mkdir -p ${TMPDIR}/work-shared/rust
+                cp -r ${RUSTSRC}/library ${TMPDIR}/work-shared/rust/.
+         fi
+   fi
+}
+
  addtask rust_setup_snapshot after do_unpack before do_configure
  addtask do_test_compile after do_configure do_rust_gen_targets
  do_rust_setup_snapshot[dirs] += "${WORKDIR}/rust-snapshot"
@@ -314,6 +324,13 @@ rust_do_install:class-nativesdk() {
        export 
CARGO_TARGET_${RUST_HOST_TRIPLE}_RUNNER="\$OECORE_NATIVE_SYSROOT/lib/${SDKLOADER}"
        export CC_$RUST_HOST_CC="${CCACHE}${HOST_PREFIX}gcc"
        EOF
+
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'rust-kernel', 'true', 'false', 
d)}; then
+           if [ ! -d ${D}${SDKPATHNATIVE}/usr/lib/rustlib/src/rust ]; then
+                mkdir -p ${D}${SDKPATHNATIVE}/usr/lib/rustlib/src/rust
+                cp -r --no-preserve=ownership  ${S}/library 
${D}${SDKPATHNATIVE}/usr/lib/rustlib/src/rust/
+           fi
+    fi
  }
FILES:${PN} += "${base_prefix}/environment-setup.d"


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

Reply via email to