9. Compilation targets overview¶
Ferrocene has support for multiple compilation targets and host platforms. Targets are categorized as either “supported” or “experimental” depending on the level of support. This page lists the current support status for all targets, and individual pages with more details are provided for supported targets.
There are two kinds of targets available:
Host platform: can be used by developers and build systems to compile Rust code from that platform, either targeting the same platform or cross-compiling to a different one. Host platforms cannot neccessarily target other host platforms.
Cross-compilation: can only be used to cross-compile to the platform from any host platform.
There are also two variants of the standard library available:
Bare-metal: provides the
core
andalloc
built-in crates.Full: provides the
core
,alloc
,std
,test
andproc_macro
built-in crates.
9.1. Supported targets¶
Supported targets are provided with the highest level of assurance. They are qualified for use in safety-critical contexts (when used with a qualified Ferrocene compiler), and the full Ferrocene test suite is executed on the target for every code change.
Target |
Triple |
Kind |
Standard library |
Notes |
---|---|---|---|---|
|
Host platform |
Full |
- |
|
|
Cross-compilation |
Bare-metal |
- |
9.2. Experimental targets¶
Experimental targets cannot be used in safety-critical contexts, and there is no guarantee that the Ferrocene test suite is successfully executed on the target. They are provided as a preview, with limited support available. They should not be used in production.
Target |
Triple |
Kind |
Standard library |
Notes |
---|---|---|---|---|
Armv7E-M bare-metal (soft-float) |
|
Cross-compilation |
Bare-metal |
- |
Armv7E-M bare-metal (hard-float) |
|
Cross-compilation |
Bare-metal |
- |
Armv8-R bare-metal (hard-float) |
|
Cross-compilation |
Bare-metal |
- |
Armv7-R bare-metal (hard-float) |
|
Cross-compilation |
Bare-metal |
- |
Armv7-R bare-metal (hard-float, big-endian) |
|
Cross-compilation |
Bare-metal |
- |
WASM bare-metal |
|
Cross-compilation |
Full |
The full standard library is available, but unsupported functions in |
x86-64 macOS |
|
Cross-compilation |
Full |
Available as a cross-compile target on Apple Silicon macOS. |
Apple Silicon macOS |
|
Host platform |
Full |
- |
x86-64 Windows |
|
Host platform |
Full |
- |
If your project needs support for one of these targets, please reach out to the Ferrocene support team.
9.3. Unsupported targets¶
The Rust compiler includes support for additional targets that are not yet included in Ferrocene. If you need support for them please reach out to the Ferrocene support team.