Install XIDL
xidlc is the command-line entry point for the XIDL toolchain. Most users only
need the compiler first, then add runtime crates or xidl-build when a target
requires them.
Install xidlc
Release installer
macOS and Linux:
Windows PowerShell:
The release installers resolve the latest stable GitHub Release and verify the
asset digest when GitHub exposes one for that artifact. macOS installers use
native apple-darwin archives, Linux installers prefer the static musl
builds, and Windows prefers the newer MSVC zip assets while still tolerating the
legacy GNU tarball on older releases.
Cargo
Cargo Binstall
Package manager manifests
Formal package manager manifests are maintained in the dedicated
xidl-packaging repository instead of this source repository. That repository
checks the latest stable xidl/xidl GitHub Release every day and refreshes the
downstream package manager manifests there:
Formula/xidlc.rbpackaging/scoop/xidlc.jsonpackaging/winget/manifests/x/xidl/xidlc/
The current stable release v0.32.0 already supports Homebrew and Scoop. The
winget manifests are emitted once the published release assets include the
Windows MSVC zip archives expected by the packaging sync workflow.
Verify the install
The compiler uses idlc as its clap command name internally, but the published
binary in this repository is xidlc.
Add target-specific crates when needed
Some generated outputs require companion crates at runtime.
rust: generated Rust data types are plain Rust coderust-jsonrpc: pair generated code withxidl-jsonrpcrust-axum: pair generated code withxidl-rust-axumopenapiandopenrpc: emit schema files instead of a runtime cratexidl-build: use in Rustbuild.rswhen you want code generation during compilation
Next step
Continue with Using xidlc for the main compiler workflow.