summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools
diff options
context:
space:
mode:
authorSean Nyekjaer <sean@geanix.com>2023-10-09 12:51:13 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-10-19 13:38:54 +0100
commit0dc848e0b560947f93a780f4bf7b6d1926a570eb (patch)
tree0ee77116d2b9f31aca8e5436577e096357835207 /meta/recipes-devtools
parent25627606aadacae3a2ab805a6098c81fed154b27 (diff)
downloadopenembedded-core-contrib-0dc848e0b560947f93a780f4bf7b6d1926a570eb.tar.gz
rust-cross-canadian: set CARGO_TARGET_<triple>_RUNNER for nativesdk
This will enable us to build and run rust programs on the sdk host. % cargo run --target x86_64-oesdk-linux-gnu -vv Fresh hello v0.1.0 (~/development/hello) Finished dev [unoptimized + debuginfo] target(s) in 0.02s Running `/usr/local/sdk/sysroots/x86_64-oesdk-linux/lib/ld-linux-x86-64.so.2 target/x86_64-oesdk-linux-gnu/debug/hello` Hello, world Signed-off-by: Sean Nyekjaer <sean@geanix.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Diffstat (limited to 'meta/recipes-devtools')
-rw-r--r--meta/recipes-devtools/rust/rust-cross-canadian.inc3
1 files changed, 3 insertions, 0 deletions
diff --git a/meta/recipes-devtools/rust/rust-cross-canadian.inc b/meta/recipes-devtools/rust/rust-cross-canadian.inc
index d25646237c..baa58e9838 100644
--- a/meta/recipes-devtools/rust/rust-cross-canadian.inc
+++ b/meta/recipes-devtools/rust/rust-cross-canadian.inc
@@ -55,9 +55,12 @@ do_install () {
RUST_ENV_SETUP_SH="${ENV_SETUP_DIR}/rust.sh"
RUST_TARGET_TRIPLE=`echo ${RUST_TARGET_SYS} | tr '[:lower:]' '[:upper:]' | sed 's/-/_/g'`
+ RUST_HOST_TRIPLE=`echo ${RUST_HOST_SYS} | tr '[:lower:]' '[:upper:]' | sed 's/-/_/g'`
+ SDKLOADER=${@bb.utils.contains('SDK_ARCH', 'x86_64', 'ld-linux-x86-64.so.2', '', d)}${@bb.utils.contains('SDK_ARCH', 'i686', 'ld-linux.so.2', '', d)}${@bb.utils.contains('SDK_ARCH', 'aarch64', 'ld-linux-aarch64.so.1', '', d)}${@bb.utils.contains('SDK_ARCH', 'ppc64le', 'ld64.so.2', '', d)}
cat <<- EOF > "${RUST_ENV_SETUP_SH}"
export CARGO_TARGET_${RUST_TARGET_TRIPLE}_RUSTFLAGS="--sysroot=\$OECORE_TARGET_SYSROOT/usr -C link-arg=--sysroot=\$OECORE_TARGET_SYSROOT"
+ export CARGO_TARGET_${RUST_HOST_TRIPLE}_RUNNER="\$OECORE_NATIVE_SYSROOT/lib/${SDKLOADER}"
export RUST_TARGET_PATH="\$OECORE_NATIVE_SYSROOT/usr/lib/${TARGET_SYS}/rustlib"
EOF