Build for all supported platforms from macOS:
# macOS ARM64 (native)
cargo build --release
# macOS Intel
cargo build --release --target x86_64-apple-darwin
# Linux x86_64
cargo zigbuild --release --target x86_64-unknown-linux-gnu
# Linux ARM64
cargo zigbuild --release --target aarch64-unknown-linux-gnuPrerequisites for Linux builds:
brew install zig
cargo install cargo-zigbuild
rustup target add x86_64-unknown-linux-gnu aarch64-unknown-linux-gnuTest the ARM64 Linux binary with the example app:
docker run --rm -it \
-v "$(pwd)/target/aarch64-unknown-linux-gnu/release/oit:/usr/local/bin/oit:ro" \
-v "$(pwd)/example:/app/example:ro" \
-w /app \
--platform linux/arm64 \
ruby:3.3-slim \
timeout 5 /usr/local/bin/oit -c example/overitall.tomlTest x86_64 Linux binary:
docker run --rm -it \
-v "$(pwd)/target/x86_64-unknown-linux-gnu/release/oit:/usr/local/bin/oit:ro" \
-v "$(pwd)/example:/app/example:ro" \
-w /app \
--platform linux/amd64 \
ruby:3.3-slim \
timeout 5 /usr/local/bin/oit -c example/overitall.tomlQuick version check:
docker run --rm \
-v "$(pwd)/target/aarch64-unknown-linux-gnu/release/oit:/oit:ro" \
--platform linux/arm64 \
debian:bookworm-slim /oit --version