#[non_exhaustive]pub enum BuildMessageKind {
GeneralWarning,
StderrForwarding,
#[non_exhaustive] CommandFailed {
is_detection_cmd: bool,
exit_status: ExitStatus,
},
}Expand description
What a BuildMessage is about.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
GeneralWarning
Every warning cc prints itself, such as a failed compiler family
detection or a setting that doesn’t apply to the compiler. A failed
command’s error, which parallel also prints as a warning, arrives as
CommandFailed instead.
extra is ().
StderrForwarding
Each line of stderr that cc forwards from a command it runs, such as the compiler or the archiver. Stderr that cc hides, such as that of flag support probes, isn’t passed.
A trailing \r is removed, and text that isn’t UTF-8 is converted
lossily. extra is the Command.
#[non_exhaustive]CommandFailed
A command cc runs exits unsuccessfully.
The text is the error cc returns, and extra is the
Command. Checks whose failure cc expects,
such as flag support probes and the ar call with D that cc retries
without it, are not reported. Neither are commands that can’t be
started, since they have no exit status.
Fields
This variant is marked as non-exhaustive
is_detection_cmd: booltrue for detection commands that don’t break the build: cc
recovers when they fail, so the build can still succeed. Examples
are the compiler’s --print-search-dirs query,
xcrun --show-sdk-version and compiler family detection. cc hides
the output of family detection unless
cargo_debug is on, so its failures
are only reported then, apart from the --version check it runs on
clang. A failed family detection still arrives as a
GeneralWarning.
false for commands whose failure fails the build, such as the
compiler, the archiver or xcrun --show-sdk-path.
exit_status: ExitStatusThe status the command exited with.