summaryrefslogtreecommitdiffstats
path: root/make/stub_includes/unix/dynamic-linker.h
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/unix/dynamic-linker.h
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/unix/dynamic-linker.h')
-rwxr-xr-xmake/stub_includes/unix/dynamic-linker.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/make/stub_includes/unix/dynamic-linker.h b/make/stub_includes/unix/dynamic-linker.h
new file mode 100755
index 0000000..7071438
--- /dev/null
+++ b/make/stub_includes/unix/dynamic-linker.h
@@ -0,0 +1,47 @@
+/* Portions extracted from Solaris dlfcn.h */
+
+/*
+ * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ *
+ * Copyright (c) 1989 AT&T
+ * All Rights Reserved
+ *
+ */
+
+/*
+ * Valid values for handle argument to dlsym(3x).
+ */
+#define RTLD_NEXT -1LL /* look in `next' dependency */
+#define RTLD_DEFAULT -2LL /* look up symbol from scope */
+ /* of current object */
+#define RTLD_SELF -3LL /* look in `ourself' */
+#define RTLD_PROBE -4LL /* look up symbol from scope */
+ /* of current object, */
+ /* using currently */
+ /* loaded objects only. */
+
+/*
+ * Valid values for mode argument to dlopen.
+ */
+#define RTLD_LAZY 0x00001 /* deferred function binding */
+#define RTLD_NOW 0x00002 /* immediate function binding */
+#define RTLD_NOLOAD 0x00004 /* don't load object */
+
+#define RTLD_GLOBAL 0x00100 /* export symbols to others */
+#define RTLD_LOCAL 0x00000 /* symbols are only available */
+ /* to group members */
+#define RTLD_PARENT 0x00200 /* add parent (caller) to */
+ /* a group dependencies */
+#define RTLD_GROUP 0x00400 /* resolve symbols within */
+ /* members of the group */
+#define RTLD_WORLD 0x00800 /* resolve symbols within */
+ /* global objects */
+#define RTLD_NODELETE 0x01000 /* do not remove members */
+#define RTLD_FIRST 0x02000 /* only first object is */
+ /* available for dlsym */
+
+extern void *dlopen(const char *, int);
+extern void *dlsym(void *, const char *);
+extern int dlclose(void *);
+extern char *dlerror(void);