toolchain
Builds and caches the compiler components that native and firmware builds compile against.
| Group | toolchain |
Detailed description
libtoolchain assembles a toolchain for a target from components such as compiler-rt, avr-libc and captured C++ headers. ToolchainBootstrapService builds each component in the background, keeps the results in an on-disk cache, and hands a consumer a SysrootHandle when every component it needs is ready.
Classes
| Class | What it is |
|---|---|
| BootstrapWorker | Single worker thread that runs Component recipes serially |
| CompilerInterface | Abstraction over the underlying compiler/archiver |
| Component | One buildable toolchain component (compiler-rt, avr-libc, etc.) |
| ComponentArtefact | What one built or staged Component contributes to a SysrootHandle |
| ComponentBuildContext | Per-build state handed to each Component's recipe callable |
| Manifest | On-disk JSON record of every component's bootstrap state |
| NullCompilerInterface | Test/fixture compiler that records calls without doing real work |
| SysrootHandle | Consumer-facing aggregate of every component a Toolchain depends on |
| Toolchain | Top-level manifest for one assembled toolchain |
| ToolchainBootstrapService | Lazy + async orchestration of every toolchain's component builds |
| ToolchainRegistry | Process-wide registry of every Component + Toolchain shipped with OctoMY |