Languages: English (default) · فارسی
Install rynixc from source or GitHub Release. Every step below has a matching
verify command — same gates as CI where noted.
| Requirement | Notes |
|---|---|
| Rust | MSRV 1.98 (Cargo.toml); rust-toolchain.toml pins the stable channel |
| clang | Required for build / run / emit-wasm (one-path setup below) |
| Python 3 | Optional — Suite5 harness only |
| Node.js 18+ | Optional — VS Code extension; also runs emit-wasm Node smokes |
Rynix links through clang only — no second compiler path. Install once, put it on
PATH, then rynixc build / run / emit-wasm use the same driver.
| Platform | One-path clang setup |
|---|---|
| Windows | Install LLVM/clang or MinGW-w64 clang (x86_64-w64-mingw32-clang). Add the bin directory to PATH. Prefer cargo target x86_64-pc-windows-gnu. Verify: clang --version (or x86_64-w64-mingw32-clang --version). Runtime default: --runtime=portable (optional --runtime=iocp). |
| Linux | Install distro clang (e.g. sudo apt install clang / sudo dnf install clang). Verify: clang --version. Runtime: --runtime=portable or --runtime=uring when built with RYNIX_RT_URING. |
# Both platforms — confirm clang is the single link driver on PATH:
clang --version
rynixc build examples/01_hello.ryx -o target/hello --runtime=portable| OS | Toolchain | Runtime flag |
|---|---|---|
| Windows | MinGW x86_64-w64-mingw32-clang, target x86_64-pc-windows-gnu |
--runtime=portable |
| Linux | System clang |
--runtime=portable or --runtime=uring |
| macOS | System clang |
--runtime=portable |
prerequisites install verify
───────────── ─────── ──────
Rust + clang ──▶ INSTALL.sh / install.ps1 ──▶ rynixc --version
│ or cargo install cargo test
│ arch check
└──────────────────────────────────────────────────▶ build + run hello
.\install.ps1chmod +x INSTALL.sh
./INSTALL.shBoth scripts run:
cargo install --path crates/rynixc --forceand print the install path of rynixc.
cargo install --path crates/rynixc --force
rynixc --versionEnsure ~/.cargo/bin (or %USERPROFILE%\.cargo\bin) is on your PATH.
On tagged releases (v*), CI publishes prebuilt binaries:
| Artifact | Platform |
|---|---|
rynixc-linux-x86_64 |
Linux x86_64 |
rynixc-windows-x86_64.exe |
Windows x86_64 |
- Download from GitHub Releases (tag
v*) when published for your fork/org. - Verify SHA256 against
SHA256SUMS.txtin the release assets. - If
SHA256SUMS.txt.ascis present (optional GPG secret configured on the publisher), verify the signature:
gpg --verify SHA256SUMS.txt.asc SHA256SUMS.txt- Place the binary on
PATHasrynixc.
Local packaging (SHA256SUMS + optional detach-sign):
# Windows
.\scripts\build_release.ps1 # set RYNIX_GPG_KEY_ID to also sign# Ephemeral sign/verify smoke (no production key required):
bash scripts/gpg_sign_smoke.shRelease binaries still need clang on
PATHforrynixc build/run.
rynixc run examples/01_hello.ryx
rynixc check examples/03_vec.ryx
rynixc graph examples/02_match_loop.ryxBuild a native binary:
rynixc build examples/03_vec.ryx -o target/ex_vec --runtime=portable
./target/ex_vec # Unix
.\target\ex_vec.exe # WindowsJSON example (no network):
rynixc run examples/05_http_json.ryx # prints 42rynixc --version
rynixc arch check
rynixc run examples/01_hello.ryxcargo test --workspace
cargo clippy -p rynixc -p rynix-rir -p rynix-codegen -p rynix-sema -- -D warnings
rynixc arch check --error-format=json
rynixc build examples/03_vec.ryx -o target/ex_vec --runtime=portable
python benchmarks/suite5/run_suite5.py --langs c,rynixExpected: all tests pass; arch JSON status: passed; Suite5 reports checksum OK
for all ten C + Rynix rows.
cd editors/vscode
npm install
npm run compileWindows shortcut:
.\editors\vscode\install_extension.ps1VS Code settings:
| Key | Value |
|---|---|
rynix.compilerPath |
Full path to rynixc if not on PATH |
rynix.enableLsp |
true |
| Problem | Fix |
|---|---|
clang not found on Windows |
Install MinGW-w64 / LLVM clang (see One-path clang above); add bin to PATH |
clang not found on Linux |
Install distro clang (apt/dnf/pacman); confirm clang --version |
linker failed on Windows |
Use x86_64-pc-windows-gnu target; -fuse-ld=lld if needed |
Architecture.toml not found |
Run arch check from repo root, or pass --root /path/to/Rynix |
build succeeds but run hangs on TCP |
Standalone smokes use blocking connect; fiber apps need rynix_rt_run |
| Suite5 checksum mismatch | Run cargo build -p rynixc; compare C vs Rynix source in benchmarks/suite5/ |
| Goal | Doc |
|---|---|
| Language reference | docs/SPEC.md |
| Runtime ABI | docs/abi.md |
| AI / MCP workflows | AGENTS.md |
| Roadmap & phases | docs/ROADMAP.md |
| Contributing | CONTRIBUTING.md |
Back to README.md.