summaryrefslogtreecommitdiff
path: root/altosuilib/AltosUILib.java
diff options
context:
space:
mode:
Diffstat (limited to 'altosuilib/AltosUILib.java')
-rw-r--r--altosuilib/AltosUILib.java16
1 files changed, 14 insertions, 2 deletions
diff --git a/altosuilib/AltosUILib.java b/altosuilib/AltosUILib.java
index 8fa7dfe6..ccadf07c 100644
--- a/altosuilib/AltosUILib.java
+++ b/altosuilib/AltosUILib.java
@@ -82,11 +82,23 @@ public class AltosUILib extends AltosLib {
static public boolean loaded_library = false;
static public boolean has_bluetooth = false;
- static final String[] library_names = { "altos", "altos32", "altos64" };
+ static final String[] library_names_32 = { "altos", "altos32", "altos64" };
+ static final String[] library_names_64 = { "altos", "altos64", "altos32" };
public static boolean load_library() {
if (!initialized) {
- for (String name : library_names) {
+ String model = System.getProperty("sun.arch.data.model", "missing");
+ boolean is_64 = false;
+ if (model.equals("64")) {
+ is_64 = true;
+ } else if (model.equals("32")) {
+ ;
+ } else {
+ String arch = System.getProperty("os.arch", "missing");
+ if (arch.endsWith("64"))
+ is_64 = true;
+ }
+ for (String name : is_64 ? library_names_64 : library_names_32) {
try {
System.loadLibrary(name);
libaltos.altos_init();