From 5f3f32052969e8133c8fe7c50835763cedfebb43 Mon Sep 17 00:00:00 2001 From: Kenneth Russel Date: Tue, 1 Aug 2006 23:22:54 +0000 Subject: Added NativeLibrary helper class to com.sun.gluegen.runtime package, principally to generally solve the problem of downloading dependent libraries of GlueGen-generated native code, as in the case of JOAL and OpenAL reported recently by Shawn Kendall on JOAL forums. Autogenerated Java and native code associated with this new NativeLibrary helper class is currently checked in to the GlueGen workspace to make it easier to build across multiple platforms; it can be regenerated by running the generate.nativelibrary.sources Ant target in the GlueGen workspace. Building of the native code in the GlueGen workspace is currently disabled by default and can be enabled by specifying -Dbuild.native=1 on the ant command line. Use of the new NativeLibrary class in JOAL is currently disabled by default and can be enabled by specifying -Djoal.use.gluegen=1 to applications using JOAL. New functionality has been lightly tested with JOAL on Windows and appears to be working. More testing, including build and Java Web Start deployment testing, to follow on other platforms. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/gluegen/trunk@37 a78bb65f-1512-4460-ba86-f6dc96a7bf27 --- make/dynlink-windows.cfg | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100755 make/dynlink-windows.cfg (limited to 'make/dynlink-windows.cfg') diff --git a/make/dynlink-windows.cfg b/make/dynlink-windows.cfg new file mode 100755 index 0000000..871326e --- /dev/null +++ b/make/dynlink-windows.cfg @@ -0,0 +1,25 @@ +Style AllStatic +JavaClass WindowsDynamicLinkerImpl +Package com.sun.gluegen.runtime +Implements WindowsDynamicLinkerImpl DynamicLinker +JavaOutputDir ../src/java +NativeOutputDir ../src/native/windows +HierarchicalNativeOutput false + +IncludeAs CustomJavaCode WindowsDynamicLinkerImpl dynlink-windows-CustomJavaCode.java +CustomCCode #include +CustomCCode /* This typedef is only needed for VC6 */ +CustomCCode #if _MSC_VER <= 1200 +CustomCCode typedef int intptr_t; +CustomCCode #endif + +ArgumentIsString LoadLibraryA 0 +ArgumentIsString GetProcAddress 1 +Opaque long HANDLE +Opaque long PROC + +# Hide the platform-specific functions +AccessControl GetLastError PRIVATE +AccessControl LoadLibraryA PRIVATE +AccessControl GetProcAddress PRIVATE +AccessControl FreeLibrary PRIVATE -- cgit v1.2.3