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