summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2022-08-05 13:15:31 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-08-08 15:44:20 +0100
commitb1d8d2a3bfe40d83a651448bcd0eeb01434b7ad1 (patch)
tree8266c80e68acab46fed9e1831149100c31e50a84 /meta/recipes-devtools
parent9a093d034889bff444a5801313e24c39a323d7ef (diff)
downloadpoky-b1d8d2a3bfe40d83a651448bcd0eeb01434b7ad1.tar.gz
rust: Generate per recipe target configuration files
Instead of generating target configuration files centrally and often getting it wrong, or having trouble finding the right set, generate them dynamically from the bbclass into WORKDIR per recipe. (From OE-Core rev: 9160e4a37561d8ac882057450a818621bec13bed) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools')
-rw-r--r--meta/recipes-devtools/cargo/cargo.inc2
-rw-r--r--meta/recipes-devtools/rust/libstd-rs.inc3
-rw-r--r--meta/recipes-devtools/rust/rust.inc5
3 files changed, 7 insertions, 3 deletions
diff --git a/meta/recipes-devtools/cargo/cargo.inc b/meta/recipes-devtools/cargo/cargo.inc
index 607c51fc3d..978504052b 100644
--- a/meta/recipes-devtools/cargo/cargo.inc
+++ b/meta/recipes-devtools/cargo/cargo.inc
@@ -18,6 +18,8 @@ EXCLUDE_FROM_WORLD = "1"
18 18
19inherit cargo pkgconfig 19inherit cargo pkgconfig
20 20
21RUST_TARGETGENS = "BUILD HOST TARGET"
22
21do_cargo_setup_snapshot () { 23do_cargo_setup_snapshot () {
22 ${WORKDIR}/rust-snapshot-components/${CARGO_SNAPSHOT}/install.sh --prefix="${WORKDIR}/${CARGO_SNAPSHOT}" --disable-ldconfig 24 ${WORKDIR}/rust-snapshot-components/${CARGO_SNAPSHOT}/install.sh --prefix="${WORKDIR}/${CARGO_SNAPSHOT}" --disable-ldconfig
23 # Need to use uninative's loader if enabled/present since the library paths 25 # Need to use uninative's loader if enabled/present since the library paths
diff --git a/meta/recipes-devtools/rust/libstd-rs.inc b/meta/recipes-devtools/rust/libstd-rs.inc
index d49383ced5..1498b88f0e 100644
--- a/meta/recipes-devtools/rust/libstd-rs.inc
+++ b/meta/recipes-devtools/rust/libstd-rs.inc
@@ -12,6 +12,9 @@ DEPENDS:append:libc-musl = " libunwind"
12DEPENDS:remove:riscv32 = "libunwind" 12DEPENDS:remove:riscv32 = "libunwind"
13DEPENDS:remove:riscv64 = "libunwind" 13DEPENDS:remove:riscv64 = "libunwind"
14 14
15
16RUST_TARGETGENS = "BUILD HOST TARGET"
17
15# Embed bitcode in order to allow compiling both with and without LTO 18# Embed bitcode in order to allow compiling both with and without LTO
16RUSTFLAGS += "-Cembed-bitcode=yes" 19RUSTFLAGS += "-Cembed-bitcode=yes"
17# Needed so cargo can find libbacktrace 20# Needed so cargo can find libbacktrace
diff --git a/meta/recipes-devtools/rust/rust.inc b/meta/recipes-devtools/rust/rust.inc
index 7d1f5347ea..172cd22657 100644
--- a/meta/recipes-devtools/rust/rust.inc
+++ b/meta/recipes-devtools/rust/rust.inc
@@ -12,9 +12,6 @@ DEPENDS:append:class-native = " rust-llvm-native"
12 12
13S = "${RUSTSRC}" 13S = "${RUSTSRC}"
14 14
15# We generate local targets, and need to be able to locate them
16export RUST_TARGET_PATH="${WORKDIR}/targets/"
17
18export FORCE_CRATE_HASH="${BB_TASKHASH}" 15export FORCE_CRATE_HASH="${BB_TASKHASH}"
19 16
20RUST_ALTERNATE_EXE_PATH ?= "${STAGING_LIBDIR}/llvm-rust/bin/llvm-config" 17RUST_ALTERNATE_EXE_PATH ?= "${STAGING_LIBDIR}/llvm-rust/bin/llvm-config"
@@ -40,6 +37,8 @@ setup_cargo_environment () {
40 37
41inherit rust-target-config 38inherit rust-target-config
42 39
40RUST_TARGETGENS = "BUILD HOST TARGET"
41
43do_rust_setup_snapshot () { 42do_rust_setup_snapshot () {
44 for installer in "${WORKDIR}/rust-snapshot-components/"*"/install.sh"; do 43 for installer in "${WORKDIR}/rust-snapshot-components/"*"/install.sh"; do
45 "${installer}" --prefix="${WORKDIR}/rust-snapshot" --disable-ldconfig 44 "${installer}" --prefix="${WORKDIR}/rust-snapshot" --disable-ldconfig