Commit Graph

10 Commits

Author SHA1 Message Date
Richard Purdie
83e7f668ae rust: Remove unneeded RUST_TARGETGENS settings
These match the default from the class so drop them. We then always
generate all targets so remove the configuration from the class.

(From OE-Core rev: e4d56256936c55bab2bf2934ccbde9157ef7dc57)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-12 11:46:26 +01:00
Richard Purdie
7275846f45 cargo: Work around host system library conflicts
cargo ends up running target-rust-ccld with LD_LIBRARY_PATH set to libdir but not
base_libdir which breaks the SDK. You see errors like:

/bin/sh: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

On such a system, this would fail:

LD_LIBRARY_PATH="<path>/testimage-sdk/sysroots/x86_64-pokysdk-linux/usr/lib" cargo build

but this would work:

LD_LIBRARY_PATH="<path>/testimage-sdk/sysroots/x86_64-pokysdk-linux/usr/lib:<path>/testimage-sdk/sysroots/x86_64-pokysdk-linux/lib" cargo build

so wrap cargo with both paths in LD_LIBRARY_PATH.

The error depends on the versions of the host system, it reproduced on tumbleweed-ty-3.

(From OE-Core rev: 388e7cac9f90e79ce8c3c1683d8ee0f4df1bc907)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-09 22:42:04 +01:00
Richard Purdie
251f55374d cargo: Drop cross-canadian variant and fix/use nativesdk
The cargo-cross-candian variant made no sense as one version of cargo in
the SDK can work for all targets. Replace it with nativesdk-cargo instead.

Move the SDK env to rust-cross-canadian.

(From OE-Core rev: 6d6d135924eff5993736ee58ba8cc5d00ca635f3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-08 15:44:20 +01:00
Richard Purdie
b1d8d2a3bf 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>
2022-08-08 15:44:20 +01:00
Alexander Kanavin
bcab6dd34f rust/cargo: exclude UNINATIVE_LOADER from task signature
(From OE-Core rev: 8915dfa2034d939b504f134e83811ed2ba18a6f1)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-10-14 11:48:45 +01:00
Richard Purdie
596cbbf615 recipes: Add missing pkgconfig inherit
Various recipes were missing a pkgconfig inherit or pkgconfig-native
dependency despite using pkgconfig.

Add the inherit to igt-gpu-tools/gdb/libmodulemd/libwpe/xwayland/waffle
shaderc/iputils/wpebackend-fdo/lttng-ust/cargo.

(From OE-Core rev: 777d9744570c2dc119dc5d04985896bbb1da5885)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-21 23:44:08 +01:00
Richard Purdie
640136a72b cargo: Apply uninative fix to snapshot as with rust
Also add the interpreter relocation trick from uninative to the prebuilt
cargo binary to match rust-native, just in case that causes other problems
later too.

(From OE-Core rev: e3cb3958cc14672feef5d4d8953131f55db68573)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-02 21:22:54 +01:00
Richard Purdie
cfc8d6dd64 cargo: Ensure cargo-cross-canadian doesn't have native/nativesdk versions
native/nativesdk variants of a cross-canadian recipe don't make any
sense so avoid these recipe variants.

(From OE-Core rev: 4ba7fb0b6a5021bca73aade4af390e8e017b491a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-26 22:09:44 +01:00
Randy MacLeod
284f0b11a5 cargo/rust/rustfmt: exclude from world
cargo, rust, and rustfmt can't be built for the targets yet
so exclude them from world builds.

(From OE-Core rev: 3ade1015b5bbd6aac9dd9974a6a5712958a5f5ed)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-26 22:09:43 +01:00
Randy MacLeod
61e1570c6a rust: initial merge of most of meta-rust
In the meta-rust repo at commit:
   448047c Upgrade to 1.54.0 (#359)

Make the required directories:
  mkdir ../oe-core/meta/recipes-devtools/rust
  mkdir ../oe-core/meta/recipes-devtools/cargo
  mkdir ../oe-core/meta/recipes-example
and then:
  cp recipes-devtools/rust/* ../oe-core/meta/recipes-devtools/rust
  cp recipes-devtools/cargo/* ../oe-core/meta/recipes-devtools/cargo
  cp lib/crate.py ../oe-core/meta/lib
  cp recipes-example/* ../oe-core/meta/recipes-example
  cp conf/distro/include/rust_* ../oe-core/meta/conf/distro/include/
  cp classes/* ../oe-core/meta/classes/
  cp recipes-core/packagegroups/packagegroup-rust-cross-canadian.bb ../oe-core/meta/recipes-core/packagegroups

(From OE-Core rev: 3ed57578cca93ff1ba4e0bf3f25566e10659a2f9)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-26 22:09:43 +01:00