Zircon is a toolchain installer for the Zirco programming language. It allows you to easily install and manage different versions of the Zirco compiler, libraries, and tools on your system.
Zircon does NOT support Windows. You must use WSL (Windows Subsystem for Linux) to run Zircon on Windows.
Zircon requires the following dependencies to build and run Zirco:
- Rust (install from rustup.rs)
- LLVM 20 (REQUIRED - Zirco only works with LLVM 20.x)
- clang (usually included with LLVM)
- Git
- zstd, libssl, pkg-config (for building on Linux)
On macOS (Homebrew):
brew install llvm@20On macOS (MacPorts):
sudo port install llvm-20On Ubuntu/Debian:
sudo apt install llvm-20 llvm-20-dev libpolly-20-dev clang-20 build-essential libssl-dev pkg-config libzstd-devNote: Zirco requires LLVM 20 specifically. Other versions will not work.
Run the bootstrap script to install Zircon (latest main branch):
curl -sSf https://raw.githubusercontent.com/zirco-lang/zircon/main/bootstrap.sh | bashOr install a specific version:
curl -sSf https://raw.githubusercontent.com/zirco-lang/zircon/main/bootstrap.sh | bash -s v0.1.0Or manually:
# Clone and build Zircon
mkdir -p ~/.zircon/sources/zirco-lang
git clone https://github.com/zirco-lang/zircon.git ~/.zircon/sources/zirco-lang/zircon
cd ~/.zircon/sources/zirco-lang/zircon
# Optionally checkout a specific version
# git checkout v0.1.0
cargo build --release
# Create symlinks
ln -sf ~/.zircon/sources/zirco-lang/zircon ~/.zircon/self
mkdir -p ~/.zircon/bin
ln -sf ~/.zircon/sources/zirco-lang/zircon/target/release/zircon ~/.zircon/bin/zircon
# Add to PATH
export PATH="$HOME/.zircon/bin:$PATH"
# Run bootstrap
zircon _ bootstrapImportant: You must add Zircon's bin directory to your PATH before using the env command.
Add this to your ~/.bashrc, ~/.zshrc, or equivalent:
export PATH="$HOME/.zircon/bin:$PATH"Then, load the full environment (including ZIRCO_INCLUDE_PATH) by running:
source <(zircon env)Build the latest version from the main branch:
zircon build mainBuild a specific version (tag):
zircon build v0.1.0Build from a specific branch:
zircon build feat-145Build from a custom repository:
zircon build --zrc-repo https://github.com/SomeFork/zrc mainzircon switch v0.1.0zircon listzircon delete v0.1.0Remove all toolchains except the currently active one:
zircon pruneOr skip the confirmation prompt:
zircon prune -yBuild Zircon from the latest main branch:
zircon self buildOr build from a specific version:
zircon self build v0.1.0
zircon self build my-feature-branchInstall the latest nightly release:
zircon self installOr install a specific version:
zircon self install v0.1.0If you have a pre-built archive (e.g., from CI artifacts):
zircon self import ./zircon-linux-x64.tar.gzOutput shell environment variables:
zircon envOr load them directly:
source <(zircon env)This sets:
PATHto include~/.zircon/binZIRCO_INCLUDE_PATHto point to the current toolchain's include directory
Zircon manages files in ~/.zircon (or %USERPROFILE%\.zircon on Windows):
~/.zircon
├── sources/
│ └── zirco-lang/
│ ├── zrc/ # Zirco compiler source
│ └── zircon/ # Zircon source (for self-updates)
├── toolchains/
│ ├── v0.1.0/
│ │ ├── bin/
│ │ │ └── zrc
│ │ └── include/
│ │ └── *.zh
│ └── current -> v0.1.0 # Symlink to active toolchain
├── self -> sources/zirco-lang/zircon # Symlink to zircon source
└── bin/
├── zrc -> ../toolchains/current/bin/zrc
└── zircon -> ../sources/zirco-lang/zircon/target/release/zircon
You can override the installation directory with the ZIRCON_PREFIX environment variable:
ZIRCON_PREFIX=/opt/zircon zircon build v0.1.0Zircon is designed to work on:
- Linux ✓
- macOS ✓
- Windows via WSL ✓
So that Zirco can continue to evolve at a rapid pace, there are NO STABILITY GUARENTEES on the current version of Zirco, zrc, and zircon.
