#[derive(Copy, Clone, Debug, Eq, PartialEq)]
#[non_exhaustive]
pub enum Target {
Aarch64AppleMacosx,
Aarch64Fuchsia,
Aarch64LinuxAndroid,
Aarch64PcWindowsMsvc,
Aarch64UnknownFreebsd,
Aarch64UnknownHermit,
Aarch64UnknownLinuxGnu,
Aarch64UnknownLinuxMusl,
Aarch64UnknownNetbsd,
Aarch64UnknownNone,
Aarch64UnknownOpenbsd,
Aarch64UnknownRedox,
Arm64AppleIos,
Arm64AppleIosMacabi,
Arm64AppleTvos,
Armebv7rUnknownNoneEabi,
Armebv7rUnknownNoneEabihf,
ArmLinuxAndroideabi,
ArmUnknownLinuxGnueabi,
ArmUnknownLinuxGnueabihf,
Armv4tUnknownLinuxGnueabi,
Armv5teUnknownLinuxGnueabi,
Armv5teUnknownLinuxUclibcgnueabi,
Armv6UnknownFreebsdGnueabihf,
Armv6UnknownNetbsdelfEabihf,
Armv7aNoneEabi,
Armv7aNoneEabihf,
Armv7AppleIos,
Armv7NoneLinuxAndroid,
Armv7rUnknownNoneEabi,
Armv7rUnknownNoneEabihf,
Armv7sAppleIos,
Armv7UnknownFreebsdGnueabihf,
Armv7UnknownLinuxGnueabi,
Armv7UnknownLinuxGnueabihf,
Armv7UnknownNetbsdelfEabihf,
AvrUnknownUnknown,
HexagonUnknownLinuxMusl,
I386AppleIos,
I586PcWindowsMsvc,
I586UnknownLinuxGnu,
I586UnknownLinuxMusl,
I686AppleMacosx,
I686LinuxAndroid,
I686PcWindowsGnu,
I686PcWindowsMsvc,
I686UnknownFreebsd,
I686UnknownHaiku,
I686UnknownLinuxGnu,
I686UnknownLinuxMusl,
I686UnknownNetbsdelf,
I686UnknownOpenbsd,
I686UnknownWindows,
Mips64elUnknownLinuxGnuabi64,
Mips64elUnknownLinuxMusl,
Mips64UnknownLinuxGnuabi64,
Mips64UnknownLinuxMusl,
MipselSonyPsp,
MipselUnknownLinuxGnu,
MipselUnknownLinuxMusl,
MipselUnknownLinuxUclibc,
MipselUnknownNone,
Mipsisa32r6elUnknownLinuxGnu,
Mipsisa32r6UnknownLinuxGnu,
Mipsisa64r6elUnknownLinuxGnuabi64,
Mipsisa64r6UnknownLinuxGnuabi64,
MipsUnknownLinuxGnu,
MipsUnknownLinuxMusl,
MipsUnknownLinuxUclibc,
Msp430NoneElf,
Powerpc64leUnknownLinuxGnu,
Powerpc64leUnknownLinuxMusl,
Powerpc64UnknownFreebsd,
Powerpc64UnknownLinuxGnu,
Powerpc64UnknownLinuxMusl,
PowerpcUnknownLinuxGnu,
PowerpcUnknownLinuxGnuspe,
PowerpcUnknownLinuxMusl,
PowerpcUnknownNetbsd,
Riscv32,
Riscv32UnknownLinuxGnu,
Riscv64,
Riscv64UnknownLinuxGnu,
S390xUnknownLinuxGnu,
Sparc64UnknownLinuxGnu,
Sparc64UnknownNetbsd,
Sparc64UnknownOpenbsd,
SparcUnknownLinuxGnu,
Sparcv9SunSolaris,
Thumbv4tNoneEabi,
Thumbv6mNoneEabi,
Thumbv7aPcWindowsMsvc,
Thumbv7emNoneEabihf,
Thumbv7emNoneEabi,
Thumbv7mNoneEabi,
Thumbv8mBaseNoneEabi,
Thumbv8mMainNoneEabihf,
Thumbv8mMainNoneEabi,
Wasm32UnknownEmscripten,
Wasm32UnknownUnknown,
Wasm32Wasi,
X86_64AppleIosMacabi,
X86_64AppleIos,
X86_64AppleMacosx,
X86_64AppleTvos,
X86_64Elf,
X86_64Fuchsia,
X86_64LinuxAndroid,
X86_64PcSolaris,
X86_64PcWindowsGnu,
X86_64PcWindowsMsvc,
X86_64RumprunNetbsd,
X86_64UnknownDragonfly,
X86_64UnknownFreebsd,
X86_64UnknownHaiku,
X86_64UnknownHermit,
X86_64UnknownL4reUclibc,
X86_64UnknownLinuxGnux32,
X86_64UnknownLinuxGnu,
X86_64UnknownLinuxMusl,
X86_64UnknownNetbsd,
X86_64UnknownOpenbsd,
X86_64UnknownRedox,
X86_64UnknownWindows,
}
impl Target {
pub fn name(self) -> &'static str {
match self {
Target::Aarch64AppleMacosx => "aarch64-apple-macosx",
Target::Aarch64Fuchsia => "aarch64-fuchsia",
Target::Aarch64LinuxAndroid => "aarch64-linux-android",
Target::Aarch64PcWindowsMsvc => "aarch64-pc-windows-msvc",
Target::Aarch64UnknownFreebsd => "aarch64-unknown-freebsd",
Target::Aarch64UnknownHermit => "aarch64-unknown-hermit",
Target::Aarch64UnknownLinuxGnu => "aarch64-unknown-linux-gnu",
Target::Aarch64UnknownLinuxMusl => "aarch64-unknown-linux-musl",
Target::Aarch64UnknownNetbsd => "aarch64-unknown-netbsd",
Target::Aarch64UnknownNone => "aarch64-unknown-none",
Target::Aarch64UnknownOpenbsd => "aarch64-unknown-openbsd",
Target::Aarch64UnknownRedox => "aarch64-unknown-redox",
Target::Arm64AppleIos => "arm64-apple-ios",
Target::Arm64AppleIosMacabi => "arm64-apple-ios-macabi",
Target::Arm64AppleTvos => "arm64-apple-tvos",
Target::Armebv7rUnknownNoneEabi => "armebv7r-unknown-none-eabi",
Target::Armebv7rUnknownNoneEabihf => "armebv7r-unknown-none-eabihf",
Target::ArmLinuxAndroideabi => "arm-linux-androideabi",
Target::ArmUnknownLinuxGnueabi => "arm-unknown-linux-gnueabi",
Target::ArmUnknownLinuxGnueabihf => "arm-unknown-linux-gnueabihf",
Target::Armv4tUnknownLinuxGnueabi => "armv4t-unknown-linux-gnueabi",
Target::Armv5teUnknownLinuxGnueabi => "armv5te-unknown-linux-gnueabi",
Target::Armv5teUnknownLinuxUclibcgnueabi => "armv5te-unknown-linux-uclibcgnueabi",
Target::Armv6UnknownFreebsdGnueabihf => "armv6-unknown-freebsd-gnueabihf",
Target::Armv6UnknownNetbsdelfEabihf => "armv6-unknown-netbsdelf-eabihf",
Target::Armv7aNoneEabi => "armv7a-none-eabi",
Target::Armv7aNoneEabihf => "armv7a-none-eabihf",
Target::Armv7AppleIos => "armv7-apple-ios",
Target::Armv7NoneLinuxAndroid => "armv7-none-linux-android",
Target::Armv7rUnknownNoneEabi => "armv7r-unknown-none-eabi",
Target::Armv7rUnknownNoneEabihf => "armv7r-unknown-none-eabihf",
Target::Armv7sAppleIos => "armv7s-apple-ios",
Target::Armv7UnknownFreebsdGnueabihf => "armv7-unknown-freebsd-gnueabihf",
Target::Armv7UnknownLinuxGnueabi => "armv7-unknown-linux-gnueabi",
Target::Armv7UnknownLinuxGnueabihf => "armv7-unknown-linux-gnueabihf",
Target::Armv7UnknownNetbsdelfEabihf => "armv7-unknown-netbsdelf-eabihf",
Target::AvrUnknownUnknown => "avr-unknown-unknown",
Target::HexagonUnknownLinuxMusl => "hexagon-unknown-linux-musl",
Target::I386AppleIos => "i386-apple-ios",
Target::I586PcWindowsMsvc => "i586-pc-windows-msvc",
Target::I586UnknownLinuxGnu => "i586-unknown-linux-gnu",
Target::I586UnknownLinuxMusl => "i586-unknown-linux-musl",
Target::I686AppleMacosx => "i686-apple-macosx",
Target::I686LinuxAndroid => "i686-linux-android",
Target::I686PcWindowsGnu => "i686-pc-windows-gnu",
Target::I686PcWindowsMsvc => "i686-pc-windows-msvc",
Target::I686UnknownFreebsd => "i686-unknown-freebsd",
Target::I686UnknownHaiku => "i686-unknown-haiku",
Target::I686UnknownLinuxGnu => "i686-unknown-linux-gnu",
Target::I686UnknownLinuxMusl => "i686-unknown-linux-musl",
Target::I686UnknownNetbsdelf => "i686-unknown-netbsdelf",
Target::I686UnknownOpenbsd => "i686-unknown-openbsd",
Target::I686UnknownWindows => "i686-unknown-windows",
Target::Mips64elUnknownLinuxGnuabi64 => "mips64el-unknown-linux-gnuabi64",
Target::Mips64elUnknownLinuxMusl => "mips64el-unknown-linux-musl",
Target::Mips64UnknownLinuxGnuabi64 => "mips64-unknown-linux-gnuabi64",
Target::Mips64UnknownLinuxMusl => "mips64-unknown-linux-musl",
Target::MipselSonyPsp => "mipsel-sony-psp",
Target::MipselUnknownLinuxGnu => "mipsel-unknown-linux-gnu",
Target::MipselUnknownLinuxMusl => "mipsel-unknown-linux-musl",
Target::MipselUnknownLinuxUclibc => "mipsel-unknown-linux-uclibc",
Target::MipselUnknownNone => "mipsel-unknown-none",
Target::Mipsisa32r6elUnknownLinuxGnu => "mipsisa32r6el-unknown-linux-gnu",
Target::Mipsisa32r6UnknownLinuxGnu => "mipsisa32r6-unknown-linux-gnu",
Target::Mipsisa64r6elUnknownLinuxGnuabi64 => "mipsisa64r6el-unknown-linux-gnuabi64",
Target::Mipsisa64r6UnknownLinuxGnuabi64 => "mipsisa64r6-unknown-linux-gnuabi64",
Target::MipsUnknownLinuxGnu => "mips-unknown-linux-gnu",
Target::MipsUnknownLinuxMusl => "mips-unknown-linux-musl",
Target::MipsUnknownLinuxUclibc => "mips-unknown-linux-uclibc",
Target::Msp430NoneElf => "msp430-none-elf",
Target::Powerpc64leUnknownLinuxGnu => "powerpc64le-unknown-linux-gnu",
Target::Powerpc64leUnknownLinuxMusl => "powerpc64le-unknown-linux-musl",
Target::Powerpc64UnknownFreebsd => "powerpc64-unknown-freebsd",
Target::Powerpc64UnknownLinuxGnu => "powerpc64-unknown-linux-gnu",
Target::Powerpc64UnknownLinuxMusl => "powerpc64-unknown-linux-musl",
Target::PowerpcUnknownLinuxGnu => "powerpc-unknown-linux-gnu",
Target::PowerpcUnknownLinuxGnuspe => "powerpc-unknown-linux-gnuspe",
Target::PowerpcUnknownLinuxMusl => "powerpc-unknown-linux-musl",
Target::PowerpcUnknownNetbsd => "powerpc-unknown-netbsd",
Target::Riscv32 => "riscv32",
Target::Riscv32UnknownLinuxGnu => "riscv32-unknown-linux-gnu",
Target::Riscv64 => "riscv64",
Target::Riscv64UnknownLinuxGnu => "riscv64-unknown-linux-gnu",
Target::S390xUnknownLinuxGnu => "s390x-unknown-linux-gnu",
Target::Sparc64UnknownLinuxGnu => "sparc64-unknown-linux-gnu",
Target::Sparc64UnknownNetbsd => "sparc64-unknown-netbsd",
Target::Sparc64UnknownOpenbsd => "sparc64-unknown-openbsd",
Target::SparcUnknownLinuxGnu => "sparc-unknown-linux-gnu",
Target::Sparcv9SunSolaris => "sparcv9-sun-solaris",
Target::Thumbv4tNoneEabi => "thumbv4t-none-eabi",
Target::Thumbv6mNoneEabi => "thumbv6m-none-eabi",
Target::Thumbv7aPcWindowsMsvc => "thumbv7a-pc-windows-msvc",
Target::Thumbv7emNoneEabihf => "thumbv7em-none-eabihf",
Target::Thumbv7emNoneEabi => "thumbv7em-none-eabi",
Target::Thumbv7mNoneEabi => "thumbv7m-none-eabi",
Target::Thumbv8mBaseNoneEabi => "thumbv8m.base-none-eabi",
Target::Thumbv8mMainNoneEabihf => "thumbv8m.main-none-eabihf",
Target::Thumbv8mMainNoneEabi => "thumbv8m.main-none-eabi",
Target::Wasm32UnknownEmscripten => "wasm32-unknown-emscripten",
Target::Wasm32UnknownUnknown => "wasm32-unknown-unknown",
Target::Wasm32Wasi => "wasm32-wasi",
Target::X86_64AppleIosMacabi => "x86_64-apple-ios-macabi",
Target::X86_64AppleIos => "x86_64-apple-ios",
Target::X86_64AppleMacosx => "x86_64-apple-macosx",
Target::X86_64AppleTvos => "x86_64-apple-tvos",
Target::X86_64Elf => "x86_64-elf",
Target::X86_64Fuchsia => "x86_64-fuchsia",
Target::X86_64LinuxAndroid => "x86_64-linux-android",
Target::X86_64PcSolaris => "x86_64-pc-solaris",
Target::X86_64PcWindowsGnu => "x86_64-pc-windows-gnu",
Target::X86_64PcWindowsMsvc => "x86_64-pc-windows-msvc",
Target::X86_64RumprunNetbsd => "x86_64-rumprun-netbsd",
Target::X86_64UnknownDragonfly => "x86_64-unknown-dragonfly",
Target::X86_64UnknownFreebsd => "x86_64-unknown-freebsd",
Target::X86_64UnknownHaiku => "x86_64-unknown-haiku",
Target::X86_64UnknownHermit => "x86_64-unknown-hermit",
Target::X86_64UnknownL4reUclibc => "x86_64-unknown-l4re-uclibc",
Target::X86_64UnknownLinuxGnux32 => "x86_64-unknown-linux-gnux32",
Target::X86_64UnknownLinuxGnu => "x86_64-unknown-linux-gnu",
Target::X86_64UnknownLinuxMusl => "x86_64-unknown-linux-musl",
Target::X86_64UnknownNetbsd => "x86_64-unknown-netbsd",
Target::X86_64UnknownOpenbsd => "x86_64-unknown-openbsd",
Target::X86_64UnknownRedox => "x86_64-unknown-redox",
Target::X86_64UnknownWindows => "x86_64-unknown-windows",
}
}
}
pub const TARGETS: &[Target] = &[
Target::Aarch64AppleMacosx,
Target::Aarch64Fuchsia,
Target::Aarch64LinuxAndroid,
Target::Aarch64PcWindowsMsvc,
Target::Aarch64UnknownFreebsd,
Target::Aarch64UnknownHermit,
Target::Aarch64UnknownLinuxGnu,
Target::Aarch64UnknownLinuxMusl,
Target::Aarch64UnknownNetbsd,
Target::Aarch64UnknownNone,
Target::Aarch64UnknownOpenbsd,
Target::Aarch64UnknownRedox,
Target::Arm64AppleIos,
Target::Arm64AppleIosMacabi,
Target::Arm64AppleTvos,
Target::Armebv7rUnknownNoneEabi,
Target::Armebv7rUnknownNoneEabihf,
Target::ArmLinuxAndroideabi,
Target::ArmUnknownLinuxGnueabi,
Target::ArmUnknownLinuxGnueabihf,
Target::Armv4tUnknownLinuxGnueabi,
Target::Armv5teUnknownLinuxGnueabi,
Target::Armv5teUnknownLinuxUclibcgnueabi,
Target::Armv6UnknownFreebsdGnueabihf,
Target::Armv6UnknownNetbsdelfEabihf,
Target::Armv7aNoneEabi,
Target::Armv7aNoneEabihf,
Target::Armv7AppleIos,
Target::Armv7NoneLinuxAndroid,
Target::Armv7rUnknownNoneEabi,
Target::Armv7rUnknownNoneEabihf,
Target::Armv7sAppleIos,
Target::Armv7UnknownFreebsdGnueabihf,
Target::Armv7UnknownLinuxGnueabi,
Target::Armv7UnknownLinuxGnueabihf,
Target::Armv7UnknownNetbsdelfEabihf,
Target::AvrUnknownUnknown,
Target::HexagonUnknownLinuxMusl,
Target::I386AppleIos,
Target::I586PcWindowsMsvc,
Target::I586UnknownLinuxGnu,
Target::I586UnknownLinuxMusl,
Target::I686AppleMacosx,
Target::I686LinuxAndroid,
Target::I686PcWindowsGnu,
Target::I686PcWindowsMsvc,
Target::I686UnknownFreebsd,
Target::I686UnknownHaiku,
Target::I686UnknownLinuxGnu,
Target::I686UnknownLinuxMusl,
Target::I686UnknownNetbsdelf,
Target::I686UnknownOpenbsd,
Target::I686UnknownWindows,
Target::Mips64elUnknownLinuxGnuabi64,
Target::Mips64elUnknownLinuxMusl,
Target::Mips64UnknownLinuxGnuabi64,
Target::Mips64UnknownLinuxMusl,
Target::MipselSonyPsp,
Target::MipselUnknownLinuxGnu,
Target::MipselUnknownLinuxMusl,
Target::MipselUnknownLinuxUclibc,
Target::MipselUnknownNone,
Target::Mipsisa32r6elUnknownLinuxGnu,
Target::Mipsisa32r6UnknownLinuxGnu,
Target::Mipsisa64r6elUnknownLinuxGnuabi64,
Target::Mipsisa64r6UnknownLinuxGnuabi64,
Target::MipsUnknownLinuxGnu,
Target::MipsUnknownLinuxMusl,
Target::MipsUnknownLinuxUclibc,
Target::Msp430NoneElf,
Target::Powerpc64leUnknownLinuxGnu,
Target::Powerpc64leUnknownLinuxMusl,
Target::Powerpc64UnknownFreebsd,
Target::Powerpc64UnknownLinuxGnu,
Target::Powerpc64UnknownLinuxMusl,
Target::PowerpcUnknownLinuxGnu,
Target::PowerpcUnknownLinuxGnuspe,
Target::PowerpcUnknownLinuxMusl,
Target::PowerpcUnknownNetbsd,
Target::Riscv32,
Target::Riscv32UnknownLinuxGnu,
Target::Riscv64,
Target::Riscv64UnknownLinuxGnu,
Target::S390xUnknownLinuxGnu,
Target::Sparc64UnknownLinuxGnu,
Target::Sparc64UnknownNetbsd,
Target::Sparc64UnknownOpenbsd,
Target::SparcUnknownLinuxGnu,
Target::Sparcv9SunSolaris,
Target::Thumbv4tNoneEabi,
Target::Thumbv6mNoneEabi,
Target::Thumbv7aPcWindowsMsvc,
Target::Thumbv7emNoneEabihf,
Target::Thumbv7emNoneEabi,
Target::Thumbv7mNoneEabi,
Target::Thumbv8mBaseNoneEabi,
Target::Thumbv8mMainNoneEabihf,
Target::Thumbv8mMainNoneEabi,
Target::Wasm32UnknownEmscripten,
Target::Wasm32UnknownUnknown,
Target::Wasm32Wasi,
Target::X86_64AppleIosMacabi,
Target::X86_64AppleIos,
Target::X86_64AppleMacosx,
Target::X86_64AppleTvos,
Target::X86_64Elf,
Target::X86_64Fuchsia,
Target::X86_64LinuxAndroid,
Target::X86_64PcSolaris,
Target::X86_64PcWindowsGnu,
Target::X86_64PcWindowsMsvc,
Target::X86_64RumprunNetbsd,
Target::X86_64UnknownDragonfly,
Target::X86_64UnknownFreebsd,
Target::X86_64UnknownHaiku,
Target::X86_64UnknownHermit,
Target::X86_64UnknownL4reUclibc,
Target::X86_64UnknownLinuxGnux32,
Target::X86_64UnknownLinuxGnu,
Target::X86_64UnknownLinuxMusl,
Target::X86_64UnknownNetbsd,
Target::X86_64UnknownOpenbsd,
Target::X86_64UnknownRedox,
Target::X86_64UnknownWindows,
];
pub fn system_compiler(target: Target) -> Compiler {
match target {
Target::Aarch64AppleMacosx => Compiler::Clang,
Target::Aarch64Fuchsia => Compiler::Clang,
Target::Aarch64LinuxAndroid => Compiler::Clang,
Target::Aarch64PcWindowsMsvc => Compiler::Msvc,
Target::Aarch64UnknownFreebsd => Compiler::Clang,
Target::Aarch64UnknownHermit => Compiler::Clang,
Target::Aarch64UnknownLinuxGnu => Compiler::Gcc,
Target::Aarch64UnknownLinuxMusl => Compiler::Gcc,
Target::Aarch64UnknownNetbsd => Compiler::Clang,
Target::Aarch64UnknownNone => Compiler::Clang,
Target::Aarch64UnknownOpenbsd => Compiler::Clang,
Target::Aarch64UnknownRedox => Compiler::Clang,
Target::Arm64AppleIos => Compiler::Clang,
Target::Arm64AppleIosMacabi => Compiler::Clang,
Target::Arm64AppleTvos => Compiler::Clang,
Target::Armebv7rUnknownNoneEabi => Compiler::Clang,
Target::Armebv7rUnknownNoneEabihf => Compiler::Clang,
Target::ArmLinuxAndroideabi => Compiler::Clang,
Target::ArmUnknownLinuxGnueabi => Compiler::Gcc,
Target::ArmUnknownLinuxGnueabihf => Compiler::Gcc,
Target::Armv4tUnknownLinuxGnueabi => Compiler::Gcc,
Target::Armv5teUnknownLinuxGnueabi => Compiler::Gcc,
Target::Armv5teUnknownLinuxUclibcgnueabi => Compiler::Gcc,
Target::Armv6UnknownFreebsdGnueabihf => Compiler::Clang,
Target::Armv6UnknownNetbsdelfEabihf => Compiler::Clang,
Target::Armv7aNoneEabi => Compiler::Clang,
Target::Armv7aNoneEabihf => Compiler::Clang,
Target::Armv7AppleIos => Compiler::Clang,
Target::Armv7NoneLinuxAndroid => Compiler::Clang,
Target::Armv7rUnknownNoneEabi => Compiler::Clang,
Target::Armv7rUnknownNoneEabihf => Compiler::Clang,
Target::Armv7sAppleIos => Compiler::Clang,
Target::Armv7UnknownFreebsdGnueabihf => Compiler::Clang,
Target::Armv7UnknownLinuxGnueabi => Compiler::Gcc,
Target::Armv7UnknownLinuxGnueabihf => Compiler::Gcc,
Target::Armv7UnknownNetbsdelfEabihf => Compiler::Clang,
Target::AvrUnknownUnknown => Compiler::Gcc,
Target::HexagonUnknownLinuxMusl => Compiler::Clang,
Target::I386AppleIos => Compiler::Clang,
Target::I586PcWindowsMsvc => Compiler::Msvc,
Target::I586UnknownLinuxGnu => Compiler::Gcc,
Target::I586UnknownLinuxMusl => Compiler::Gcc,
Target::I686AppleMacosx => Compiler::Clang,
Target::I686LinuxAndroid => Compiler::Clang,
Target::I686PcWindowsGnu => Compiler::Gcc,
Target::I686PcWindowsMsvc => Compiler::Msvc,
Target::I686UnknownFreebsd => Compiler::Clang,
Target::I686UnknownHaiku => Compiler::Clang,
Target::I686UnknownLinuxGnu => Compiler::Gcc,
Target::I686UnknownLinuxMusl => Compiler::Gcc,
Target::I686UnknownNetbsdelf => Compiler::Clang,
Target::I686UnknownOpenbsd => Compiler::Clang,
Target::I686UnknownWindows => Compiler::Msvc,
Target::Mips64elUnknownLinuxGnuabi64 => Compiler::Gcc,
Target::Mips64elUnknownLinuxMusl => Compiler::Gcc,
Target::Mips64UnknownLinuxGnuabi64 => Compiler::Gcc,
Target::Mips64UnknownLinuxMusl => Compiler::Gcc,
Target::MipselSonyPsp => Compiler::Clang,
Target::MipselUnknownLinuxGnu => Compiler::Gcc,
Target::MipselUnknownLinuxMusl => Compiler::Gcc,
Target::MipselUnknownLinuxUclibc => Compiler::Gcc,
Target::MipselUnknownNone => Compiler::Clang,
Target::Mipsisa32r6elUnknownLinuxGnu => Compiler::Gcc,
Target::Mipsisa32r6UnknownLinuxGnu => Compiler::Gcc,
Target::Mipsisa64r6elUnknownLinuxGnuabi64 => Compiler::Gcc,
Target::Mipsisa64r6UnknownLinuxGnuabi64 => Compiler::Gcc,
Target::MipsUnknownLinuxGnu => Compiler::Gcc,
Target::MipsUnknownLinuxMusl => Compiler::Gcc,
Target::MipsUnknownLinuxUclibc => Compiler::Gcc,
Target::Msp430NoneElf => Compiler::Clang,
Target::Powerpc64leUnknownLinuxGnu => Compiler::Gcc,
Target::Powerpc64leUnknownLinuxMusl => Compiler::Gcc,
Target::Powerpc64UnknownFreebsd => Compiler::Clang,
Target::Powerpc64UnknownLinuxGnu => Compiler::Gcc,
Target::Powerpc64UnknownLinuxMusl => Compiler::Gcc,
Target::PowerpcUnknownLinuxGnu => Compiler::Gcc,
Target::PowerpcUnknownLinuxGnuspe => Compiler::Clang,
Target::PowerpcUnknownLinuxMusl => Compiler::Gcc,
Target::PowerpcUnknownNetbsd => Compiler::Clang,
Target::Riscv32 => Compiler::Clang,
Target::Riscv32UnknownLinuxGnu => Compiler::Gcc,
Target::Riscv64 => Compiler::Clang,
Target::Riscv64UnknownLinuxGnu => Compiler::Gcc,
Target::S390xUnknownLinuxGnu => Compiler::Gcc,
Target::Sparc64UnknownLinuxGnu => Compiler::Gcc,
Target::Sparc64UnknownNetbsd => Compiler::Clang,
Target::Sparc64UnknownOpenbsd => Compiler::Clang,
Target::SparcUnknownLinuxGnu => Compiler::Gcc,
Target::Sparcv9SunSolaris => Compiler::Clang,
Target::Thumbv4tNoneEabi => Compiler::Clang,
Target::Thumbv6mNoneEabi => Compiler::Clang,
Target::Thumbv7aPcWindowsMsvc => Compiler::Msvc,
Target::Thumbv7emNoneEabihf => Compiler::Clang,
Target::Thumbv7emNoneEabi => Compiler::Clang,
Target::Thumbv7mNoneEabi => Compiler::Clang,
Target::Thumbv8mBaseNoneEabi => Compiler::Clang,
Target::Thumbv8mMainNoneEabihf => Compiler::Clang,
Target::Thumbv8mMainNoneEabi => Compiler::Clang,
Target::Wasm32UnknownEmscripten => Compiler::Clang,
Target::Wasm32UnknownUnknown => Compiler::Clang,
Target::Wasm32Wasi => Compiler::Clang,
Target::X86_64AppleIosMacabi => Compiler::Clang,
Target::X86_64AppleIos => Compiler::Clang,
Target::X86_64AppleMacosx => Compiler::Clang,
Target::X86_64AppleTvos => Compiler::Clang,
Target::X86_64Elf => Compiler::Clang,
Target::X86_64Fuchsia => Compiler::Clang,
Target::X86_64LinuxAndroid => Compiler::Clang,
Target::X86_64PcSolaris => Compiler::Clang,
Target::X86_64PcWindowsGnu => Compiler::Gcc,
Target::X86_64PcWindowsMsvc => Compiler::Msvc,
Target::X86_64RumprunNetbsd => Compiler::Clang,
Target::X86_64UnknownDragonfly => Compiler::Clang,
Target::X86_64UnknownFreebsd => Compiler::Clang,
Target::X86_64UnknownHaiku => Compiler::Clang,
Target::X86_64UnknownHermit => Compiler::Clang,
Target::X86_64UnknownL4reUclibc => Compiler::Clang,
Target::X86_64UnknownLinuxGnux32 => Compiler::Gcc,
Target::X86_64UnknownLinuxGnu => Compiler::Gcc,
Target::X86_64UnknownLinuxMusl => Compiler::Gcc,
Target::X86_64UnknownNetbsd => Compiler::Clang,
Target::X86_64UnknownOpenbsd => Compiler::Clang,
Target::X86_64UnknownRedox => Compiler::Clang,
Target::X86_64UnknownWindows => Compiler::Msvc,
}
}