aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenneth Russel <[email protected]>2006-11-15 07:19:27 +0000
committerKenneth Russel <[email protected]>2006-11-15 07:19:27 +0000
commitbadf69f35a6eb37a77cbca5475b1011d3a3a0f51 (patch)
treea7ce7bb558722de19a4ad15fc9a9cdc8556cc513
parentd604345e142a09c3c6df1cb4d011f03f23bf8141 (diff)
Fixed Issue 249: Adding generated sources like GL.java to source distribution
Fixed (?) Issue 227: Distinct naming for different versions of jogl Fixed [No Issue Number]: Produce zip bundles from dist target This set of build.xml changes addresses the issues listed above. The "dist" target now puts the generated sources like GL.java into the source archive it produces; it expects that these sources are copied over from the Linux build. The kind of zip bundles that were produced for JSR-231 1.0.0 are now the primary result from the "dist" target. As these zip archives have unique version numbers, I believe these changes also fix Issue 227, although it could probably be argued the other way; please reopen this bug if the current changes are not sufficient. These changes will take effect once the nightly build machines are back on-line (they are currently being moved) and the build scripts have been updated. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@983 232f8b59-042b-4e1e-8c03-345bb8c30851
-rwxr-xr-xCOPYRIGHT.txt31
-rwxr-xr-xmake/README-zip-bundles.txt45
-rw-r--r--make/build.xml110
3 files changed, 183 insertions, 3 deletions
diff --git a/COPYRIGHT.txt b/COPYRIGHT.txt
new file mode 100755
index 000000000..92aba3106
--- /dev/null
+++ b/COPYRIGHT.txt
@@ -0,0 +1,31 @@
+
+Copyright 2006 Sun Microsystems, Inc., 4150 Network
+Circle, Santa Clara, California 95054, U.S.A. All rights
+reserved.
+
+U.S. Government Rights - Commercial software. Government
+users are subject to the Sun Microsystems, Inc.
+standard license agreement and applicable provisions of
+the FAR and its supplements.
+
+Use is subject to license terms.
+
+This distribution may include materials developed by third
+parties.
+
+Sun, Sun Microsystems, the Sun logo and Java are trademarks
+or registered trademarks of Sun Microsystems, Inc. in the
+U.S. and other countries.
+
+OpenGL is a registered trademark of Silicon Graphics, Inc.
+
+This product is covered and controlled by U.S. Export
+Control laws and may be subject to the export or import
+laws in other countries. Nuclear, missile, chemical
+biological weapons or nuclear maritime end uses or end
+users, whether direct or indirect, are strictly prohibited.
+Export or reexport to countries subject to U.S. embargo or
+to entities identified on U.S. export exclusion lists,
+including, but not limited to, the denied persons and
+specially designated nationals lists is strictly prohibited.
+
diff --git a/make/README-zip-bundles.txt b/make/README-zip-bundles.txt
new file mode 100755
index 000000000..83269fb56
--- /dev/null
+++ b/make/README-zip-bundles.txt
@@ -0,0 +1,45 @@
+
+Java (TM) Binding for the OpenGL (r) API, version @VERSION@
+-------------------------------------------------------
+
+This software is licensed by Sun Microsystems, as specified
+in the LICENSE-JOGL-@[email protected] file. You must use this software
+in accordance with the terms under which the code is licensed.
+
+
+
+Instructions for unzipping Java Binding for the OpenGL API, version @VERSION@
+--------------------------------------------------------------------
+
+After downloading and unzipping the zip file containing the
+JOGL release for your target platform, you will see the
+following files in the top directory:
+
+ COPYRIGHT.txt
+ LICENSE-JOGL-@[email protected]
+ Userguide.html
+ README.txt README file (you are reading it now)
+
+and the following subdirectory:
+
+ lib contains JOGL implementation
+
+All of the JOGL implementation files (jar file plus 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).
+
+
+
+Project source code and getting assistance
+------------------------------------------
+
+JOGL source code and project information can be found at:
+
+ https://jogl.dev.java.net/
+
+
+Numerous answers to common questions can be found on the JOGL
+forum:
+
+ http://www.javagaming.org/forums/index.php?board=25.0
diff --git a/make/build.xml b/make/build.xml
index 8a67be6ee..a2bed23fe 100644
--- a/make/build.xml
+++ b/make/build.xml
@@ -1151,6 +1151,13 @@
<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" />
+ <!-- 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 -->
+ <available file="${jogl.dist.dir}/jogl-linux/DebugGL.java" />
+ <available file="${jogl.dist.dir}/jogl-linux/TraceGL.java" />
+ <available file="${jogl.dist.dir}/jogl-linux/GL.java" />
+ <available file="${jogl.dist.dir}/jogl-linux/GLU.java" />
</and>
</condition>
<fail unless="linux.complete">
@@ -1224,6 +1231,7 @@
<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" />
</and>
</condition>
<fail unless="solsparc.complete">
@@ -1241,6 +1249,7 @@
<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" />
</and>
</condition>
<fail unless="solsparcv9.complete">
@@ -1258,6 +1267,7 @@
<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" />
</and>
</condition>
<fail unless="solx86.complete">
@@ -1274,6 +1284,7 @@
<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" />
</and>
</condition>
<fail unless="solamd64.complete">
@@ -1286,20 +1297,59 @@
</fail>
</target>
+ <!-- Helper task for dist target below -->
+ <!-- Required parameters: -->
+ <!-- zip.os.arch = the os/arch combination for this zip file (i.e., "windows-i586") -->
+ <!-- zip.src.so.dir = the directory containing the .so's / .dll's / .jnilib's for this platform-->
+ <target name="dist.build.zip">
+ <property name="jogl.tmp.version" value="jogl-${tmp.version}-${zip.os.arch}" />
+ <!-- Create all needed directories -->
+ <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="*" />
+ </copy>
+ <copy file="${jogl.dist.dir}/jogl.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"
+ tofile="${jogl.dist.dir}/tmp/${jogl.tmp.version}/README.txt"
+ overwrite="true">
+ <filterset>
+ <filter token="VERSION" value="${tmp.version}"/>
+ </filterset>
+ </copy>
+ <copy file="../doc/userguide/index.html" tofile="${jogl.dist.dir}/tmp/${jogl.tmp.version}/Userguide.html" />
+ <!-- zip it up -->
+ <zip destfile="${jogl.dist.dir}/${jogl.tmp.version}.zip"
+ basedir="${jogl.dist.dir}/tmp"
+ includes="${jogl.tmp.version}/**" />
+ </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" />
</delete>
- <delete file="${jogl.dist.dir}/jogl-src.zip" />
+ <delete>
+ <fileset dir="${jogl.dist.dir}" includes="*.zip" />
+ </delete>
+ <delete dir="${jogl.dist.dir}/tmp" failonerror="false" />
<delete dir="${jogl.dist.dir}/META-INF" failonerror="false" />
+ <!-- Set up a property needed later -->
+ <!-- FIXME: this is only suitable for nightly builds; need to factor this out -->
+ <!-- for release builds -->
+ <tstamp>
+ <format property="timestamp" pattern="yyyyMMdd"/>
+ </tstamp>
+ <property name="tmp.version" value="${base_version}-pre-${timestamp}" />
<!-- Extract manifest from one of the jars to re-use it in the dist jar -->
<unjar src="${jogl.dist.dir}/jogl-win/jogl.jar" dest="${jogl.dist.dir}" >
<patternset>
<include name="META-INF/MANIFEST.MF" />
</patternset>
</unjar>
+ <!-- Build jar files suitable for Java Web Start -->
<jar manifest="${jogl.dist.dir}/META-INF/MANIFEST.MF" destfile="${jogl.dist.dir}/jogl.jar" duplicate="preserve">
<zipgroupfileset dir="${jogl.dist.dir}"
includes="jogl-win/*.jar, jogl-linux/*.jar, jogl-macosx/*.jar" />
@@ -1332,11 +1382,65 @@
basedir="${jogl.dist.dir}/jogl-solx86/64"
includes="libjogl.so,libjogl_awt.so,libjogl_drihack.so" />
<!-- Build a source archive as well -->
- <zip destfile="${jogl.dist.dir}/jogl-src.zip"
+ <!-- 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 -->
+ <!-- "ant clean") -->
+ <mkdir dir="../build/gensrc/classes/javax/media/opengl/glu" />
+ <copy file="${jogl.dist.dir}/jogl-linux/DebugGL.java" todir="../build/gensrc/classes/javax/media/opengl" />
+ <copy file="${jogl.dist.dir}/jogl-linux/TraceGL.java" todir="../build/gensrc/classes/javax/media/opengl" />
+ <copy file="${jogl.dist.dir}/jogl-linux/GL.java" todir="../build/gensrc/classes/javax/media/opengl" />
+ <copy file="${jogl.dist.dir}/jogl-linux/GLU.java" todir="../build/gensrc/classes/javax/media/opengl/glu" />
+ <zip destfile="${jogl.dist.dir}/jogl-${tmp.version}-src.zip"
basedir="../.."
- includes="gluegen/LICENSE.txt,gluegen/doc/**,gluegen/make/**,gluegen/src/**,jogl/LICENSE.txt,jogl/README.txt,jogl/doc/**,jogl/make/**,jogl/src/**"
+ includes="gluegen/LICENSE.txt,gluegen/doc/**,gluegen/make/**,gluegen/src/**,jogl/LICENSE.txt,jogl/README.txt,jogl/build/gensrc/classes/javax/media/opengl/**,jogl/doc/**,jogl/make/**,jogl/src/**"
excludes="**/*.class,**/*~"
/>
+ <!-- Create zip archives suitable for developers -->
+ <!-- Unfortunately, we have to replicate the os/arch name combinations from
+ gluegen-cpptasks.xml. The reason for this is that we can't generate these
+ zip archives on the platform where the builds run; we have to run the dist
+ 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.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.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.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.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.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.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.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.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.src.so.dir" value="${jogl.dist.dir}/jogl-win/32" />
+ </antcall>
+ <!-- Create one last zip archive by hand, this one containing all of the -->
+ <!-- Java Web Start jar files (for easier redistribution) -->
+ <zip destfile="${jogl.dist.dir}/jogl-${tmp.version}-webstart.zip"
+ basedir="${jogl.dist.dir}"
+ includes="*.jar" />
</target>
<!-- unjar and re-jar the platform-independent jogl.jar with the official manifest -->