mirror of
https://github.com/xerial/snappy-java.git
synced 2025-07-23 05:54:41 +02:00
Fixes #34. Use canonical os.arch names for native lib folders
This commit is contained in:
parent
41b11f7ebd
commit
8c69129359
@ -25,6 +25,8 @@
|
|||||||
package org.xerial.snappy;
|
package org.xerial.snappy;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Provides OS name and architecture name.
|
* Provides OS name and architecture name.
|
||||||
@ -34,6 +36,48 @@ import java.io.IOException;
|
|||||||
*/
|
*/
|
||||||
public class OSInfo
|
public class OSInfo
|
||||||
{
|
{
|
||||||
|
private static HashMap<String, String> archMapping = new HashMap<String, String>();
|
||||||
|
|
||||||
|
public static final String X86 = "x86";
|
||||||
|
public static final String X86_64 = "x86_64";
|
||||||
|
public static final String IA64_32 = "ia64_32";
|
||||||
|
public static final String IA64 = "ia64";
|
||||||
|
public static final String PPC = "ppc";
|
||||||
|
|
||||||
|
static {
|
||||||
|
// x86 mappings
|
||||||
|
archMapping.put(X86, X86);
|
||||||
|
archMapping.put("i386", X86);
|
||||||
|
archMapping.put("i486", X86);
|
||||||
|
archMapping.put("i586", X86);
|
||||||
|
archMapping.put("i686", X86);
|
||||||
|
archMapping.put("pentium", X86);
|
||||||
|
|
||||||
|
// x86_64 mappings
|
||||||
|
archMapping.put(X86_64, X86_64);
|
||||||
|
archMapping.put("amd64", X86_64);
|
||||||
|
archMapping.put("em64t", X86_64);
|
||||||
|
archMapping.put("universal", X86_64); // Needed for openjdk7 in Mac
|
||||||
|
|
||||||
|
// Itenium 64-bit mappings
|
||||||
|
archMapping.put(IA64, IA64);
|
||||||
|
archMapping.put("ia64w", IA64);
|
||||||
|
|
||||||
|
// Itenium 32-bit mappings, usually an HP-UX construct
|
||||||
|
archMapping.put(IA64_32, IA64_32);
|
||||||
|
archMapping.put("ia64n", IA64_32);
|
||||||
|
|
||||||
|
// PowerPC mappings
|
||||||
|
archMapping.put(PPC, PPC);
|
||||||
|
archMapping.put("pwoer", PPC);
|
||||||
|
archMapping.put("powerpc", PPC);
|
||||||
|
archMapping.put("power_pc", PPC);
|
||||||
|
archMapping.put("power_rs", PPC);
|
||||||
|
|
||||||
|
// TODO: PowerPC 64bit mappings
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
if (args.length >= 1) {
|
if (args.length >= 1) {
|
||||||
if ("--os".equals(args[0])) {
|
if ("--os".equals(args[0])) {
|
||||||
@ -78,8 +122,10 @@ public class OSInfo
|
|||||||
// ignored: fall back to "arm" arch (soft-float ABI)
|
// ignored: fall back to "arm" arch (soft-float ABI)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(getOSName().equals("Mac") && (osArch.equals("universal") || osArch.equals("amd64"))) {
|
else {
|
||||||
return "x86_64"; // Fix for openjdk7
|
String lc = osArch.toLowerCase(Locale.US);
|
||||||
|
if(archMapping.containsKey(lc))
|
||||||
|
return archMapping.get(lc);
|
||||||
}
|
}
|
||||||
return translateArchNameToFolderName(osArch);
|
return translateArchNameToFolderName(osArch);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user