38 lines
906 B
Markdown
38 lines
906 B
Markdown
## Cross compilation
|
|
|
|
The `cross` folder contains a set of convenience scripts (`build.sh` and `test.sh`) for cross-compiling Conduit.
|
|
|
|
Currently supported targets are
|
|
|
|
- aarch64-unknown-linux-musl
|
|
- arm-unknown-linux-musleabihf
|
|
- armv7-unknown-linux-musleabihf
|
|
- x86\_64-unknown-linux-musl
|
|
|
|
### Install prerequisites
|
|
#### Docker
|
|
[Installation guide](https://docs.docker.com/get-docker/).
|
|
```sh
|
|
$ sudo apt install docker
|
|
$ sudo systemctl start docker
|
|
$ sudo usermod -aG docker $USER
|
|
$ newgrp docker
|
|
```
|
|
|
|
#### Cross
|
|
[Installation guide](https://github.com/rust-embedded/cross/#installation).
|
|
```sh
|
|
$ cargo install cross
|
|
```
|
|
|
|
### Buiding Conduit
|
|
```sh
|
|
$ TARGET=armv7-unknown-linux-musleabihf ./cross/build.sh --release
|
|
```
|
|
The cross-compiled binary is at `target/armv7-unknown-linux-musleabihf/release/conduit`
|
|
|
|
### Testing Conduit
|
|
```sh
|
|
$ TARGET=armv7-unknown-linux-musleabihf ./cross/test.sh --release
|
|
```
|