mirror of
https://github.com/pezkuwichain/revive.git
synced 2026-05-08 20:38:05 +00:00
486c9c28a1
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com>
46 lines
1.1 KiB
Rust
46 lines
1.1 KiB
Rust
//! The revive LLVM builder platforms.
|
|
|
|
pub mod aarch64_linux_gnu;
|
|
pub mod aarch64_linux_musl;
|
|
pub mod aarch64_macos;
|
|
pub mod shared;
|
|
pub mod wasm32_emscripten;
|
|
pub mod x86_64_linux_gnu;
|
|
pub mod x86_64_linux_musl;
|
|
pub mod x86_64_macos;
|
|
pub mod x86_64_windows_msvc;
|
|
|
|
use std::str::FromStr;
|
|
|
|
/// The list of platforms used as constants.
|
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
|
pub enum Platform {
|
|
/// The native X86 platform.
|
|
X86,
|
|
/// The native AArch64 platform.
|
|
AArch64,
|
|
/// The PolkaVM RISC-V platform.
|
|
PolkaVM,
|
|
}
|
|
|
|
impl FromStr for Platform {
|
|
type Err = String;
|
|
|
|
fn from_str(value: &str) -> Result<Self, Self::Err> {
|
|
match value {
|
|
"PolkaVM" => Ok(Self::PolkaVM),
|
|
value => Err(format!("Unsupported platform: `{value}`")),
|
|
}
|
|
}
|
|
}
|
|
|
|
impl std::fmt::Display for Platform {
|
|
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
|
|
match self {
|
|
Self::X86 => write!(f, "X86"),
|
|
Self::AArch64 => write!(f, "AArch64"),
|
|
Self::PolkaVM => write!(f, "RISCV"),
|
|
}
|
|
}
|
|
}
|