Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Building

nessemble is a Cargo workspace of pure-Rust crates. Building requires only a stock Rust toolchain (1.83+).

Build

cargo build --release

The CLI binary is written to target/release/nessemble.

Test

cargo test

The parity harness compares nessemble output against the committed golden ROMs:

cargo run -p xtask -- parity

Cross-compilation

The dependencies are pure Rust, so the five release targets cross-compile cleanly. Add a target and build:

rustup target add i686-unknown-linux-gnu
cargo build --release --target i686-unknown-linux-gnu
PlatformTarget triple
macOSx86_64-apple-darwin
Linux amd64x86_64-unknown-linux-gnu
Linux i386i686-unknown-linux-gnu
Windows 32-biti686-pc-windows-msvc
Windows 64-bitx86_64-pc-windows-msvc

Packaging

Release artifacts are produced by the CI release workflow (.github/workflows/release.yml):

  • .deb (Linux) via cargo-deb.
  • .msi (Windows) via cargo-wix.
  • .pkg (macOS) via pkgbuild.
  • .tar.gz (macOS) — the raw binary, as a signing-free alternative to the unsigned .pkg (which Gatekeeper blocks after download).

Scripting

Custom pseudo-instruction scripting (Rhai) is enabled by default. To build the CLI without it:

cargo build --release -p nessemble-cli --no-default-features