#[non_exhaustive]pub enum Target {
Show 124 variants
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,
}Expand description
The target of a C compiler.
The names used here are the names used by LLVM and Clang. GCC uses the same target
names except that x86_64-pc-windows-gnu is called x86_64-w64-mingw64 and
i686-pc-windows-gnu is called i686-w64-mingw32.
Each target documents its system compiler. The system compiler of a target is its
native compiler. For the *-windows-gnu targets this is GCC. For all other *-windows*
targets it is MSVC. For most *-linux-* targets it is GCC. For most other targets
it is Clang.
The notion of a target’s system compiler matters because compilers generate slightly different layouts even on the same target.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Aarch64AppleMacosx
The aarch64-apple-macosx target.
The system compiler of this target is Clang.
Aarch64Fuchsia
The aarch64-fuchsia target.
The system compiler of this target is Clang.
Aarch64LinuxAndroid
The aarch64-linux-android target.
The system compiler of this target is Clang.
Aarch64PcWindowsMsvc
The aarch64-pc-windows-msvc target.
The system compiler of this target is MSVC.
Aarch64UnknownFreebsd
The aarch64-unknown-freebsd target.
The system compiler of this target is Clang.
Aarch64UnknownHermit
The aarch64-unknown-hermit target.
The system compiler of this target is Clang.
Aarch64UnknownLinuxGnu
The aarch64-unknown-linux-gnu target.
The system compiler of this target is GCC.
Aarch64UnknownLinuxMusl
The aarch64-unknown-linux-musl target.
The system compiler of this target is GCC.
Aarch64UnknownNetbsd
The aarch64-unknown-netbsd target.
The system compiler of this target is Clang.
Aarch64UnknownNone
The aarch64-unknown-none target.
The system compiler of this target is Clang.
Aarch64UnknownOpenbsd
The aarch64-unknown-openbsd target.
The system compiler of this target is Clang.
Aarch64UnknownRedox
The aarch64-unknown-redox target.
The system compiler of this target is Clang.
Arm64AppleIos
The arm64-apple-ios target.
The system compiler of this target is Clang.
Arm64AppleIosMacabi
The arm64-apple-ios-macabi target.
The system compiler of this target is Clang.
Arm64AppleTvos
The arm64-apple-tvos target.
The system compiler of this target is Clang.
Armebv7rUnknownNoneEabi
The armebv7r-unknown-none-eabi target.
The system compiler of this target is Clang.
Armebv7rUnknownNoneEabihf
The armebv7r-unknown-none-eabihf target.
The system compiler of this target is Clang.
ArmLinuxAndroideabi
The arm-linux-androideabi target.
The system compiler of this target is Clang.
ArmUnknownLinuxGnueabi
The arm-unknown-linux-gnueabi target.
The system compiler of this target is GCC.
ArmUnknownLinuxGnueabihf
The arm-unknown-linux-gnueabihf target.
The system compiler of this target is GCC.
Armv4tUnknownLinuxGnueabi
The armv4t-unknown-linux-gnueabi target.
The system compiler of this target is GCC.
Armv5teUnknownLinuxGnueabi
The armv5te-unknown-linux-gnueabi target.
The system compiler of this target is GCC.
Armv5teUnknownLinuxUclibcgnueabi
The armv5te-unknown-linux-uclibcgnueabi target.
The system compiler of this target is GCC.
Armv6UnknownFreebsdGnueabihf
The armv6-unknown-freebsd-gnueabihf target.
The system compiler of this target is Clang.
Armv6UnknownNetbsdelfEabihf
The armv6-unknown-netbsdelf-eabihf target.
The system compiler of this target is Clang.
Armv7aNoneEabi
The armv7a-none-eabi target.
The system compiler of this target is Clang.
Armv7aNoneEabihf
The armv7a-none-eabihf target.
The system compiler of this target is Clang.
Armv7AppleIos
The armv7-apple-ios target.
The system compiler of this target is Clang.
Armv7NoneLinuxAndroid
The armv7-none-linux-android target.
The system compiler of this target is Clang.
Armv7rUnknownNoneEabi
The armv7r-unknown-none-eabi target.
The system compiler of this target is Clang.
Armv7rUnknownNoneEabihf
The armv7r-unknown-none-eabihf target.
The system compiler of this target is Clang.
Armv7sAppleIos
The armv7s-apple-ios target.
The system compiler of this target is Clang.
Armv7UnknownFreebsdGnueabihf
The armv7-unknown-freebsd-gnueabihf target.
The system compiler of this target is Clang.
Armv7UnknownLinuxGnueabi
The armv7-unknown-linux-gnueabi target.
The system compiler of this target is GCC.
Armv7UnknownLinuxGnueabihf
The armv7-unknown-linux-gnueabihf target.
The system compiler of this target is GCC.
Armv7UnknownNetbsdelfEabihf
The armv7-unknown-netbsdelf-eabihf target.
The system compiler of this target is Clang.
AvrUnknownUnknown
The avr-unknown-unknown target.
The system compiler of this target is GCC.
HexagonUnknownLinuxMusl
The hexagon-unknown-linux-musl target.
The system compiler of this target is Clang.
I386AppleIos
The i386-apple-ios target.
The system compiler of this target is Clang.
I586PcWindowsMsvc
The i586-pc-windows-msvc target.
The system compiler of this target is MSVC.
I586UnknownLinuxGnu
The i586-unknown-linux-gnu target.
The system compiler of this target is GCC.
I586UnknownLinuxMusl
The i586-unknown-linux-musl target.
The system compiler of this target is GCC.
I686AppleMacosx
The i686-apple-macosx target.
The system compiler of this target is Clang.
I686LinuxAndroid
The i686-linux-android target.
The system compiler of this target is Clang.
I686PcWindowsGnu
The i686-pc-windows-gnu target.
The system compiler of this target is GCC.
I686PcWindowsMsvc
The i686-pc-windows-msvc target.
The system compiler of this target is MSVC.
I686UnknownFreebsd
The i686-unknown-freebsd target.
The system compiler of this target is Clang.
I686UnknownHaiku
The i686-unknown-haiku target.
The system compiler of this target is Clang.
I686UnknownLinuxGnu
The i686-unknown-linux-gnu target.
The system compiler of this target is GCC.
I686UnknownLinuxMusl
The i686-unknown-linux-musl target.
The system compiler of this target is GCC.
I686UnknownNetbsdelf
The i686-unknown-netbsdelf target.
The system compiler of this target is Clang.
I686UnknownOpenbsd
The i686-unknown-openbsd target.
The system compiler of this target is Clang.
I686UnknownWindows
The i686-unknown-windows target.
The system compiler of this target is MSVC.
Mips64elUnknownLinuxGnuabi64
The mips64el-unknown-linux-gnuabi64 target.
The system compiler of this target is GCC.
Mips64elUnknownLinuxMusl
The mips64el-unknown-linux-musl target.
The system compiler of this target is GCC.
Mips64UnknownLinuxGnuabi64
The mips64-unknown-linux-gnuabi64 target.
The system compiler of this target is GCC.
Mips64UnknownLinuxMusl
The mips64-unknown-linux-musl target.
The system compiler of this target is GCC.
MipselSonyPsp
The mipsel-sony-psp target.
The system compiler of this target is Clang.
MipselUnknownLinuxGnu
The mipsel-unknown-linux-gnu target.
The system compiler of this target is GCC.
MipselUnknownLinuxMusl
The mipsel-unknown-linux-musl target.
The system compiler of this target is GCC.
MipselUnknownLinuxUclibc
The mipsel-unknown-linux-uclibc target.
The system compiler of this target is GCC.
MipselUnknownNone
The mipsel-unknown-none target.
The system compiler of this target is Clang.
Mipsisa32r6elUnknownLinuxGnu
The mipsisa32r6el-unknown-linux-gnu target.
The system compiler of this target is GCC.
Mipsisa32r6UnknownLinuxGnu
The mipsisa32r6-unknown-linux-gnu target.
The system compiler of this target is GCC.
Mipsisa64r6elUnknownLinuxGnuabi64
The mipsisa64r6el-unknown-linux-gnuabi64 target.
The system compiler of this target is GCC.
Mipsisa64r6UnknownLinuxGnuabi64
The mipsisa64r6-unknown-linux-gnuabi64 target.
The system compiler of this target is GCC.
MipsUnknownLinuxGnu
The mips-unknown-linux-gnu target.
The system compiler of this target is GCC.
MipsUnknownLinuxMusl
The mips-unknown-linux-musl target.
The system compiler of this target is GCC.
MipsUnknownLinuxUclibc
The mips-unknown-linux-uclibc target.
The system compiler of this target is GCC.
Msp430NoneElf
The msp430-none-elf target.
The system compiler of this target is Clang.
Powerpc64leUnknownLinuxGnu
The powerpc64le-unknown-linux-gnu target.
The system compiler of this target is GCC.
Powerpc64leUnknownLinuxMusl
The powerpc64le-unknown-linux-musl target.
The system compiler of this target is GCC.
Powerpc64UnknownFreebsd
The powerpc64-unknown-freebsd target.
The system compiler of this target is Clang.
Powerpc64UnknownLinuxGnu
The powerpc64-unknown-linux-gnu target.
The system compiler of this target is GCC.
Powerpc64UnknownLinuxMusl
The powerpc64-unknown-linux-musl target.
The system compiler of this target is GCC.
PowerpcUnknownLinuxGnu
The powerpc-unknown-linux-gnu target.
The system compiler of this target is GCC.
PowerpcUnknownLinuxGnuspe
The powerpc-unknown-linux-gnuspe target.
The system compiler of this target is Clang.
PowerpcUnknownLinuxMusl
The powerpc-unknown-linux-musl target.
The system compiler of this target is GCC.
PowerpcUnknownNetbsd
The powerpc-unknown-netbsd target.
The system compiler of this target is Clang.
Riscv32
The riscv32 target.
The system compiler of this target is Clang.
Riscv32UnknownLinuxGnu
The riscv32-unknown-linux-gnu target.
The system compiler of this target is GCC.
Riscv64
The riscv64 target.
The system compiler of this target is Clang.
Riscv64UnknownLinuxGnu
The riscv64-unknown-linux-gnu target.
The system compiler of this target is GCC.
S390xUnknownLinuxGnu
The s390x-unknown-linux-gnu target.
The system compiler of this target is GCC.
Sparc64UnknownLinuxGnu
The sparc64-unknown-linux-gnu target.
The system compiler of this target is GCC.
Sparc64UnknownNetbsd
The sparc64-unknown-netbsd target.
The system compiler of this target is Clang.
Sparc64UnknownOpenbsd
The sparc64-unknown-openbsd target.
The system compiler of this target is Clang.
SparcUnknownLinuxGnu
The sparc-unknown-linux-gnu target.
The system compiler of this target is GCC.
Sparcv9SunSolaris
The sparcv9-sun-solaris target.
The system compiler of this target is Clang.
Thumbv4tNoneEabi
The thumbv4t-none-eabi target.
The system compiler of this target is Clang.
Thumbv6mNoneEabi
The thumbv6m-none-eabi target.
The system compiler of this target is Clang.
Thumbv7aPcWindowsMsvc
The thumbv7a-pc-windows-msvc target.
The system compiler of this target is MSVC.
Thumbv7emNoneEabihf
The thumbv7em-none-eabihf target.
The system compiler of this target is Clang.
Thumbv7emNoneEabi
The thumbv7em-none-eabi target.
The system compiler of this target is Clang.
Thumbv7mNoneEabi
The thumbv7m-none-eabi target.
The system compiler of this target is Clang.
Thumbv8mBaseNoneEabi
The thumbv8m.base-none-eabi target.
The system compiler of this target is Clang.
Thumbv8mMainNoneEabihf
The thumbv8m.main-none-eabihf target.
The system compiler of this target is Clang.
Thumbv8mMainNoneEabi
The thumbv8m.main-none-eabi target.
The system compiler of this target is Clang.
Wasm32UnknownEmscripten
The wasm32-unknown-emscripten target.
The system compiler of this target is Clang.
Wasm32UnknownUnknown
The wasm32-unknown-unknown target.
The system compiler of this target is Clang.
Wasm32Wasi
The wasm32-wasi target.
The system compiler of this target is Clang.
X86_64AppleIosMacabi
The x86_64-apple-ios-macabi target.
The system compiler of this target is Clang.
X86_64AppleIos
The x86_64-apple-ios target.
The system compiler of this target is Clang.
X86_64AppleMacosx
The x86_64-apple-macosx target.
The system compiler of this target is Clang.
X86_64AppleTvos
The x86_64-apple-tvos target.
The system compiler of this target is Clang.
X86_64Elf
The x86_64-elf target.
The system compiler of this target is Clang.
X86_64Fuchsia
The x86_64-fuchsia target.
The system compiler of this target is Clang.
X86_64LinuxAndroid
The x86_64-linux-android target.
The system compiler of this target is Clang.
X86_64PcSolaris
The x86_64-pc-solaris target.
The system compiler of this target is Clang.
X86_64PcWindowsGnu
The x86_64-pc-windows-gnu target.
The system compiler of this target is GCC.
X86_64PcWindowsMsvc
The x86_64-pc-windows-msvc target.
The system compiler of this target is MSVC.
X86_64RumprunNetbsd
The x86_64-rumprun-netbsd target.
The system compiler of this target is Clang.
X86_64UnknownDragonfly
The x86_64-unknown-dragonfly target.
The system compiler of this target is Clang.
X86_64UnknownFreebsd
The x86_64-unknown-freebsd target.
The system compiler of this target is Clang.
X86_64UnknownHaiku
The x86_64-unknown-haiku target.
The system compiler of this target is Clang.
X86_64UnknownHermit
The x86_64-unknown-hermit target.
The system compiler of this target is Clang.
X86_64UnknownL4reUclibc
The x86_64-unknown-l4re-uclibc target.
The system compiler of this target is Clang.
X86_64UnknownLinuxGnux32
The x86_64-unknown-linux-gnux32 target.
The system compiler of this target is GCC.
X86_64UnknownLinuxGnu
The x86_64-unknown-linux-gnu target.
The system compiler of this target is GCC.
X86_64UnknownLinuxMusl
The x86_64-unknown-linux-musl target.
The system compiler of this target is GCC.
X86_64UnknownNetbsd
The x86_64-unknown-netbsd target.
The system compiler of this target is Clang.
X86_64UnknownOpenbsd
The x86_64-unknown-openbsd target.
The system compiler of this target is Clang.
X86_64UnknownRedox
The x86_64-unknown-redox target.
The system compiler of this target is Clang.
X86_64UnknownWindows
The x86_64-unknown-windows target.
The system compiler of this target is MSVC.