71 lines
1.9 KiB
Markdown
71 lines
1.9 KiB
Markdown
## Introduction
|
|
|
|
This openembedded layer provides the rust compiler, tools for building packages
|
|
(cargo), and a few example projects.
|
|
|
|
## What works:
|
|
|
|
- MACHINE="beaglebone" (TARGET_SYS=arm-poky-linux-gnueabi)
|
|
- Building rust-native, rust-cross, rust-hello-world, cargo-native
|
|
- Running/using all of these (including rust-hello-world)
|
|
|
|
## What doesn't:
|
|
|
|
- Probably some of the untested things
|
|
|
|
## What's untested:
|
|
|
|
- rust (built for target)
|
|
- Other TARGETs
|
|
|
|
## Common issues when packaging things using cargo
|
|
|
|
You may run into errors similar to:
|
|
|
|
```
|
|
| src/lib.rs:12:1: 12:35 error: can't find crate for `ffi`
|
|
| src/lib.rs:12 extern crate "openssl-sys" as ffi;
|
|
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
```
|
|
|
|
Where a "-sys" crate (or other crate) is not found. These are typically caused
|
|
by a crate's Cargo.toml including triplet-specific dependencies and then using
|
|
the crate based on a feature (most often, `#[cfg(unix)]`). Until cargo and it's
|
|
ecosystem get their act together, you'll need to supply patches to the
|
|
misbehaving packages. See `recipies/cargo/cargo_*.bb` for an example of how to
|
|
do this.
|
|
|
|
## TODO
|
|
|
|
- -crosssdk and -buildsdk packages
|
|
- Upstream local rustc patches for libdir and bindir support
|
|
- add bitbake fetch support for crates.io
|
|
- add required cargo package registry clones in SRC_URI to prevent the need
|
|
for network when building.
|
|
|
|
## Pitfalls
|
|
|
|
- TARGET_SYS _must_ be different from BUILD_SYS. This is due to the way configuration options are tracked for different targets.
|
|
|
|
## Dependencies
|
|
|
|
On the host:
|
|
unknown
|
|
|
|
On the target:
|
|
unknown
|
|
|
|
## Maintainer(s) & Patch policy
|
|
|
|
Open a Pull Request.
|
|
|
|
Generally, I try to support the latest master of poky. I'm happy to support
|
|
older versions too by applying backwards compat patches as long as I don't need
|
|
to maintain a seperate branch. Of course, others are welcome to create forks to
|
|
support their individual needs.
|
|
|
|
## Copyright
|
|
|
|
MIT OR Apache-2.0 - Same as rust
|
|
|