Distribution
Install
The install script auto-detects your platform — macOS Apple Silicon, Linux x86_64, or Linux ARM64 — downloads the right tarball, verifies the checksum, extracts, and wires up SJ_HOME and PATH for you.
curl -fsSL https://superj.dev/releases/v1.3/install.sh | sh -s -- https://superj.dev/releases/v1.3
Or if your download URL is hosted elsewhere, pass it explicitly: curl -fsSL <url>/install.sh | sh -s -- <url>
Prerequisite. clang/LLVM 22.x on PATH — the native linker. On macOS: brew install llvm@22 then ensure /opt/homebrew/opt/llvm@22/bin is on your PATH. On Linux: your distro’s LLVM 22 package, or build from source.
What’s inside. Each tarball bundles bin/superj (the self-hosted compiler), the full SDK sources (sdk/sj/), and the prebuilt sdk/build/libsuperj_sdk.a.
Verify it worked. superj --version — should print 1.3.0 (community). Then superj new myapp && cd myapp && superj run.
SDK variants
The SDK ships in three variants that differ in how the SDK is linked. Your code is identical across all three — only the link path changes. Only the community variant is available for download today.
| Variant | What you get | Tradeoff | Status |
|---|---|---|---|
| community | Prebuilt static archive libsuperj_sdk.a |
Fastest link; no cross-module whole-program optimization. Smallest install. | Available |
| enterprise | Prebuilt SDK IR (sdk.ll) + runtime objects |
Whole-program LTO across SDK + user code (global inlining, dead-code elimination); slower link, best runtime perf. Use --enterprise at compile. |
Coming soon |
| vip | SDK source (.sj files, no prebuilt artifacts) |
Maximum optimization + full source for audit/modification; slowest build. Use --sdk-source at compile. |
Coming soon |
Check what’s installed with ls $SJ_HOME/sdk/build/: libsuperj_sdk.a → community, sdk.ll + *.o → enterprise, empty → vip. See the manual for the full flag reference.