Files
poky/meta/recipes-devtools/rust/README-rust.md
Igor Opaniuk fe0669477e rust/README-rust.md: fix markdown style issues
Fix markdown style issues using markdownlint tool [1]:

$ cat ./meta/recipes-devtools/rust/README-rust.md | mdl
(stdin):1: MD002 First header should be a top level header
(stdin):25: MD006 Consider starting bulleted lists at the beginning of the line
(stdin):3: MD009 Trailing spaces
(stdin):11: MD009 Trailing spaces
(stdin):26: MD009 Trailing spaces
(stdin):39: MD012 Multiple consecutive blank lines
(stdin):32: MD032 Lists should be surrounded by blank lines
(stdin):36: MD032 Lists should be surrounded by blank lines

[1] https://github.com/markdownlint/markdownlint
(From OE-Core rev: 62bade83dd6e021f11e9599a2699a1b202324f0f)

Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-02-05 12:49:56 +00:00

41 lines
1.4 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
[Add the ability to provide build flags for the build-script-build #3349](https://github.com/rust-lang/cargo/issues/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.