#target-triple #triple #architecture #targets #cpu #target #os

no-std build platforms

Rust platform registry with information about valid Rust platforms (target triple, target_arch, target_os) sourced from the Rust compiler

12 stable releases

3.4.0 Mar 27, 2024
3.3.0 Dec 28, 2023
3.2.0 Nov 1, 2023
3.0.2 Nov 3, 2022
0.1.4 Jul 29, 2018

#9 in Development tools

Download history 244654/week @ 2024-01-03 265057/week @ 2024-01-10 310157/week @ 2024-01-17 302543/week @ 2024-01-24 300705/week @ 2024-01-31 292124/week @ 2024-02-07 298964/week @ 2024-02-14 309872/week @ 2024-02-21 316180/week @ 2024-02-28 332288/week @ 2024-03-06 318794/week @ 2024-03-13 336462/week @ 2024-03-20 307706/week @ 2024-03-27 347862/week @ 2024-04-03 332501/week @ 2024-04-10 282210/week @ 2024-04-17

1,331,322 downloads per month
Used in 1,892 crates (28 directly)

Apache-2.0 OR MIT

175KB
3K SLoC

RustSec: platforms crate

Latest Version Docs Build Status Apache 2/MIT licensed MSRV Project Chat

Rust platform registry: provides programmatic access to information about valid Rust platforms, sourced from the Rust compiler.

Documentation

About

This crate provides programmatic access to information about valid Rust platforms. This is useful for systems which document/inventory information relevant to Rust platforms.

It was created for the RustSec Advisory Database and is maintained by the Rust Secure Code Working Group.

It is not intended to be a tool for gating builds based on the current platform or as a replacement for Rust's existing conditional compilation features: please use those for build purposes.

Minimum Supported Rust Version

Rust 1.40 or higher.

Minimum supported Rust version may be changed in the future, but it will be accompanied by a minor version bump.

SemVer Policy

We reserve the right to add and remove platforms from the registry without bumping major versions. This doesn't change the API, but can break crates that expect platforms to be there if they are removed.

If we remove platforms, we will bump the minor version of this crate.

Registered Platforms

Tier 1

target triple target_arch target_os target_env
aarch64-unknown-linux-gnu aarch64 linux gnu
i686-pc-windows-gnu x86 windows gnu
i686-pc-windows-msvc x86 windows msvc
i686-unknown-linux-gnu x86 linux gnu
x86_64-apple-darwin x86_64 macos
x86_64-pc-windows-gnu x86_64 windows gnu
x86_64-pc-windows-msvc x86_64 windows msvc
x86_64-unknown-linux-gnu x86_64 linux gnu

Tier 2

target triple target_arch target_os target_env
aarch64-apple-darwin aarch64 macos
aarch64-apple-ios aarch64 ios
aarch64-apple-ios-sim aarch64 ios
aarch64-fuchsia aarch64 fuchsia
aarch64-linux-android aarch64 android
aarch64-pc-windows-msvc aarch64 windows msvc
aarch64-unknown-fuchsia aarch64 fuchsia
aarch64-unknown-linux-musl aarch64 linux musl
aarch64-unknown-linux-ohos aarch64 linux ohos
aarch64-unknown-none aarch64 none
aarch64-unknown-none-softfloat aarch64 none
aarch64-unknown-uefi aarch64 uefi
arm-linux-androideabi arm android
arm-unknown-linux-gnueabi arm linux gnu
arm-unknown-linux-gnueabihf arm linux gnu
arm-unknown-linux-musleabi arm linux musl
arm-unknown-linux-musleabihf arm linux musl
armebv7r-none-eabi arm none
armebv7r-none-eabihf arm none
armv5te-unknown-linux-gnueabi arm linux gnu
armv5te-unknown-linux-musleabi arm linux musl
armv7-linux-androideabi arm android
armv7-unknown-linux-gnueabi arm linux gnu
armv7-unknown-linux-gnueabihf arm linux gnu
armv7-unknown-linux-musleabi arm linux musl
armv7-unknown-linux-musleabihf arm linux musl
armv7-unknown-linux-ohos arm linux ohos
armv7a-none-eabi arm none
armv7r-none-eabi arm none
armv7r-none-eabihf arm none
i586-pc-windows-msvc x86 windows msvc
i586-unknown-linux-gnu x86 linux gnu
i586-unknown-linux-musl x86 linux musl
i686-linux-android x86 android
i686-unknown-freebsd x86 freebsd
i686-unknown-linux-musl x86 linux musl
i686-unknown-uefi x86 uefi
loongarch64-unknown-linux-gnu loongarch64 linux gnu
loongarch64-unknown-none loongarch64 none
loongarch64-unknown-none-softfloat loongarch64 none
nvptx64-nvidia-cuda nvptx64 cuda
powerpc-unknown-linux-gnu powerpc linux gnu
powerpc64-unknown-linux-gnu powerpc64 linux gnu
powerpc64le-unknown-linux-gnu powerpc64 linux gnu
riscv32i-unknown-none-elf riscv32 none
riscv32im-unknown-none-elf riscv32 none
riscv32imac-unknown-none-elf riscv32 none
riscv32imafc-unknown-none-elf riscv32 none
riscv32imc-unknown-none-elf riscv32 none
riscv64gc-unknown-linux-gnu riscv64 linux gnu
riscv64gc-unknown-none-elf riscv64 none
riscv64imac-unknown-none-elf riscv64 none
s390x-unknown-linux-gnu s390x linux gnu
sparc64-unknown-linux-gnu sparc64 linux gnu
sparcv9-sun-solaris sparc64 solaris
thumbv6m-none-eabi arm none
thumbv7em-none-eabi arm none
thumbv7em-none-eabihf arm none
thumbv7m-none-eabi arm none
thumbv7neon-linux-androideabi arm android
thumbv7neon-unknown-linux-gnueabihf arm linux gnu
thumbv8m.base-none-eabi arm none
thumbv8m.main-none-eabi arm none
thumbv8m.main-none-eabihf arm none
wasm32-unknown-emscripten wasm32 emscripten
wasm32-unknown-unknown wasm32 unknown
wasm32-wasi wasm32 wasi
wasm32-wasip1 wasm32 wasi
wasm32-wasip1-threads wasm32 wasi
x86_64-apple-ios x86_64 ios
x86_64-fortanix-unknown-sgx x86_64 unknown sgx
x86_64-fuchsia x86_64 fuchsia
x86_64-linux-android x86_64 android
x86_64-pc-solaris x86_64 solaris
x86_64-unknown-freebsd x86_64 freebsd
x86_64-unknown-fuchsia x86_64 fuchsia
x86_64-unknown-illumos x86_64 illumos
x86_64-unknown-linux-gnux32 x86_64 linux gnu
x86_64-unknown-linux-musl x86_64 linux musl
x86_64-unknown-linux-ohos x86_64 linux ohos
x86_64-unknown-netbsd x86_64 netbsd
x86_64-unknown-none x86_64 none
x86_64-unknown-redox x86_64 redox relibc
x86_64-unknown-uefi x86_64 uefi

Tier 3

target triple target_arch target_os target_env
aarch64-apple-ios-macabi aarch64 ios
aarch64-apple-tvos aarch64 tvos
aarch64-apple-tvos-sim aarch64 tvos
aarch64-apple-watchos aarch64 watchos
aarch64-apple-watchos-sim aarch64 watchos
aarch64-kmc-solid_asp3 aarch64 solid_asp3
aarch64-nintendo-switch-freestanding aarch64 horizon
aarch64-pc-windows-gnullvm aarch64 windows gnu
aarch64-unknown-freebsd aarch64 freebsd
aarch64-unknown-hermit aarch64 hermit
aarch64-unknown-illumos aarch64 illumos
aarch64-unknown-linux-gnu_ilp32 aarch64 linux gnu
aarch64-unknown-netbsd aarch64 netbsd
aarch64-unknown-nto-qnx710 aarch64 nto nto71
aarch64-unknown-openbsd aarch64 openbsd
aarch64-unknown-redox aarch64 redox relibc
aarch64-unknown-teeos aarch64 teeos
aarch64-uwp-windows-msvc aarch64 windows msvc
aarch64-wrs-vxworks aarch64 vxworks gnu
aarch64_be-unknown-linux-gnu aarch64 linux gnu
aarch64_be-unknown-linux-gnu_ilp32 aarch64 linux gnu
aarch64_be-unknown-netbsd aarch64 netbsd
arm64_32-apple-watchos aarch64 watchos
arm64e-apple-darwin aarch64 macos
arm64e-apple-ios aarch64 ios
arm64ec-pc-windows-msvc arm64ec windows msvc
armeb-unknown-linux-gnueabi arm linux gnu
armv4t-none-eabi arm none
armv4t-unknown-linux-gnueabi arm linux gnu
armv5te-none-eabi arm none
armv5te-unknown-linux-uclibceabi arm linux uclibc
armv6-unknown-freebsd arm freebsd gnu
armv6-unknown-netbsd-eabihf arm netbsd
armv6k-nintendo-3ds arm horizon newlib
armv7-sony-vita-newlibeabihf arm vita newlib
armv7-unknown-freebsd arm freebsd gnu
armv7-unknown-linux-uclibceabi arm linux uclibc
armv7-unknown-linux-uclibceabihf arm linux uclibc
armv7-unknown-netbsd-eabihf arm netbsd
armv7-wrs-vxworks-eabihf arm vxworks gnu
armv7a-kmc-solid_asp3-eabi arm solid_asp3
armv7a-kmc-solid_asp3-eabihf arm solid_asp3
armv7a-none-eabihf arm none
armv7k-apple-watchos arm watchos
armv7s-apple-ios arm ios
armv8r-none-eabihf arm none
avr-unknown-gnu-atmega328 avr none
bpfeb-unknown-none bpf none
bpfel-unknown-none bpf none
csky-unknown-linux-gnuabiv2 csky linux gnu
csky-unknown-linux-gnuabiv2hf csky linux gnu
hexagon-unknown-linux-musl hexagon linux musl
hexagon-unknown-none-elf hexagon none
i386-apple-ios x86 ios
i586-pc-nto-qnx700 x86 nto nto70
i586-unknown-netbsd x86 netbsd
i686-apple-darwin x86 macos
i686-pc-windows-gnullvm x86 windows gnu
i686-unknown-haiku x86 haiku
i686-unknown-hurd-gnu x86 hurd gnu
i686-unknown-netbsd x86 netbsd
i686-unknown-openbsd x86 openbsd
i686-uwp-windows-gnu x86 windows gnu
i686-uwp-windows-msvc x86 windows msvc
i686-win7-windows-msvc x86 windows msvc
i686-wrs-vxworks x86 vxworks gnu
loongarch64-unknown-linux-musl loongarch64 linux musl
m68k-unknown-linux-gnu m68k linux gnu
mips-unknown-linux-gnu mips linux gnu
mips-unknown-linux-musl mips linux musl
mips-unknown-linux-uclibc mips linux uclibc
mips64-openwrt-linux-musl mips64 linux musl
mips64-unknown-linux-gnuabi64 mips64 linux gnu
mips64-unknown-linux-muslabi64 mips64 linux musl
mips64el-unknown-linux-gnuabi64 mips64 linux gnu
mips64el-unknown-linux-muslabi64 mips64 linux musl
mipsel-sony-psp mips psp
mipsel-sony-psx mips none psx
mipsel-unknown-linux-gnu mips linux gnu
mipsel-unknown-linux-musl mips linux musl
mipsel-unknown-linux-uclibc mips linux uclibc
mipsel-unknown-netbsd mips netbsd
mipsel-unknown-none mips none
mipsisa32r6-unknown-linux-gnu mips32r6 linux gnu
mipsisa32r6el-unknown-linux-gnu mips32r6 linux gnu
mipsisa64r6-unknown-linux-gnuabi64 mips64r6 linux gnu
mipsisa64r6el-unknown-linux-gnuabi64 mips64r6 linux gnu
msp430-none-elf msp430 none
powerpc-unknown-freebsd powerpc freebsd
powerpc-unknown-linux-gnuspe powerpc linux gnu
powerpc-unknown-linux-musl powerpc linux musl
powerpc-unknown-netbsd powerpc netbsd
powerpc-unknown-openbsd powerpc openbsd
powerpc-wrs-vxworks powerpc vxworks gnu
powerpc-wrs-vxworks-spe powerpc vxworks gnu
powerpc64-ibm-aix powerpc64 aix
powerpc64-unknown-freebsd powerpc64 freebsd
powerpc64-unknown-linux-musl powerpc64 linux musl
powerpc64-unknown-openbsd powerpc64 openbsd
powerpc64-wrs-vxworks powerpc64 vxworks gnu
powerpc64le-unknown-freebsd powerpc64 freebsd
powerpc64le-unknown-linux-musl powerpc64 linux musl
riscv32gc-unknown-linux-gnu riscv32 linux gnu
riscv32gc-unknown-linux-musl riscv32 linux musl
riscv32im-risc0-zkvm-elf riscv32 zkvm
riscv32ima-unknown-none-elf riscv32 none
riscv32imac-esp-espidf riscv32 espidf newlib
riscv32imac-unknown-xous-elf riscv32 xous
riscv32imafc-esp-espidf riscv32 espidf newlib
riscv32imc-esp-espidf riscv32 espidf newlib
riscv64-linux-android riscv64 android
riscv64gc-unknown-freebsd riscv64 freebsd
riscv64gc-unknown-fuchsia riscv64 fuchsia
riscv64gc-unknown-hermit riscv64 hermit
riscv64gc-unknown-linux-musl riscv64 linux musl
riscv64gc-unknown-netbsd riscv64 netbsd
riscv64gc-unknown-openbsd riscv64 openbsd
s390x-unknown-linux-musl s390x linux musl
sparc-unknown-linux-gnu sparc linux gnu
sparc-unknown-none-elf sparc none
sparc64-unknown-netbsd sparc64 netbsd
sparc64-unknown-openbsd sparc64 openbsd
thumbv4t-none-eabi arm none
thumbv5te-none-eabi arm none
thumbv7a-pc-windows-msvc arm windows msvc
thumbv7a-uwp-windows-msvc arm windows msvc
thumbv7neon-unknown-linux-musleabihf arm linux musl
wasm32-wasip2 wasm32 wasi p2
wasm64-unknown-unknown wasm64 unknown
x86_64-apple-ios-macabi x86_64 ios
x86_64-apple-tvos x86_64 tvos
x86_64-apple-watchos-sim x86_64 watchos
x86_64-pc-nto-qnx710 x86_64 nto nto71
x86_64-pc-windows-gnullvm x86_64 windows gnu
x86_64-unikraft-linux-musl x86_64 linux musl
x86_64-unknown-dragonfly x86_64 dragonfly
x86_64-unknown-haiku x86_64 haiku
x86_64-unknown-hermit x86_64 hermit
x86_64-unknown-l4re-uclibc x86_64 l4re uclibc
x86_64-unknown-openbsd x86_64 openbsd
x86_64-uwp-windows-gnu x86_64 windows gnu
x86_64-uwp-windows-msvc x86_64 windows msvc
x86_64-win7-windows-msvc x86_64 windows msvc
x86_64-wrs-vxworks x86_64 vxworks gnu
x86_64h-apple-darwin x86_64 macos

Dependencies

~180KB