- 264 license table entries with exact download URLs (224/264 resolved) - Complete sources/ directory with all BitBake recipes - Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl) - Full traceability for Softwarefreigabeantrag - GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4 - License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
39 lines
1.3 KiB
Markdown
39 lines
1.3 KiB
Markdown
## Introduction
|
|
|
|
This provides the Rust compiler, tools for building packages (cargo), and
|
|
a few example projects.
|
|
|
|
## Building a rust package
|
|
|
|
When building a rust package in bitbake, it's usually easiest to build with
|
|
cargo using cargo.bbclass. If the package already has a Cargo.toml file (most
|
|
rust packages do), then it's especially easy. Otherwise you should probably
|
|
get the code building in cargo first.
|
|
|
|
Once your package builds in cargo, you can use
|
|
[cargo-bitbake](https://github.com/cardoe/cargo-bitbake) to generate a bitbake
|
|
recipe for it. This allows bitbake to fetch all the necessary dependent
|
|
crates, as well as a pegged version of the crates.io index, to ensure maximum
|
|
reproducibility. Once the Rust SDK support is added to oe-core, cargo-bitbake
|
|
may also be added to the SDK.
|
|
|
|
NOTE: You will have to edit the generated recipe based on the comments
|
|
contained within it
|
|
|
|
## Pitfalls
|
|
|
|
- TARGET_SYS _must_ be different from BUILD_SYS. This is due to the way Rust
|
|
configuration options are tracked for different targets. This is the reason
|
|
we use the Yocto triples instead of the native Rust triples. See rust-lang/cargo#3349.
|
|
|
|
## Dependencies
|
|
|
|
On the host:
|
|
- Any `-sys` packages your project might need must have RDEPENDs for
|
|
the native library.
|
|
|
|
On the target:
|
|
- Any `-sys` packages your project might need must have RDEPENDs for
|
|
the native library.
|
|
|