1#![allow(clippy::return_self_not_must_use)]
15
16pub mod build_flags;
17pub mod build_jobs;
18pub mod compiler;
19pub mod compiler_wrapper;
20pub mod condition;
21pub mod config;
22pub mod config_source;
23pub mod error;
24pub mod hash;
25pub mod model;
26pub mod patch;
27pub mod profile;
28pub mod registry;
29pub mod source_language;
30pub mod source_replacement;
31pub mod term_color;
32pub mod term_verbosity;
33pub mod toolchain;
34pub mod version_req;
35
36pub use build_flags::{
37 BuildFlagsValidationError, ConditionalProfileFlags, ProfileFlags, ProfileSettings,
38 ResolvedProfileFlags, resolve_build_flags,
39};
40pub use build_jobs::{BuildJobs, BuildJobsParseError};
41pub use compiler::{
42 ArchiverCapabilities, ArchiverIdentity, ArchiverKind, Capability, CapabilitySource,
43 CompilerCapabilities, CompilerIdentity, CompilerKind, CompilerVersion, ToolDetection,
44 ToolDetectionError, ToolchainDetectionReport, derive_ar_capabilities, derive_cxx_capabilities,
45 parse_ar_version_output, parse_cxx_version_output, validate_ar_for_backend,
46 validate_cc_for_backend, validate_cxx_for_backend,
47};
48pub use compiler_wrapper::{
49 CompilerWrapperIdentity, CompilerWrapperKind, CompilerWrapperManifestSettings,
50 CompilerWrapperParseError, CompilerWrapperRequest, CompilerWrapperSource,
51 CompilerWrapperSummary, ConditionalCompilerWrapperDecl, ResolvedCompilerWrapper,
52};
53pub use condition::{Condition, ConditionKey, ConditionParseError, TargetPlatform};
54pub use config::{
55 BuildConfiguration, BuildConfigurationInput, DEFAULT_FEATURE_KEY, FeatureEntry, Features,
56 InvalidFeatureEntryKind, SelectionRequest, ToolchainSummary,
57};
58pub use config_source::ConfigValueSource;
59pub use error::ValidationError;
60pub use model::{
61 Dependency, DependencyKind, DependencySource, Package, PackageConfigInput, PackageName,
62 PortDepSource, SystemDependency, Target, TargetKind, TargetName, is_path_safe_package_name,
63};
64pub use patch::{
65 DeclaredPatch, PatchManifestSettings, PatchProvenance, PatchSource, PatchSourceKind,
66 PatchValidationError,
67};
68pub use profile::{
69 BuiltinProfile, InvalidProfileName, OptLevel, ProfileDefaults, ProfileDefinition, ProfileName,
70 ProfileResolutionError, ProfileSelection, ProfileSource, ResolvedProfile,
71 available_profile_names, resolve_profile,
72};
73pub use source_language::{SourceLanguage, classify_source, link_driver_language};
74pub use source_replacement::{
75 SourceLocator, SourceReplacementEntry, SourceReplacementError, SourceReplacementResolution,
76 SourceReplacementSettings,
77};
78pub use term_color::{ColorChoice, ColorEnvError, InvalidColorChoice};
79pub use term_verbosity::{InvalidVerbosityCombination, Verbosity, VerbosityEnvError};
80pub use toolchain::{
81 ConditionalToolchainDecl, ResolvedTool, ResolvedToolchain, ToolKind, ToolSelection, ToolSource,
82 ToolSpec, ToolchainDecl, ToolchainResolutionError, ToolchainSelection, ToolchainSettings,
83};