Platform support

Support for different platforms ("targets") are organized into three tiers, each with a different set of guarantees. Targets are identified by the Rust "target triple" which is the string used when compiling cuprated.

AttributeTier 1Tier 2Tier 3
Official builds🟢🟢🔴
Guaranteed to build🟢🟢🟡
Automated testing🟢🟡 (some targets)🔴
Manual testing🟢🟡 (sometimes)🔴

Tier 1

Tier 1 targets can be thought of as "guaranteed to work".

TargetNotes
x86_64-unknown-linux-gnux64 Linux (glibc 2.36+)
aarch64-unknown-linux-gnuARM64 Linux (glibc 2.36+)
aarch64-apple-darwinARM64 macOS (11.0+)

Tier 2

Tier 2 targets can be thought of as "guaranteed to build".

TargetNotes
x86_64-pc-windows-msvcx64 Windows (MSVC, Windows Server 2022+)

Tier 3

Tier 3 targets are those which the Cuprate codebase likely can support, but which Cuprate does not build or test on a regular basis, so they may or may not work. Official builds are not available, but may eventually be planned.

TargetNotes
x86_64-unknown-linux-muslx64 Linux (musl 1.2.3)
aarch64-unknown-linux-muslARM64 Linux (musl 1.2.3)
x86_64-unknown-freebsdx64 FreeBSD
aarch64-unknown-freebsdARM64 FreeBSD
aarch64-pc-windows-msvcARM64 Windows (MSVC, Windows Server 2022+)
x86_64-apple-darwinx64 macOS