From 736b717b5d6d2b2e7ac4066f54495e8e111d0e01 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Sun, 26 Nov 2023 10:00:34 +0100 Subject: Bug 1479 - NativeLibrary: Add getNativeLibraryPath() returning actual native library path, support throughout DynamicLibraryBundle[Info] --- .../classes/com/jogamp/opengl/cg/CgDynamicLibraryBundleInfo.java | 2 ++ src/jogl/classes/jogamp/opengl/DesktopGLDynamicLookupHelper.java | 6 ++---- src/jogl/classes/jogamp/opengl/GLDynamicLibraryBundleInfo.java | 6 ++++++ .../jogamp/opengl/util/av/impl/FFMPEGDynamicLibraryBundleInfo.java | 7 ++++++- .../classes/com/jogamp/oculusvr/OVRDynamicLibraryBundleInfo.java | 4 ++++ 5 files changed, 20 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/jogl/classes/com/jogamp/opengl/cg/CgDynamicLibraryBundleInfo.java b/src/jogl/classes/com/jogamp/opengl/cg/CgDynamicLibraryBundleInfo.java index 52b207b0c..7f082c3df 100644 --- a/src/jogl/classes/com/jogamp/opengl/cg/CgDynamicLibraryBundleInfo.java +++ b/src/jogl/classes/com/jogamp/opengl/cg/CgDynamicLibraryBundleInfo.java @@ -121,6 +121,8 @@ public final class CgDynamicLibraryBundleInfo implements DynamicLibraryBundleInf return libsList; } + @Override + public List getSymbolForToolLibPath() { return Arrays.asList("cgCreateContext", "cgGLLoadProgram"); } @Override public final List getGlueLibNames() { diff --git a/src/jogl/classes/jogamp/opengl/DesktopGLDynamicLookupHelper.java b/src/jogl/classes/jogamp/opengl/DesktopGLDynamicLookupHelper.java index 5eb429774..a6e7f0ff5 100644 --- a/src/jogl/classes/jogamp/opengl/DesktopGLDynamicLookupHelper.java +++ b/src/jogl/classes/jogamp/opengl/DesktopGLDynamicLookupHelper.java @@ -48,10 +48,8 @@ public class DesktopGLDynamicLookupHelper extends GLDynamicLookupHelper { gluLibNames.add("libGLU.so"); // unix gluLibNames.add("GLU32"); // windows gluLibNames.add("GLU"); // generic - gluLib = loadFirstAvailable(gluLibNames, true, true, null, true); - if(null != gluLib) { - nativeLibraries.add(gluLib); - } + gluLib = loadFirstAvailable(gluLibNames, true, true, null, true, "gluScaleImage"); + toolLibraries.add(gluLib); } return null != gluLib ; } diff --git a/src/jogl/classes/jogamp/opengl/GLDynamicLibraryBundleInfo.java b/src/jogl/classes/jogamp/opengl/GLDynamicLibraryBundleInfo.java index 7c75b0615..a0f455802 100644 --- a/src/jogl/classes/jogamp/opengl/GLDynamicLibraryBundleInfo.java +++ b/src/jogl/classes/jogamp/opengl/GLDynamicLibraryBundleInfo.java @@ -28,6 +28,9 @@ package jogamp.opengl; +import java.util.Arrays; +import java.util.List; + import com.jogamp.common.os.DynamicLibraryBundle; import com.jogamp.common.os.DynamicLibraryBundleInfo; import com.jogamp.common.util.RunnableExecutor; @@ -36,6 +39,9 @@ public abstract class GLDynamicLibraryBundleInfo implements DynamicLibraryBundle protected GLDynamicLibraryBundleInfo() { } + @Override + public List getSymbolForToolLibPath() { return Arrays.asList("glClear"); } + /** * Returns true, * since we might load a desktop GL library and allow symbol access to subsequent libs. diff --git a/src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGDynamicLibraryBundleInfo.java b/src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGDynamicLibraryBundleInfo.java index d0b6ab7e0..95b5d3b9f 100644 --- a/src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGDynamicLibraryBundleInfo.java +++ b/src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGDynamicLibraryBundleInfo.java @@ -359,7 +359,7 @@ class FFMPEGDynamicLibraryBundleInfo implements DynamicLibraryBundleInfo { public final List> getToolLibNames() { final List> libsList = new ArrayList>(); - // 6: util, format, codec, device, avresample, swresample + // 5: util, format, codec, device, swresample final List avutil = new ArrayList(); if( FFMPEGMediaPlayer.PREFER_SYSTEM_LIBS ) { @@ -461,6 +461,11 @@ class FFMPEGDynamicLibraryBundleInfo implements DynamicLibraryBundleInfo { return libsList; } + @Override + public List getSymbolForToolLibPath() { + // 5: util, format, codec, device, swresample + return Arrays.asList("av_free", "av_read_frame", "avcodec_close", "avdevice_register_all", "swr_convert"); + } @Override public final List getToolGetProcAddressFuncNameList() { diff --git a/src/oculusvr/classes/com/jogamp/oculusvr/OVRDynamicLibraryBundleInfo.java b/src/oculusvr/classes/com/jogamp/oculusvr/OVRDynamicLibraryBundleInfo.java index 6e25c83bb..3fa242f6e 100644 --- a/src/oculusvr/classes/com/jogamp/oculusvr/OVRDynamicLibraryBundleInfo.java +++ b/src/oculusvr/classes/com/jogamp/oculusvr/OVRDynamicLibraryBundleInfo.java @@ -43,6 +43,7 @@ import java.util.*; private static final List glueLibNames; static { SecurityUtil.doPrivileged(new PrivilegedAction() { + @Override public Object run() { Platform.initSingleton(); @@ -99,6 +100,9 @@ import java.util.*; return new ArrayList>(); // None } + @Override + public List getSymbolForToolLibPath() { return null; } + @Override public final List getToolGetProcAddressFuncNameList() { return null; -- cgit v1.2.3