From 90ff6c401934121395fa4a127e8b889106fda07a Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Tue, 9 Aug 2011 20:56:27 +0200 Subject: DynamicLibraryBundleInfo: Allow impl. to select tool/system lookup --- .../com/jogamp/common/os/DynamicLibraryBundle.java | 26 ++++++++++++++++------ 1 file changed, 19 insertions(+), 7 deletions(-) (limited to 'src/java/com/jogamp/common/os/DynamicLibraryBundle.java') diff --git a/src/java/com/jogamp/common/os/DynamicLibraryBundle.java b/src/java/com/jogamp/common/os/DynamicLibraryBundle.java index 7e961cc..8e072fd 100755 --- a/src/java/com/jogamp/common/os/DynamicLibraryBundle.java +++ b/src/java/com/jogamp/common/os/DynamicLibraryBundle.java @@ -306,6 +306,19 @@ public class DynamicLibraryBundle implements DynamicLookupHelper { return addr; } + private long toolDynamicLookupFunction(String funcName) { + if(0 != toolGetProcAddressHandle) { + long addr = info.toolGetProcAddress(toolGetProcAddressHandle, funcName); + if(DEBUG_LOOKUP) { + if(0!=addr) { + System.err.println("Lookup-Tool: <"+funcName+"> 0x"+Long.toHexString(addr)); + } + } + return addr; + } + return 0; + } + public long dynamicLookupFunction(String funcName) { if(!isToolLibLoaded() || null==funcName) { if(DEBUG_LOOKUP && !isToolLibLoaded()) { @@ -319,18 +332,17 @@ public class DynamicLibraryBundle implements DynamicLookupHelper { } long addr = 0; + final boolean useToolGetProcAdressFirst = info.useToolGetProcAdressFirst(funcName); - if(0 != toolGetProcAddressHandle) { - addr = info.toolDynamicLookupFunction(toolGetProcAddressHandle, funcName); - if(DEBUG_LOOKUP) { - if(0!=addr) { - System.err.println("Lookup-Tool: <"+funcName+"> 0x"+Long.toHexString(addr)); - } - } + if(useToolGetProcAdressFirst) { + addr = toolDynamicLookupFunction(funcName); } if(0==addr) { addr = dynamicLookupFunctionOnLibs(funcName); } + if(0==addr && !useToolGetProcAdressFirst) { + addr = toolDynamicLookupFunction(funcName); + } return addr; } -- cgit v1.2.3