summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenneth Russel <[email protected]>2006-11-24 01:33:33 +0000
committerKenneth Russel <[email protected]>2006-11-24 01:33:33 +0000
commitb87d73aae8ce3c306644a6964545b89f1eab1189 (patch)
tree03b7180d888c199b7b0161647943167bbcf59389
parent21dc23a7070e2c3e5a97772ff5a00b1dc4e83fab (diff)
Removed native code for DRIHack and replaced it with code using the
GlueGen runtime library (specifically the NativeLibrary class). Updated the build.xml, in particular the dist targets, to no longer build or copy this native library. Updated the NativeLibrary class to allow specification of the full path to the library. Removed the GlueGen runtime classes from jogl.jar; these are now expected to reside in gluegen-rt.jar and it is expected that developers will have this on their CLASSPATH. Updated the dist target to include the gluegen-rt native library and jar file. Updated the JOGLAppletLauncher to download and unpack the gluegen-rt-natives jar as well as the jogl-natives jar. Updated the HowToBuild, user guide, and JOGLAppletLauncher documentation for this restructuring. Fixed bug in gluegen-cpptasks.xml in detection of Solaris/SPARCv9 and refactored targets further. Tested on Solaris/x86 so far; further testing and debugging of the nightly builds and applet launcher, and update of the JOGL applet test, to follow. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/gluegen/trunk@51 a78bb65f-1512-4460-ba86-f6dc96a7bf27
-rwxr-xr-xmake/gluegen-cpptasks.xml6
-rwxr-xr-xsrc/java/com/sun/gluegen/runtime/NativeLibrary.java8
2 files changed, 13 insertions, 1 deletions
diff --git a/make/gluegen-cpptasks.xml b/make/gluegen-cpptasks.xml
index 6720784..02f2d64 100755
--- a/make/gluegen-cpptasks.xml
+++ b/make/gluegen-cpptasks.xml
@@ -273,6 +273,8 @@
<property name="os.and.arch" value="linux-i586" />
</target>
+ <target name="gluegen.cpptasks.detect.os.linux" depends="gluegen.cpptasks.detect.os.linux.amd64,gluegen.cpptasks.detect.os.linux.ia64,gluegen.cpptasks.detect.os.linux.x86" unless="gluegen.cpptasks.detected.os" />
+
<target name="gluegen.cpptasks.detect.os.osx.ppc" unless="gluegen.cpptasks.detected.os" if="isOSXPPC">
<property name="os.and.arch" value="macosx-ppc" />
</target>
@@ -301,6 +303,8 @@
<property name="os.and.arch" value="solaris-i586" />
</target>
+ <target name="gluegen.cpptasks.detect.os.solaris" depends="gluegen.cpptasks.detect.os.solaris.sparc,gluegen.cpptasks.detect.os.solaris.sparcv9,gluegen.cpptasks.detect.os.solaris.amd64,gluegen.cpptasks.detect.os.solaris.x86" unless="gluegen.cpptasks.detected.os" />
+
<target name="gluegen.cpptasks.detect.os.unix" unless="gluegen.cpptasks.detected.os" if="isUnix">
<property name="native.library.suffix" value="so" />
</target>
@@ -317,7 +321,7 @@
<property name="native.library.suffix" value="dll" />
</target>
- <target name="gluegen.cpptasks.detect.os.2" depends="gluegen.cpptasks.detect.os.freebsd,gluegen.cpptasks.detect.os.hpux,gluegen.cpptasks.detect.os.linux.amd64,gluegen.cpptasks.detect.os.linux.ia64,gluegen.cpptasks.detect.os.linux.x86,gluegen.cpptasks.detect.os.osx,gluegen.cpptasks.detect.os.solaris.sparc,gluegen.cpptasks.detect.os.solaris.amd64,gluegen.cpptasks.detect.os.solaris.x86,gluegen.cpptasks.detect.os.unix,gluegen.cpptasks.detect.os.windows" unless="gluegen.cpptasks.detected.os">
+ <target name="gluegen.cpptasks.detect.os.2" depends="gluegen.cpptasks.detect.os.freebsd,gluegen.cpptasks.detect.os.hpux,gluegen.cpptasks.detect.os.linux,gluegen.cpptasks.detect.os.osx,gluegen.cpptasks.detect.os.solaris,gluegen.cpptasks.detect.os.unix,gluegen.cpptasks.detect.os.windows" unless="gluegen.cpptasks.detected.os">
</target>
<target name="gluegen.cpptasks.detect.os" depends="gluegen.cpptasks.detect.os.1,gluegen.cpptasks.detect.os.2">
diff --git a/src/java/com/sun/gluegen/runtime/NativeLibrary.java b/src/java/com/sun/gluegen/runtime/NativeLibrary.java
index 7ae9cdf..20419d9 100755
--- a/src/java/com/sun/gluegen/runtime/NativeLibrary.java
+++ b/src/java/com/sun/gluegen/runtime/NativeLibrary.java
@@ -221,6 +221,14 @@ public class NativeLibrary {
String libName = selectName(windowsLibName, unixLibName, macOSXLibName);
if (libName == null)
return paths;
+
+ // Allow user's full path specification to override our building pf paths
+ File file = new File(libName);
+ if (file.isAbsolute()) {
+ paths.add(libName);
+ return paths;
+ }
+
String[] baseNames = buildNames(libName);
if (searchSystemPathFirst) {