mirror of
https://github.com/rust-lang/rust.git
synced 2025-04-28 02:57:37 +00:00
Add support for target aliases
This commit is contained in:
parent
e1cce06e4f
commit
acc63bc5ba
@ -1433,7 +1433,7 @@ fn parse_target_triple(matches: &getopts::Matches, error_format: ErrorOutputType
|
||||
early_error(error_format, &format!("target file {:?} does not exist", path))
|
||||
})
|
||||
}
|
||||
Some(target) => TargetTriple::TargetTriple(target),
|
||||
Some(target) => TargetTriple::from_alias(target),
|
||||
_ => TargetTriple::from_triple(host_triple()),
|
||||
}
|
||||
}
|
||||
|
@ -1800,6 +1800,24 @@ impl TargetTriple {
|
||||
Ok(TargetTriple::TargetPath(canonicalized_path))
|
||||
}
|
||||
|
||||
/// Creates a target triple from its alias
|
||||
pub fn from_alias(triple: String) -> Self {
|
||||
macro_rules! target_aliases {
|
||||
( $(($alias:literal, $target:literal ),)+ ) => {
|
||||
match triple.as_str() {
|
||||
$( $alias => TargetTriple::from_triple($target), )+
|
||||
_ => TargetTriple::TargetTriple(triple),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
target_aliases! {
|
||||
// `x86_64-pc-solaris` is an alias for `x86_64_sun_solaris` for backwards compatibility reasons.
|
||||
// (See <https://github.com/rust-lang/rust/issues/40531>.)
|
||||
("x86_64-pc-solaris", "x86_64-sun-solaris"),
|
||||
}
|
||||
}
|
||||
|
||||
/// Returns a string triple for this target.
|
||||
///
|
||||
/// If this target is a path, the file name (without extension) is returned.
|
||||
|
Loading…
Reference in New Issue
Block a user