summaryrefslogtreecommitdiffstats
path: root/make
diff options
context:
space:
mode:
authorKenneth Russel <[email protected]>2006-11-24 01:33:35 +0000
committerKenneth Russel <[email protected]>2006-11-24 01:33:35 +0000
commitc5ba57aa77b4dbd49d2d2ee78e4520a3c8ceb3a0 (patch)
treeb92d3a70ba1ad909e2478eede2442ce57a5db371 /make
parent9d656e00cf460803e9de78d1fa73479df8616940 (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/jogl/trunk@993 232f8b59-042b-4e1e-8c03-345bb8c30851
Diffstat (limited to 'make')
-rwxr-xr-xmake/README-zip-bundles.txt2
-rw-r--r--make/build.xml110
2 files changed, 71 insertions, 41 deletions
diff --git a/make/README-zip-bundles.txt b/make/README-zip-bundles.txt
index 83269fb56..2e5899990 100755
--- a/make/README-zip-bundles.txt
+++ b/make/README-zip-bundles.txt
@@ -24,7 +24,7 @@ and the following subdirectory:
lib contains JOGL implementation
-All of the JOGL implementation files (jar file plus native
+All of the JOGL implementation files (jar files and native
libraries) are in the lib subdirectory. For instructions on
how to use these implementation files to build or run a JOGL
program see the enclosed JOGL user guide (Userguide.html).
diff --git a/make/build.xml b/make/build.xml
index 63a6c6769..7ef5e23f4 100644
--- a/make/build.xml
+++ b/make/build.xml
@@ -354,7 +354,6 @@
<property name="compiler.cfg.id" value="compiler.cfg.linux" />
<property name="linker.cfg.id.core" value="linker.cfg.linux.jogl" />
- <property name="linker.cfg.id.drihack" value="linker.cfg.linux" />
</target>
<target name="declare.linux.amd64" if="isLinuxAMD64">
@@ -364,7 +363,6 @@
<property name="compiler.cfg.id" value="compiler.cfg.linux.amd64" />
<property name="linker.cfg.id.core" value="linker.cfg.linux.amd64.jogl" />
- <property name="linker.cfg.id.drihack" value="linker.cfg.linux" />
</target>
<target name="declare.linux.ia64" if="isLinuxIA64">
@@ -374,7 +372,6 @@
<property name="compiler.cfg.id" value="compiler.cfg.linux" />
<property name="linker.cfg.id.core" value="linker.cfg.linux.jogl" />
- <property name="linker.cfg.id.drihack" value="linker.cfg.linux" />
</target>
<target name="declare.linux" depends="declare.linux.x86,declare.linux.amd64,declare.linux.ia64,declare.x11" if="isLinux" />
@@ -386,7 +383,6 @@
<property name="compiler.cfg.id" value="compiler.cfg.solaris" />
<property name="linker.cfg.id.core" value="linker.cfg.solaris.jogl" />
- <property name="linker.cfg.id.drihack" value="linker.cfg.solaris" />
</target>
@@ -397,7 +393,6 @@
<property name="compiler.cfg.id" value="compiler.cfg.solaris.sparcv9" />
<property name="linker.cfg.id.core" value="linker.cfg.solaris.sparcv9.jogl" />
- <property name="linker.cfg.id.drihack" value="linker.cfg.solaris.sparcv9" />
</target>
@@ -408,7 +403,6 @@
<property name="compiler.cfg.id" value="compiler.cfg.solaris.amd64" />
<property name="linker.cfg.id.core" value="linker.cfg.solaris.amd64.jogl" />
- <property name="linker.cfg.id.drihack" value="linker.cfg.solaris.amd64" />
</target>
@@ -446,7 +440,6 @@
<property name="compiler.cfg.id" value="compiler.cfg.freebsd.jogl" />
<property name="linker.cfg.id.core" value="linker.cfg.linux.jogl" />
- <property name="linker.cfg.id.drihack" value="linker.cfg.linux" />
</target>
<target name="declare.hpux" depends="declare.x11" if="isHPUX">
@@ -455,7 +448,6 @@
<property name="java.lib.dir.platform" value="${java.lib.dir.hpux}" />
<property name="compiler.cfg.id" value="compiler.cfg.hpux" />
<property name="linker.cfg.id.core" value="linker.cfg.hpux.jogl" />
- <property name="linker.cfg.id.drihack" value="linker.cfg.hpux" />
</target>
<!-- ================================================================== -->
@@ -494,12 +486,6 @@
<propertyref name="gluegen.nsig" />
</propertyset>
</ant>
-
- <!-- Extract the GlueGen runtime classes into our build directory.
- - We currently bundle them into jogl.jar; they could be kept in
- - a separate jar, but this makes deployment simpler.
- -->
- <unjar src="${gluegen-rt.jar}" dest="${classes}" />
</target>
<!--
@@ -700,6 +686,7 @@
<!-- Perform the first pass Java compile. -->
<javac srcdir="${src.generated.java}"
destdir="${classes}"
+ classpath="${gluegen-rt.jar}"
includes="javax/media/opengl/GL.java"
fork="yes"
memoryMaximumSize="128m"
@@ -711,6 +698,7 @@
<!-- Perform the second pass Java compile; everything. -->
<javac destdir="${classes}"
excludes="${java.excludes.platform},com/sun/opengl/impl/nurbs/**" source="${jogl.sourcelevel}"
+ classpath="${gluegen-rt.jar}"
fork="yes"
memoryMaximumSize="128m"
debug="true" debuglevel="source,lines">
@@ -808,10 +796,6 @@
<include name="${rootrel.generated.c.jogl}/JAWT*.c"/>
</patternset>
- <patternset id="c.src.files.jogl.drihack">
- <include name="${rootrel.src.c.jogl}/drihack.c"/>
- </patternset>
-
<patternset id="c.src.files.cg">
<include name="${rootrel.generated.c.cg}/*.c"/>
</patternset>
@@ -933,14 +917,6 @@
</antcall>
</target>
- <target name="c.build.jogl.drihack" if="isX11">
- <antcall target="c.build" inheritRefs="true">
- <param name="c.compiler.src.files" value="c.src.files.jogl.drihack"/>
- <param name="output.lib.name" value="jogl_drihack"/>
- <param name="linker.cfg.id" value="${linker.cfg.id.drihack}"/>
- </antcall>
- </target>
-
<target name="c.manifest" if="isVC8Family">
<!-- exec mt, the Microsoft Manifest Tool, to include DLL manifests in order to resolve the location of msvcr80.dll -->
<exec executable="mt">
@@ -955,7 +931,7 @@
</exec>
</target>
- <target name="c.build.jogl" depends="c.build.jogl.core,c.build.jogl.awt,c.build.jogl.drihack,c.build.jogl.cg">
+ <target name="c.build.jogl" depends="c.build.jogl.core,c.build.jogl.awt,c.build.jogl.cg">
<antcall target="c.rename.jogl.libs.mingw" inheritRefs="true" />
<antcall target="c.rename.jogl.libs.macosx" inheritRefs="true" />
<antcall target="c.manifest" inheritRefs="true" />
@@ -1133,6 +1109,8 @@
<available file="${jogl.dist.dir}/jogl-win/32/jogl.dll" />
<available file="${jogl.dist.dir}/jogl-win/32/jogl_awt.dll" />
<available file="${jogl.dist.dir}/jogl-win/32/jogl_cg.dll" />
+ <available file="${jogl.dist.dir}/jogl-win/32/gluegen-rt.dll" />
+ <available file="${jogl.dist.dir}/jogl-win/32/gluegen-rt-natives-windows-i586.jar" />
</and>
</condition>
<fail unless="windows.complete">
@@ -1151,6 +1129,8 @@
<available file="${jogl.dist.dir}/jogl-linux/32/libjogl.so" />
<available file="${jogl.dist.dir}/jogl-linux/32/libjogl_awt.so" />
<available file="${jogl.dist.dir}/jogl-linux/32/libjogl_cg.so" />
+ <available file="${jogl.dist.dir}/jogl-linux/32/libgluegen-rt.so" />
+ <available file="${jogl.dist.dir}/jogl-linux/32/gluegen-rt-natives-linux-i586.jar" />
<!-- Assume we also copy over these generated files in the Linux build -->
<!-- in order to satisfy requests from end users that we provide these -->
<!-- files for easier source browsing in IDEs -->
@@ -1175,6 +1155,8 @@
<available file="${jogl.dist.dir}/jogl-linux/64/libjogl.so" />
<available file="${jogl.dist.dir}/jogl-linux/64/libjogl_awt.so" />
<available file="${jogl.dist.dir}/jogl-linux/64/libjogl_cg.so" />
+ <available file="${jogl.dist.dir}/jogl-linux/64/libgluegen-rt.so" />
+ <available file="${jogl.dist.dir}/jogl-linux/64/gluegen-rt-natives-linux-amd64.jar" />
</and>
</condition>
<fail unless="linux.complete">
@@ -1193,6 +1175,8 @@
<available file="${jogl.dist.dir}/jogl-macosx/ppc/libjogl.jnilib" />
<available file="${jogl.dist.dir}/jogl-macosx/ppc/libjogl_awt.jnilib" />
<available file="${jogl.dist.dir}/jogl-macosx/ppc/libjogl_cg.jnilib" />
+ <available file="${jogl.dist.dir}/jogl-macosx/ppc/libgluegen-rt.jnilib" />
+ <available file="${jogl.dist.dir}/jogl-macosx/ppc/gluegen-rt-natives-macosx-ppc.jar" />
</and>
</condition>
<fail unless="macosx.complete">
@@ -1212,6 +1196,8 @@
<available file="${jogl.dist.dir}/jogl-macosx/fat/libjogl.jnilib" />
<available file="${jogl.dist.dir}/jogl-macosx/fat/libjogl_awt.jnilib" />
<available file="${jogl.dist.dir}/jogl-macosx/fat/libjogl_cg.jnilib" />
+ <available file="${jogl.dist.dir}/jogl-macosx/fat/libgluegen-rt.jnilib" />
+ <available file="${jogl.dist.dir}/jogl-macosx/fat/gluegen-rt-natives-macosx-universal.jar" />
</and>
</condition>
<fail unless="macosxfat.complete">
@@ -1231,7 +1217,8 @@
<available file="${jogl.dist.dir}/jogl-solsparc/jogl.jar" />
<available file="${jogl.dist.dir}/jogl-solsparc/32/libjogl.so" />
<available file="${jogl.dist.dir}/jogl-solsparc/32/libjogl_awt.so" />
- <available file="${jogl.dist.dir}/jogl-solsparc/32/libjogl_drihack.so" />
+ <available file="${jogl.dist.dir}/jogl-solsparc/32/libgluegen-rt.so" />
+ <available file="${jogl.dist.dir}/jogl-solsparc/32/gluegen-rt-natives-solaris-sparc.jar" />
</and>
</condition>
<fail unless="solsparc.complete">
@@ -1249,7 +1236,8 @@
<available file="${jogl.dist.dir}/jogl-solsparc/jogl.jar" />
<available file="${jogl.dist.dir}/jogl-solsparc/64/libjogl.so" />
<available file="${jogl.dist.dir}/jogl-solsparc/64/libjogl_awt.so" />
- <available file="${jogl.dist.dir}/jogl-solsparc/64/libjogl_drihack.so" />
+ <available file="${jogl.dist.dir}/jogl-solsparc/64/libgluegen-rt.so" />
+ <available file="${jogl.dist.dir}/jogl-solsparc/64/gluegen-rt-natives-solaris-sparcv9.jar" />
</and>
</condition>
<fail unless="solsparcv9.complete">
@@ -1267,7 +1255,8 @@
<available file="${jogl.dist.dir}/jogl-solx86/jogl.jar" />
<available file="${jogl.dist.dir}/jogl-solx86/32/libjogl.so" />
<available file="${jogl.dist.dir}/jogl-solx86/32/libjogl_awt.so" />
- <available file="${jogl.dist.dir}/jogl-solx86/32/libjogl_drihack.so" />
+ <available file="${jogl.dist.dir}/jogl-solx86/32/libgluegen-rt.so" />
+ <available file="${jogl.dist.dir}/jogl-solx86/32/gluegen-rt-natives-solaris-i586.jar" />
</and>
</condition>
<fail unless="solx86.complete">
@@ -1284,7 +1273,8 @@
<and>
<available file="${jogl.dist.dir}/jogl-solx86/64/libjogl.so" />
<available file="${jogl.dist.dir}/jogl-solx86/64/libjogl_awt.so" />
- <available file="${jogl.dist.dir}/jogl-solx86/64/libjogl_drihack.so" />
+ <available file="${jogl.dist.dir}/jogl-solx86/64/libgluegen-rt.so" />
+ <available file="${jogl.dist.dir}/jogl-solx86/64/gluegen-rt-natives-solaris-amd64.jar" />
</and>
</condition>
<fail unless="solamd64.complete">
@@ -1308,9 +1298,10 @@
<mkdir dir="${jogl.dist.dir}/tmp/${jogl.tmp.version}/lib" />
<!-- Copy in files -->
<copy todir="${jogl.dist.dir}/tmp/${jogl.tmp.version}/lib">
- <fileset dir="${zip.src.so.dir}" includes="*" />
+ <fileset dir="${zip.src.so.dir}" includes="*${zip.so.suffix}" />
</copy>
<copy file="${jogl.dist.dir}/jogl.jar" todir="${jogl.dist.dir}/tmp/${jogl.tmp.version}/lib" />
+ <copy file="${jogl.dist.dir}/gluegen-rt.jar" todir="${jogl.dist.dir}/tmp/${jogl.tmp.version}/lib" />
<copy file="../COPYRIGHT.txt" todir="${jogl.dist.dir}/tmp/${jogl.tmp.version}" />
<copy file="../LICENSE.txt" tofile="${jogl.dist.dir}/tmp/${jogl.tmp.version}/LICENSE-JOGL-${tmp.version}.txt" />
<copy file="README-zip-bundles.txt"
@@ -1328,9 +1319,8 @@
</target>
<target name="dist" depends="dist.dir.check,dist.check.windows,dist.check.linux,dist.check.linux-amd64,dist.check.macosx,dist.check.macosxfat,dist.check.solsparc,dist.check.solsparcv9,dist.check.solx86, dist.check.solamd64">
- <delete file="${jogl.dist.dir}/jogl.jar" />
<delete>
- <fileset dir="${jogl.dist.dir}" includes="jogl-natives-*.jar" />
+ <fileset dir="${jogl.dist.dir}" includes="*.jar" />
</delete>
<delete>
<fileset dir="${jogl.dist.dir}" includes="*.zip" />
@@ -1360,10 +1350,10 @@
includes="jogl.dll,jogl_awt.dll,jogl_cg.dll" />
<jar destfile="${jogl.dist.dir}/jogl-natives-linux-i586.jar"
basedir="${jogl.dist.dir}/jogl-linux/32"
- includes="libjogl.so,libjogl_awt.so,libjogl_cg.so,libjogl_drihack.so" />
+ includes="libjogl.so,libjogl_awt.so,libjogl_cg.so" />
<jar destfile="${jogl.dist.dir}/jogl-natives-linux-amd64.jar"
basedir="${jogl.dist.dir}/jogl-linux/64"
- includes="libjogl.so,libjogl_awt.so,libjogl_cg.so,libjogl_drihack.so" />
+ includes="libjogl.so,libjogl_awt.so,libjogl_cg.so" />
<jar destfile="${jogl.dist.dir}/jogl-natives-macosx-ppc.jar"
basedir="${jogl.dist.dir}/jogl-macosx/ppc"
includes="libjogl.jnilib,libjogl_awt.jnilib,libjogl_cg.jnilib" />
@@ -1372,16 +1362,47 @@
includes="libjogl.jnilib,libjogl_awt.jnilib,libjogl_cg.jnilib" />
<jar destfile="${jogl.dist.dir}/jogl-natives-solaris-sparc.jar"
basedir="${jogl.dist.dir}/jogl-solsparc/32"
- includes="libjogl.so,libjogl_awt.so,libjogl_drihack.so" />
+ includes="libjogl.so,libjogl_awt.so" />
<jar destfile="${jogl.dist.dir}/jogl-natives-solaris-sparcv9.jar"
basedir="${jogl.dist.dir}/jogl-solsparc/64"
- includes="libjogl.so,libjogl_awt.so,libjogl_drihack.so" />
+ includes="libjogl.so,libjogl_awt.so" />
<jar destfile="${jogl.dist.dir}/jogl-natives-solaris-i586.jar"
basedir="${jogl.dist.dir}/jogl-solx86/32"
- includes="libjogl.so,libjogl_awt.so,libjogl_drihack.so" />
+ includes="libjogl.so,libjogl_awt.so" />
<jar destfile="${jogl.dist.dir}/jogl-natives-solaris-amd64.jar"
basedir="${jogl.dist.dir}/jogl-solx86/64"
- includes="libjogl.so,libjogl_awt.so,libjogl_drihack.so" />
+ includes="libjogl.so,libjogl_awt.so" />
+ <!-- Copy gluegen-rt.jar from Linux build (arbitrary; this jar is platform-independent) -->
+ <copy file="${jogl.dist.dir}/jogl-linux/gluegen-rt.jar" todir="${jogl.dist.dir}" />
+ <!-- Copy gluegen-rt native jars out of platform-specific subdirectories -->
+ <copy todir="${jogl.dist.dir}">
+ <fileset dir="${jogl.dist.dir}/jogl-win/32" includes="gluegen-natives-*.jar" />
+ </copy>
+ <copy todir="${jogl.dist.dir}">
+ <fileset dir="${jogl.dist.dir}/jogl-linux/32" includes="gluegen-natives-*.jar" />
+ </copy>
+ <copy todir="${jogl.dist.dir}">
+ <fileset dir="${jogl.dist.dir}/jogl-linux/64" includes="gluegen-natives-*.jar" />
+ </copy>
+ <copy todir="${jogl.dist.dir}">
+ <fileset dir="${jogl.dist.dir}/jogl-macosx/ppc" includes="gluegen-natives-*.jar" />
+ </copy>
+ <copy todir="${jogl.dist.dir}">
+ <fileset dir="${jogl.dist.dir}/jogl-macosx/fat" includes="gluegen-natives-*.jar" />
+ </copy>
+ <copy todir="${jogl.dist.dir}">
+ <fileset dir="${jogl.dist.dir}/jogl-solsparc/32" includes="gluegen-natives-*.jar" />
+ </copy>
+ <copy todir="${jogl.dist.dir}">
+ <fileset dir="${jogl.dist.dir}/jogl-solsparc/64" includes="gluegen-natives-*.jar" />
+ </copy>
+ <copy todir="${jogl.dist.dir}">
+ <fileset dir="${jogl.dist.dir}/jogl-solx86/32" includes="gluegen-natives-*.jar" />
+ </copy>
+ <copy todir="${jogl.dist.dir}">
+ <fileset dir="${jogl.dist.dir}/jogl-solx86/64" includes="gluegen-natives-*.jar" />
+ </copy>
+
<!-- Build a source archive as well -->
<!-- First copy the generated files out of the Linux build results into the appropriate -->
<!-- directory of this source tree (so that they'll be blown away properly with an -->
@@ -1403,38 +1424,47 @@
target in order to get the platform-independent jogl.jar. -->
<antcall target="dist.build.zip" inheritAll="true">
<param name="zip.os.arch" value="linux-i586" />
+ <param name="zip.so.suffix" value=".so" />
<param name="zip.src.so.dir" value="${jogl.dist.dir}/jogl-linux/32" />
</antcall>
<antcall target="dist.build.zip" inheritAll="true">
<param name="zip.os.arch" value="linux-amd64" />
+ <param name="zip.so.suffix" value=".so" />
<param name="zip.src.so.dir" value="${jogl.dist.dir}/jogl-linux/64" />
</antcall>
<antcall target="dist.build.zip" inheritAll="true">
<param name="zip.os.arch" value="macosx-ppc" />
+ <param name="zip.so.suffix" value=".jnilib" />
<param name="zip.src.so.dir" value="${jogl.dist.dir}/jogl-macosx/ppc" />
</antcall>
<antcall target="dist.build.zip" inheritAll="true">
<param name="zip.os.arch" value="macosx-universal" />
+ <param name="zip.so.suffix" value=".jnilib" />
<param name="zip.src.so.dir" value="${jogl.dist.dir}/jogl-macosx/fat" />
</antcall>
<antcall target="dist.build.zip" inheritAll="true">
<param name="zip.os.arch" value="solaris-i586" />
+ <param name="zip.so.suffix" value=".so" />
<param name="zip.src.so.dir" value="${jogl.dist.dir}/jogl-solx86/32" />
</antcall>
<antcall target="dist.build.zip" inheritAll="true">
<param name="zip.os.arch" value="solaris-amd64" />
+ <param name="zip.so.suffix" value=".so" />
<param name="zip.src.so.dir" value="${jogl.dist.dir}/jogl-solx86/64" />
</antcall>
<antcall target="dist.build.zip" inheritAll="true">
<param name="zip.os.arch" value="solaris-sparc" />
+ <param name="zip.so.suffix" value=".so" />
<param name="zip.src.so.dir" value="${jogl.dist.dir}/jogl-solsparc/32" />
</antcall>
<antcall target="dist.build.zip" inheritAll="true">
<param name="zip.os.arch" value="solaris-sparcv9" />
+ <param name="zip.so.suffix" value=".so" />
<param name="zip.src.so.dir" value="${jogl.dist.dir}/jogl-solsparc/64" />
</antcall>
<antcall target="dist.build.zip" inheritAll="true">
<param name="zip.os.arch" value="windows-i586" />
+ <param name="zip.so.suffix" value=".dll" />
<param name="zip.src.so.dir" value="${jogl.dist.dir}/jogl-win/32" />
</antcall>
<!-- Create one last zip archive by hand, this one containing all of the -->