summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
Diffstat (limited to 'platform')
-rw-r--r--platform/java/src/com/artifex/mupdf/fitz/Context.java22
1 files changed, 18 insertions, 4 deletions
diff --git a/platform/java/src/com/artifex/mupdf/fitz/Context.java b/platform/java/src/com/artifex/mupdf/fitz/Context.java
index 3ee91822..60de22e6 100644
--- a/platform/java/src/com/artifex/mupdf/fitz/Context.java
+++ b/platform/java/src/com/artifex/mupdf/fitz/Context.java
@@ -21,16 +21,30 @@ public class Context
}
}
- private static String getLibraryName(void) {
+ private static String getLibraryName() {
/* Mac OS always uses 64bit DLLs for any JDK 1.7 or above */
if (System.getProperty("os.name").toLowerCase().contains("mac os")) {
return "mupdf_java64";
}
+ /* Sun and OpenJDK JVMs support this way of finding bittedness */
String val = System.getProperty("sun.arch.data.model");
- if (val != null && val.equals("32")) {
- return "mupdf_java32"
+ /* Android does NOT support this, and returns NULL */
+ if (val != null && val.equals("64")) {
+ return "mupdf_java64";
}
- return "mupdf_java64";
+
+ /* We might be running Android here. We could find out by
+ * doing the following test:
+ * val = System.getProperty("java.vm.name");
+ * if (val != null && val.toLowerCase().contains("dalvik")) {
+ * ...Do something Androidy to test for 32/64 here...
+ * }
+ * (Currently, both Dalvik and ART return 'Dalvik').
+ * We know of no portable way to detect 32 or 64bittedness
+ * on android though, so for now will assume 32.
+ */
+
+ return "mupdf_java32";
}
static { init(); }