diff options
Diffstat (limited to 'make/cg-common.cfg')
-rw-r--r-- | make/cg-common.cfg | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/make/cg-common.cfg b/make/cg-common.cfg index 043822838..275d9941d 100644 --- a/make/cg-common.cfg +++ b/make/cg-common.cfg @@ -8,6 +8,11 @@ JavaOutputDir ../build/gensrc/classes NativeOutputDir ../build/gensrc/native/jogl_cg HierarchicalNativeOutput false +# Generate "flattened" NIO variants for routines taking C primitive +# pointers that aren't of type void* +NioMode ALL_POINTERS +FlattenNIOVariants true + # # Map const char* return values to Java strings for these functions # @@ -55,6 +60,8 @@ Ignore cgGetParameterValues # Need to import New IO for Buffer classes # Import java.nio.* +# and java.security.* to allow unsigned Cg applications +Import java.security.* # Raise CgException instead of RuntimeException in glue code RuntimeExceptionType CgException @@ -67,4 +74,21 @@ RuntimeExceptionType CgException CustomCCode #include <stdlib.h> CustomCCode #include <Cg/cgGL.h> -CustomJavaCode CgGL static { System.loadLibrary("jogl_cg");} +CustomJavaCode CgGL static { +CustomJavaCode CgGL AccessController.doPrivileged(new PrivilegedAction() { +CustomJavaCode CgGL public Object run() { +CustomJavaCode CgGL try { +CustomJavaCode CgGL // Workaround so that these don't need to be in the system +CustomJavaCode CgGL // path but can be referenced from java.library.path +CustomJavaCode CgGL // (this is intended to help with Webstarted applications) +CustomJavaCode CgGL System.loadLibrary("cg"); +CustomJavaCode CgGL System.loadLibrary("cgGL"); +CustomJavaCode CgGL } catch (UnsatisfiedLinkError e) { +CustomJavaCode CgGL // Consider this non-fatal +CustomJavaCode CgGL } +CustomJavaCode CgGL // Load the actual Cg binding +CustomJavaCode CgGL System.loadLibrary("jogl_cg"); +CustomJavaCode CgGL return null; +CustomJavaCode CgGL } +CustomJavaCode CgGL }); +CustomJavaCode CgGL } |