All supported platforms should be built and tested in CI
Author: celeste-sineadCreated Apr 24, 2026Updated Apr 25, 2026
We presently declare the following support:
| Target triple | Binary | Library |
|---|---|---|
| x86_64-unknown-linux-gnu | ✓ | ✓ |
| aarch64-unknown-linux-gnu | ✓ | ✓ |
| armv7-unknown-linux-gnueabihf | ✓ | ✓ |
| x86_64-apple-darwin | ✓ | ✓ |
| x86_64-pc-windows-msvc | ✓ | |
| aarch64-apple-ios | ✓ | |
| armv7-apple-ios | ✓ | |
| armv7s-apple-ios | ✓ | |
| aarch64-linux-android | ✓ | |
| arm-linux-androideabi | ✓ |
However, we only build and test on, afaict, x86_64-unknown-linux-gnu, x86_64-pc-windows-msvc, and aarch64-apple-darwin (which is notably not declared as supported!).
Unsurprisingly, the targets that don't get tested have rotted:
- #428 - android builds reportedly broken
- #450 and #460 - platforms lacking native 64 bit atomics have been broken for years
- #383 - notes lack of declared support for aarch64-apple-darwin (even though it's what we build in CI
Broadly:
- we should be building and testing at least one 32 bit target
- we should be building and testing android, if possible
- the support list should be pruned to things we can routinely test
Source: cloudflare/boringtun