Lazy + async orchestration of every toolchain's component builds. More...
| Header: | #include <ToolchainBootstrapService> |
| Since: | Phase 20a |
| Inherits: | QObject |
Singleton accessed via `instance()`. Configure once with a root directory for the on-disk cache + manifest (default: `<userDataDir>/octomy-toolchain/`). `start()` triggers background bootstrap of every component referenced by every registered toolchain; `waitFor(tc, hook)` is the blocking accessor consumers call when they need a `SysrootHandle`.
Threading: `waitFor()` blocks the caller's thread (must not be the GUI thread) until all of the toolchain's components reach `Ready`. The hook is invoked on the caller's thread between waits, relaying progress events from the worker.
Crash recovery: on `configure()`, every `Building` entry whose `buildPid` is no longer alive transitions to `Stale` and gets rebuilt on next request.
Multi-process safety: file-locking through Manifest + per-component cache-dir lock files (held during recipe execution).
See also ToolchainRegistry, Component, Toolchain, and SysrootHandle.