From 0d486ab4bc73a53218cb015936aed755e8e9e6de Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Wed, 28 Mar 2012 03:09:39 +0200 Subject: Add support for armhf/gnueabihf resulting in new 'os.and.arch' := [ 'android-armv7hf' and 'linux-armv7hf' ] - Platform gets new ABIType [ GENERIC, ARMEL, ARMHF ] - Platform impl. needs to guess ABIType in case of ARM, since no Java system property ('os.arch' ..) reflects the new EABI. I consider this a bug, since this will also hinder JNLP to work. The latter also uses 'os.arch' sys property to determine the nativelib resource! (See Platform.guessABITypeImpl(..) for details how we guess the type.) - Adding symbolic links to ubuntu's gnueabihf cross tool chain - Adding armhf crossbuild script --- src/java/com/jogamp/common/util/VersionUtil.java | 3 ++- src/java/com/jogamp/common/util/cache/TempJarCache.java | 12 ++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) (limited to 'src/java/com/jogamp/common/util') diff --git a/src/java/com/jogamp/common/util/VersionUtil.java b/src/java/com/jogamp/common/util/VersionUtil.java index 4d2d0f2..820035c 100644 --- a/src/java/com/jogamp/common/util/VersionUtil.java +++ b/src/java/com/jogamp/common/util/VersionUtil.java @@ -56,7 +56,8 @@ public class VersionUtil { // environment sb.append("Platform: ").append(Platform.getOSType()).append(" / ").append(Platform.getOSName()).append(' ').append(Platform.getOSVersion()).append(" (os), "); - sb.append(Platform.getArchName()).append(" (arch) ").append(Runtime.getRuntime().availableProcessors()).append(" cores"); + sb.append(Platform.getArchName()).append(" (arch), ").append(Platform.ABI_TYPE).append(", "); + sb.append(Runtime.getRuntime().availableProcessors()).append(" cores"); sb.append(Platform.getNewline()); if( AndroidVersion.isAvailable) { sb.append("Platform: Android Version: ").append(AndroidVersion.CODENAME).append(", "); diff --git a/src/java/com/jogamp/common/util/cache/TempJarCache.java b/src/java/com/jogamp/common/util/cache/TempJarCache.java index 96e68df..8aaab94 100644 --- a/src/java/com/jogamp/common/util/cache/TempJarCache.java +++ b/src/java/com/jogamp/common/util/cache/TempJarCache.java @@ -96,6 +96,9 @@ public class TempJarCache { classFileJars = new HashSet(); resourceFileJars = new HashSet(); } + if(DEBUG) { + System.err.println("TempJarCache.initSingleton(): ok "+(false==staticInitError)+", "+ tmpFileCache.getTempDir()); + } } } } @@ -109,11 +112,20 @@ public class TempJarCache { *

* In JogAmp, JNI native libraries loaded and registered by {@link JNILibLoaderBase} * derivations, where the native JARs might be loaded via {@link JNILibLoaderBase#addNativeJarLibs(Class, String) }. + *

+ *

+ * The only valid use case to shutdown the TempJarCache is at bootstrapping, + * i.e. when no native library is guaranteed to be loaded. This could be useful + * if bootstrapping needs to find the proper native library type. *

+ * public static void shutdown() { if (isInit) { // volatile: ok synchronized (TempJarCache.class) { if (isInit) { + if(DEBUG) { + System.err.println("TempJarCache.shutdown(): real "+(false==staticInitError)+", "+ tmpFileCache.getTempDir()); + } isInit = false; if(!staticInitError) { nativeLibMap.clear(); -- cgit v1.2.3