use cfg_if::cfg_if; macro_rules! define_arch { ($arch:expr) => { pub const JRE_ARCH: &str = $arch; } } cfg_if! { if #[cfg(target_os = "windows")] { cfg_if! { if #[cfg(target_arch = "x86_64")] { define_arch!("windows-x64"); } else if #[cfg(target_arch = "x86")] { define_arch!("windows-x86"); } else if #[cfg(target_arch = "aarch64")] { define_arch!("windows-arm64"); } else { define_arch!("gamecore"); } } } else if #[cfg(target_os = "linux")] { cfg_if! { if #[cfg(target_arch = "x86_64")] { define_arch!("linux"); } else if #[cfg(target_arch = "x86")] { define_arch!("linux-i386"); } else { define_arch!("gamecore"); } } } else if #[cfg(target_os = "macos")] { cfg_if! { if #[cfg(target_arch = "aarch64")] { define_arch!("mac-os-arm64"); } else if #[cfg(target_arch = "x86_64")] { define_arch!("mac-os"); } else { define_arch!("gamecore"); } } } else { define_arch!("gamecore"); } }