summaryrefslogtreecommitdiffstats
path: root/make/stub_includes/macosx
diff options
context:
space:
mode:
authorKenneth Russel <[email protected]>2006-08-01 23:22:54 +0000
committerKenneth Russel <[email protected]>2006-08-01 23:22:54 +0000
commit5f3f32052969e8133c8fe7c50835763cedfebb43 (patch)
tree6ccd8ac7f94ee02ce16b5568d8c965b1c74c9a09 /make/stub_includes/macosx
parentff5fa954165c45037849b986f41f4a192cad163e (diff)
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
Diffstat (limited to 'make/stub_includes/macosx')
-rwxr-xr-xmake/stub_includes/macosx/dynamic-linker.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/make/stub_includes/macosx/dynamic-linker.h b/make/stub_includes/macosx/dynamic-linker.h
new file mode 100755
index 0000000..11afcdc
--- /dev/null
+++ b/make/stub_includes/macosx/dynamic-linker.h
@@ -0,0 +1,46 @@
+/* Portions extracted from Mac OS X dlfcn.h */
+
+/*
+ * Copyright (c) 2004-2005 Apple Computer, Inc. All rights reserved.
+ *
+ * @APPLE_LICENSE_HEADER_START@
+ *
+ * This file contains Original Code and/or Modifications of Original Code
+ * as defined in and that are subject to the Apple Public Source License
+ * Version 2.0 (the 'License'). You may not use this file except in
+ * compliance with the License. Please obtain a copy of the License at
+ * http://www.opensource.apple.com/apsl/ and read it before using this
+ * file.
+ *
+ * The Original Code and all software distributed under the License are
+ * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+ * Please see the License for the specific language governing rights and
+ * limitations under the License.
+ *
+ * @APPLE_LICENSE_HEADER_END@
+ */
+
+/*
+ Based on the dlcompat work done by:
+ Jorge Acereda <[email protected]> &
+ Peter O'Gorman <[email protected]>
+*/
+
+extern int dlclose(void * __handle);
+extern char * dlerror(void);
+extern void * dlopen(const char * __path, int __mode);
+extern void * dlsym(void * __handle, const char * __symbol);
+
+#define RTLD_LAZY 0x1
+#define RTLD_NOW 0x2
+#define RTLD_LOCAL 0x4
+#define RTLD_GLOBAL 0x8
+
+/*
+ * Special handle arguments for dlsym().
+ */
+#define RTLD_NEXT -1LL /* Search subsequent objects. */
+#define RTLD_DEFAULT -2LL /* Use default search algorithm. */