diff options
author | Sven Gothel <[email protected]> | 2012-10-25 11:35:05 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2012-10-25 11:35:05 +0200 |
commit | abbe6ce0973fbd82971ace1866515beefcc41817 (patch) | |
tree | 436ec13917574704841984c820e429e88fcb873a /src/java/com/jogamp/common/os | |
parent | 661a625ed69faf701b6e868225148f630c2002d8 (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-x | src/java/com/jogamp/common/os/NativeLibrary.java | 17 |
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; } |