Hi Alexander I am in the same team as Sean, and we really like the way it is solved in Rust/Cargo. However, we have the issue also for C++, and as you state there is no obvious solution. We are using cmaake for our C+++ projects and are discussing if a solution is to try to make a cmake toolchain file for the oesdk environment as well. If you have any experience/input it would be highly appreciated.
Br Kasper On September 28, 2023 at 2:47:27 pm +02:00, Alexander Kanavin <[email protected]> wrote: > This seems like a good change (being able to easily run items built > with c/c++ tolchains in yocto SDKs is a problem no one has > satisfactorily resolved, and it's nice that rust got this right), but > can you expand the test in meta/lib/oeqa/sdk/cases/rust.py to cover > possible target options such as this one? > > Alex > > On Thu, 28 Sept 2023 at 10:10, Sean Nyekjaer <<[email protected]>> wrote: > > > > > 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 <<[email protected]>> > > --- > > meta/recipes-devtools/rust/rust-cross-canadian.inc | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/meta/recipes-devtools/rust/rust-cross-canadian.inc > > b/meta/recipes-devtools/rust/rust-cross-canadian.inc > > index d25646237c..5b89216658 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'` > > + SDKARCH=`echo ${SDK_ARCH} | sed 's/_/-/g'` > > > > 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/ld-linux-${SDKARCH}.so.2" > > export > > RUST_TARGET_PATH="\$OECORE_NATIVE_SYSROOT/usr/lib/${TARGET_SYS}/rustlib" > > EOF > > > > -- > > 2.42.0 > > > > > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#188601): https://lists.openembedded.org/g/openembedded-core/message/188601 Mute This Topic: https://lists.openembedded.org/mt/101633983/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
