diff options
Diffstat (limited to 'meta/recipes-devtools/rust/README-rust.md')
-rw-r--r-- | meta/recipes-devtools/rust/README-rust.md | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/meta/recipes-devtools/rust/README-rust.md b/meta/recipes-devtools/rust/README-rust.md new file mode 100644 index 0000000000..209836ab65 --- /dev/null +++ b/meta/recipes-devtools/rust/README-rust.md @@ -0,0 +1,38 @@ +## 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. + |