summaryrefslogtreecommitdiffstats
path: root/ozone/src/launcher/jre/arch.rs
diff options
context:
space:
mode:
Diffstat (limited to 'ozone/src/launcher/jre/arch.rs')
-rw-r--r--ozone/src/launcher/jre/arch.rs45
1 files changed, 45 insertions, 0 deletions
diff --git a/ozone/src/launcher/jre/arch.rs b/ozone/src/launcher/jre/arch.rs
new file mode 100644
index 0000000..e984171
--- /dev/null
+++ b/ozone/src/launcher/jre/arch.rs
@@ -0,0 +1,45 @@
+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");
+ }
+}