Documentation channel: current development main at compiler checkpoint 1d7e15e. The latest tagged release is v0.0.3; pages identify APIs that are not yet released.
Cross compilation
Strut keeps target selection explicit. A target names the platform ABI Strut is building for; the bootstrap backend then invokes a compatible native or cross C++ toolchain.
Targets
| Target | Purpose |
|---|---|
native | Build for the current host. |
linux-x64 | 64-bit x86 Linux. |
linux-arm64 | 64-bit Arm Linux. |
macos-arm64 | Apple silicon macOS. |
macos-x64 | Intel macOS. |
windows-x64 | 64-bit Windows. |
Build for a target
strut app.p --target linux-x64
Project builds
Set target in .strut/config.json, or override it on the command line where supported. Object and metadata caches are partitioned by target and build mode, so incompatible objects are never reused accidentally.
Native dependencies
Packages that link native libraries must provide libraries compatible with the selected target. Strut does not pretend a host library can be linked into a foreign target. Cross builds therefore require an appropriate cross toolchain and target-compatible native dependencies.
