Expand description
Serialized configuration of a build.
This module implements parsing config.toml
configuration files to tweak
how the build runs.
Re-exports§
pub use crate::core::config::flags::Subcommand;
Macros§
- check_ci_llvm π
- define_config π
Structs§
- Build πTOML representation of various global build decisions.
- ChangeIdWrapper πSince we use
#[serde(deny_unknown_fields)]
onTomlConfig
, we need a wrapper type for the βchange-idβ field to parse it even if other fields are invalid. This ensures that if deserialization fails due to other fields, we can still provide the changelogs to allow developers to potentially find the reason for the failure in the logs.. - Global configuration for the entire build and/or bootstrap.
- Dist π
- Install πTOML representation of various global install decisions.
- Llvm πTOML representation of how the LLVM build is configured.
- OptimizeVisitor π
- Rust πTOML representation of how the Rust build is configured.
- Per-target configuration stored in the global configuration structure.
- Newtype over
Vec<TargetSelection>
so we can implement custom parsing logic - TomlConfig πStructure of the
config.toml
file that configuration is read from. - TomlTarget πTOML representation of how each build target is configured.
Enums§
- LLD in bootstrap works like this:
- ReplaceOpt πDescribes how to handle conflicts in merging two
TomlConfig
- LTO mode used for compiling rustc itself.
- StringOrInt π
Traits§
- Merge π
Functions§
- Checks the CI rustc incompatible options by destructuring the
Rust
instance and makes sure that no rust options from config.toml are missed. - set π
- threads_from_config π