From: Andrew Jeffery <andrew@aj.id.au>
To: openembedded-core@lists.openembedded.org
Subject: [RFC PATCH 5/8] rust: libstd-rs: Install deps under {RUST_,}TARGET_SYS mismatch
Date: Tue, 22 Feb 2022 14:22:31 +1030 [thread overview]
Message-ID: <20220222035234.463162-6-andrew@aj.id.au> (raw)
In-Reply-To: <20220222035234.463162-1-andrew@aj.id.au>
The architecture mangling gets a bit too much here. Use globs to paper
over the problem.
Signed-off-by: Andrew Jeffery <andrew@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
next prev parent reply other threads:[~2022-02-22 3:52 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-22 3:52 [RFC PATCH 0/8] rust: Fix powerpc64le support Andrew Jeffery
2022-02-22 3:52 ` [RFC PATCH 1/8] rust: Migrate arch_to_rust_target_arch() to rust-common class Andrew Jeffery
2022-02-22 10:05 ` [OE-core] " Richard Purdie
2022-02-23 0:41 ` Andrew Jeffery
2022-02-22 3:52 ` [RFC PATCH 2/8] rust: Rename arch_to_rust_target_arch() for generality Andrew Jeffery
2022-02-22 3:52 ` [RFC PATCH 3/8] rust: Handle Power arch variants in arch_to_rust_arch() Andrew Jeffery
2022-02-22 3:52 ` [RFC PATCH 4/8] rust: Consistently use RUST_{BUILD,HOST,TARGET}_{ARCH,SYS} Andrew Jeffery
2022-02-22 3:52 ` Andrew Jeffery [this message]
2022-02-22 3:52 ` [RFC PATCH 6/8] rust: Mitigate duplicate sections on matching architectures Andrew Jeffery
2022-02-22 9:57 ` [OE-core] " Alexander Kanavin
2022-02-23 0:38 ` Andrew Jeffery
2022-02-28 0:13 ` Andrew Jeffery
2022-02-28 8:21 ` Alexander Kanavin
2022-02-28 13:57 ` Andrew Jeffery
2022-02-22 3:52 ` [RFC PATCH 7/8] rust: Add snapshot checksums for powerpc64le Andrew Jeffery
2022-02-22 9:59 ` [OE-core] " Alexander Kanavin
2022-02-22 12:28 ` Richard Purdie
2022-02-22 14:23 ` Alexander Kanavin
2022-02-22 18:34 ` Khem Raj
2022-02-22 23:41 ` Andrew Jeffery
2022-02-23 0:17 ` Andrew Jeffery
2022-02-22 23:49 ` Andrew Jeffery
2022-02-23 0:03 ` Richard Purdie
2022-02-23 0:27 ` Andrew Jeffery
2022-02-23 0:43 ` Richard Purdie
2022-02-22 3:52 ` [RFC PATCH 8/8] rust: Introduce RUST_BUILD_ARCH Andrew Jeffery
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220222035234.463162-6-andrew@aj.id.au \
--to=andrew@aj.id.au \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).