The architecture mangling gets a bit too much here. Use globs to paper over the problem.
Signed-off-by: Andrew Jeffery <and...@aj.id.au> --- meta/recipes-devtools/rust/libstd-rs.inc | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/meta/recipes-devtools/rust/libstd-rs.inc b/meta/recipes-devtools/rust/libstd-rs.inc index 987956344a24..e94fb8d5612e 100644 --- a/meta/recipes-devtools/rust/libstd-rs.inc +++ b/meta/recipes-devtools/rust/libstd-rs.inc @@ -35,6 +35,14 @@ do_install () { # With the incremental build support added in 1.24, the libstd deps directory also includes dependency # files that get installed. Those are really only needed to incrementally rebuild the libstd library # itself and don't need to be installed. - rm -f ${B}/${TARGET_SYS}/${BUILD_DIR}/deps/*.d - cp ${B}/${TARGET_SYS}/${BUILD_DIR}/deps/* ${D}${rustlibdir} + # + # ${B} contains two directories, one for the target architecture and one for the build mode + # (e.g. "release"). In some cases (e.g. ARMv7) the build directory matches neither ${TARGET_SYS} + # (due to "unknown" vendor from rust_base_triple()) nor ${RUST_TARGET_SYS} (due to architecture + # name mangling in rust_base_triple()). Further, rust_base_triple() always assumes a linux + # OS, so exploit both "unknown" and "linux" in a triple glob to select the right source + # directory. + DEPS=${B}/*-unknown-linux-*/${BUILD_DIR}/deps + rm -f ${DEPS}/*.d + cp ${DEPS}/* ${D}${rustlibdir} } -- 2.32.0
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#162119): https://lists.openembedded.org/g/openembedded-core/message/162119 Mute This Topic: https://lists.openembedded.org/mt/89310361/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-