summaryrefslogtreecommitdiffstats
path: root/src/java/com/jogamp/common/os
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2012-10-25 11:35:05 +0200
committerSven Gothel <[email protected]>2012-10-25 11:35:05 +0200
commitabbe6ce0973fbd82971ace1866515beefcc41817 (patch)
tree436ec13917574704841984c820e429e88fcb873a /src/java/com/jogamp/common/os
parent661a625ed69faf701b6e868225148f630c2002d8 (diff)
Fix Bug 608: Push down TempJarCache.findLibrary(..) from JNILibLoaderBase.loadLibraryInternal() to NativeLibrary.findLibrary(..)
This allows using TempJarCache (if used/initialized) for native 'tool' libraries as well. This is the case of JOAL's attempt to load the provided 'libopenal.so'
Diffstat (limited to 'src/java/com/jogamp/common/os')
-rwxr-xr-xsrc/java/com/jogamp/common/os/NativeLibrary.java17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/java/com/jogamp/common/os/NativeLibrary.java b/src/java/com/jogamp/common/os/NativeLibrary.java
index 1fc2e65..f5265af 100755
--- a/src/java/com/jogamp/common/os/NativeLibrary.java
+++ b/src/java/com/jogamp/common/os/NativeLibrary.java
@@ -41,6 +41,8 @@
package com.jogamp.common.os;
import com.jogamp.common.util.IOUtil;
+import com.jogamp.common.util.cache.TempJarCache;
+
import jogamp.common.os.MacOSXDynamicLinkerImpl;
import jogamp.common.os.PlatformPropsImpl;
import jogamp.common.os.UnixDynamicLinkerImpl;
@@ -460,9 +462,18 @@ public class NativeLibrary implements DynamicLookupHelper {
return null;
}
public static String findLibrary(final String libName, final ClassLoader loader) {
- final String res = findLibraryImpl(libName, loader);
- if (DEBUG) {
- System.err.println("NativeLibrary.findLibrary(<"+libName+">, "+loader+"): "+res);
+ String res = null;
+ if(TempJarCache.isInitialized()) {
+ res = TempJarCache.findLibrary(libName);
+ if (DEBUG) {
+ System.err.println("NativeLibrary.findLibrary(<"+libName+">) (TempJarCache): "+res);
+ }
+ }
+ if(null == res) {
+ res = findLibraryImpl(libName, loader);
+ if (DEBUG) {
+ System.err.println("NativeLibrary.findLibrary(<"+libName+">, "+loader+") (CL): "+res);
+ }
}
return res;
}