1 package org.simantics.fmil.core;
\r
3 public class ExecEnvironment {
\r
6 APPLE, LINUX, SUN, WINDOWS, UNKNOWN
\r
9 public enum ARCHType {
\r
10 PPC, PPC_64, SPARC, X86, X86_64, UNKNOWN;
\r
13 public final OSType os;
\r
14 public final ARCHType arch;
\r
16 private ExecEnvironment(OSType os, ARCHType arch) {
\r
21 public static ExecEnvironment calculate() {
\r
22 return new ExecEnvironment(calculateOS(), calculateArch());
\r
25 public static ARCHType calculateArch() {
\r
26 String osArch = System.getProperty("os.arch", "");
\r
27 osArch = osArch.toLowerCase();
\r
28 if (osArch.equals("i386") || osArch.equals("i586") || osArch.equals("i686") || osArch.equals("x86"))
\r
29 return ARCHType.X86;
\r
30 if (osArch.startsWith("amd64") || osArch.startsWith("x86_64"))
\r
31 return ARCHType.X86_64;
\r
32 if (osArch.equals("ppc"))
\r
33 return ARCHType.PPC;
\r
34 if (osArch.startsWith("ppc"))
\r
35 return ARCHType.PPC_64;
\r
36 if (osArch.startsWith("sparc"))
\r
37 return ARCHType.SPARC;
\r
38 return ARCHType.UNKNOWN;
\r
41 public static OSType calculateOS() {
\r
42 String osName = System.getProperty("os.name", "");
\r
43 osName = osName.toLowerCase();
\r
44 if (osName.startsWith("mac os x"))
\r
45 return OSType.APPLE;
\r
46 if (osName.startsWith("windows"))
\r
47 return OSType.WINDOWS;
\r
48 if (osName.startsWith("linux"))
\r
49 return OSType.LINUX;
\r
50 if (osName.startsWith("sun"))
\r
52 return OSType.UNKNOWN;
\r