diff options
author | Kenneth Russel <[email protected]> | 2009-06-17 03:42:28 +0000 |
---|---|---|
committer | Kenneth Russel <[email protected]> | 2009-06-17 03:42:28 +0000 |
commit | 1ce689ce9383ac55c961f82903d60d1cc7b89246 (patch) | |
tree | 0faa128c7128ad3f1e9034e8ae3e48da909d8a25 | |
parent | df341ba65d01a9562b45c77768efa37cc4733084 (diff) |
Steps toward revamping the dist build. Changed individual builds to
produce the Java Web Start native library jar file,
[project]-natives-[os.and-arch].jar, and the top-level build to
produce the developer binary archive, jogl-[version]-[os.and.arch].zip,
as well as the source archive, jogl-[version]-src.zip. (This was only
possible thanks to Sven, who made all of the platforms' Java-level
binaries identical.) More work coming to simplify the dist target and
redo the associated nightly build scripts. Minor documentation updates;
more needed.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1970 232f8b59-042b-4e1e-8c03-345bb8c30851
-rwxr-xr-x | COPYRIGHT.txt | 2 | ||||
-rwxr-xr-x | LICENSE.txt | 2 | ||||
-rw-r--r-- | doc/userguide/index.html | 25 | ||||
-rwxr-xr-x | make/README-zip-bundles.txt | 6 | ||||
-rw-r--r-- | make/build-jogl.xml | 10 | ||||
-rw-r--r-- | make/build-nativewindow.xml | 6 | ||||
-rw-r--r-- | make/build-newt.xml | 6 | ||||
-rw-r--r-- | make/build.xml | 82 |
8 files changed, 123 insertions, 16 deletions
diff --git a/COPYRIGHT.txt b/COPYRIGHT.txt index 360d3748b..11a24e3d7 100755 --- a/COPYRIGHT.txt +++ b/COPYRIGHT.txt @@ -1,5 +1,5 @@ -Copyright 2007 Sun Microsystems, Inc., 4150 Network +Copyright 2003-2009 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, California 95054, U.S.A. All rights reserved. diff --git a/LICENSE.txt b/LICENSE.txt index cd35e8827..4fadc202c 100755 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,6 +1,6 @@ JOGL is released under the BSD license. The full license terms follow: - Copyright (c) 2003-2007 Sun Microsystems, Inc. All Rights Reserved. + Copyright (c) 2003-2009 Sun Microsystems, Inc. All Rights Reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are diff --git a/doc/userguide/index.html b/doc/userguide/index.html index ed314f557..233f6090a 100644 --- a/doc/userguide/index.html +++ b/doc/userguide/index.html @@ -117,9 +117,10 @@ bundles. If you are developing a new application which uses JOGL, download the zip archive for your platform (for example., jogl-[version]-windows-i586.zip) and unzip it. Modify your CLASSPATH -environment variable to include the full paths to jogl.jar and -gluegen-rt.jar; for example, -".;C:\Some\Other\Package\foo.jar;C:\Users\myhome\jogl-[version]-windows-i586\lib\jogl.jar;C:\Users\myhome\jogl-[version]-windows-i586\lib\gluegen-rt.jar". +environment variable to include the full paths to jogl.all.jar, +nativewindow.all.jar, gluegen-rt.jar, and optionally newt.all.jar; for +example, +".;C:\Some\Other\Package\foo.jar;C:\Users\myhome\jogl-[version]-windows-i586\lib\jogl.all.jar;C:\Users\myhome\jogl-[version]-windows-i586\lib\nativewindow.all.jar;C:\Users\myhome\jogl-[version]-windows-i586\lib\gluegen-rt.jar;C:\Users\myhome\jogl-[version]-windows-i586\lib\newt.all.jar". (If you did not previously set the CLASSPATH environment variable, you may want to make sure that ".", the current directory, is on your new CLASSPATH.) Modify your PATH environment variable (Windows), @@ -136,10 +137,18 @@ libraries to their current project. </P> <P> -Dropping the JOGL jar and native library into the extension directory -of the JRE is <b>strongly discouraged</b>. Doing so can cause -conflicts with third-party applications launched via Java Web Start, -and causes confusion later when upgrading the distribution. +Note that the per-platform zip archives contain many more jar files +than just the three or four mentioned above. The additional jars +illustrate how JOGL may be partitioned to achieve a smaller deployment +size, in particular on smaller devices. + +</P> +<P> + +Dropping the JOGL jars and native libraries into the extension +directory of the JRE is <b>strongly discouraged</b>. Doing so will +cause conflicts with third-party applications launched via Java Web +Start, and causes confusion later when upgrading the distribution. </P> <P> @@ -667,7 +676,7 @@ threading model, the old threading model can be used by specifying the system property <CODE>-Djogl.1thread=auto</CODE> or <CODE>-Djogl.1thread=false</CODE>. The "auto" setting is equivalent to the behavior in 1.1 b09 and before, where on ATI cards the -single-threaded mode would be used. The "false' setting is equivalent +single-threaded mode would be used. The "false" setting is equivalent to disabling the single-threaded mode. "true" is now the default setting. diff --git a/make/README-zip-bundles.txt b/make/README-zip-bundles.txt index 2e5899990..3fc9424b9 100755 --- a/make/README-zip-bundles.txt +++ b/make/README-zip-bundles.txt @@ -3,7 +3,7 @@ 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 the LICENSE.txt file. You must use this software in accordance with the terms under which the code is licensed. @@ -16,7 +16,7 @@ JOGL release for your target platform, you will see the following files in the top directory: COPYRIGHT.txt - LICENSE-JOGL-@[email protected] + LICENSE.txt Userguide.html README.txt README file (you are reading it now) @@ -42,4 +42,4 @@ JOGL source code and project information can be found at: Numerous answers to common questions can be found on the JOGL forum: - http://www.javagaming.org/forums/index.php?board=25.0 + http://www.javagaming.org/index.php/board,25.0.html diff --git a/make/build-jogl.xml b/make/build-jogl.xml index 7fbf265eb..c88bbddf7 100644 --- a/make/build-jogl.xml +++ b/make/build-jogl.xml @@ -1620,6 +1620,12 @@ <target name="c.build.jogl" depends="c.configure,c.build.jogl.prepare,c.build.jogl.gl2es12,c.build.jogl.gl2,c.build.jogl.es2,c.build.jogl.es1,c.build.jogl.cg"> <antcall target="c.manifest" inheritRefs="true" /> + <!-- Create the Java Web Start jar file for the built native code --> + <jar destfile="${build}/jogl-natives-${os.and.arch}.jar"> + <fileset dir="${obj}"> + <include name="*.${native.library.suffix}" /> + </fileset> + </jar> </target> <!-- ================================================================== --> @@ -2146,14 +2152,14 @@ </target> <target name="setup-version-RI" if="jogl.ri"> - <property name="tmp.version" value="${base_version}" /> + <property name="tmp.version" value="${jogl_base_version}" /> </target> <target name="setup-version-non-RI" unless="jogl.ri"> <tstamp> <format property="timestamp" pattern="yyyyMMdd"/> </tstamp> - <property name="tmp.version" value="${base_version}-pre-${timestamp}" /> + <property name="tmp.version" value="${jogl_base_version}-pre-${timestamp}" /> </target> <target name="dist" depends="dist.dir.check,dist.check.windows,dist.check.windows-amd64,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,setup-version-RI,setup-version-non-RI"> diff --git a/make/build-nativewindow.xml b/make/build-nativewindow.xml index d74ed7e03..f64a62694 100644 --- a/make/build-nativewindow.xml +++ b/make/build-nativewindow.xml @@ -775,6 +775,12 @@ <target name="c.build.nativewindow" depends="c.configure,c.build.nativewindow.windowlib,c.build.nativewindow.awt"> <antcall target="c.fixup.jawt.version.macosx" inheritrefs="true" /> <antcall target="c.manifest" inheritRefs="true" /> + <!-- Create the Java Web Start jar file for the built native code --> + <jar destfile="${build}/nativewindow-natives-${os.and.arch}.jar"> + <fileset dir="${obj}"> + <include name="*.${native.library.suffix}" /> + </fileset> + </jar> </target> <!-- ================================================================== --> diff --git a/make/build-newt.xml b/make/build-newt.xml index 0ca802f53..380df11d6 100644 --- a/make/build-newt.xml +++ b/make/build-newt.xml @@ -521,6 +521,12 @@ <target name="c.build.newt" depends="c.configure,c.build.newt.prepare,c.build.newt.windowlib"> <antcall target="c.manifest" inheritRefs="true" /> + <!-- Create the Java Web Start jar file for the built native code --> + <jar destfile="${build}/newt-natives-${os.and.arch}.jar"> + <fileset dir="${obj}"> + <include name="*.${native.library.suffix}" /> + </fileset> + </jar> </target> <!-- ================================================================== --> diff --git a/make/build.xml b/make/build.xml index 24bbec09a..0bf0d97a7 100644 --- a/make/build.xml +++ b/make/build.xml @@ -3,6 +3,10 @@ <import file="versions.xml" /> + <!-- Pull in GlueGen cpptasks build file to pick up os.and.arch --> + <property name="gluegen.root" value="../../gluegen" /> + <import file="${gluegen.root}/make/gluegen-cpptasks.xml" /> + <target name="init"> <property name="project.root" value=".." /> <condition property="rootrel.build" value="build"> @@ -72,7 +76,83 @@ <ant antfile="${newt.build.xml}" dir="${newt.make.dir}" target="all" inheritAll="false"/> </target> - <target name="all" description="Build nativewindow, jogl and newt projects" depends="init,build.nativewindow,build.jogl,build.newt" /> + <!-- ================================================================== --> + <!-- + - Build the per-platform binary zip archive for developers. + - This must be called after all of the build targets complete. + --> + + <target name="setup-version-RI" if="jogl.ri"> + <property name="tmp.version" value="${jogl_base_version}" /> + </target> + + <target name="setup-version-non-RI" unless="jogl.ri"> + <tstamp> + <format property="timestamp" pattern="yyyyMMdd"/> + </tstamp> + <property name="tmp.version" value="${jogl_base_version}-pre-${timestamp}" /> + </target> + + <target name="developer-zip-archive" depends="gluegen.cpptasks.detect.os,setup-version-RI,setup-version-non-RI"> + <property name="archive.name" value="jogl-${tmp.version}-${os.and.arch}" /> + <property name="archive.dir" value="${build}/${archive.name}" /> + <delete includeEmptyDirs="true" quiet="true" dir="${archive.dir}" failonerror="false" /> + <mkdir dir="${archive.dir}" /> + <!-- Copy the appropriate pieces into the archive directory --> + <copy file="../CHANGELOG.txt" todir="${archive.dir}" /> + <copy file="../COPYRIGHT.txt" todir="${archive.dir}" /> + <copy file="../LICENSE.txt" todir="${archive.dir}" /> + <copy file="../doc/userguide/index.html" tofile="${archive.dir}/Userguide.html" /> + <copy file="README-zip-bundles.txt" + tofile="${archive.dir}/README.txt" + overwrite="true"> + <filterset> + <filter token="VERSION" value="${tmp.version}"/> + </filterset> + </copy> + <mkdir dir="${archive.dir}/lib" /> + <copy file="${project.root}/../gluegen/${rootrel.build}/gluegen-rt.jar" todir="${archive.dir}/lib" /> + <copy todir="${archive.dir}/lib"> + <fileset dir="${project.root}/../gluegen/${rootrel.build}" includes="gluegen-rt.jar" /> + <fileset dir="${project.root}/../gluegen/${rootrel.build}/obj" includes="*.${native.library.suffix}" /> + <fileset dir="${build}/jogl" includes="*.jar" excludes="*natives*.jar" /> + <fileset dir="${build}/jogl/obj" includes="*.${native.library.suffix}" /> + <fileset dir="${build}/nativewindow" includes="*.jar" excludes="*natives*.jar" /> + <fileset dir="${build}/nativewindow/obj" includes="*.${native.library.suffix}" /> + <fileset dir="${build}/newt" includes="*.jar" excludes="*natives*.jar" /> + <fileset dir="${build}/newt/obj" includes="*.${native.library.suffix}" /> + </copy> + <zip destfile="${build}/${archive.name}.zip" + basedir="${build}" + includes="${archive.name}/**" /> + <!-- Clean up after ourselves --> + <delete includeEmptyDirs="true" quiet="true" dir="${archive.dir}" failonerror="false" /> + </target> + + <!-- ================================================================== --> + <!-- + - Build the source archive for developers. + - This must be called after all of the build targets complete. + --> + + <target name="source-archive" depends="setup-version-RI,setup-version-non-RI"> + <zip destfile="${build}/jogl-${tmp.version}-src.zip" + basedir="${project.root}/.." + excludes="gluegen/build/**,gluegen/build-temp/**,jogl/build/**,jogl/build-temp/**" + includes="gluegen/**, jogl/**" /> + <!-- Now add in certain portions of the generated source code for developers --> + <zip update="true" + destfile="${build}/jogl-${tmp.version}-src.zip" + basedir="${project.root}/.." + includes="jogl/build/jogl/gensrc/classes/javax/media/opengl/**" /> + </target> + + <!-- ================================================================== --> + <!-- + - Main build target. + --> + + <target name="all" description="Build nativewindow, jogl and newt projects" depends="init,build.nativewindow,build.jogl,build.newt,developer-zip-archive,source-archive" /> <target name="clean" depends="init"> <ant antfile="${nativewindow.build.xml}" dir="${nativewindow.make.dir}" target="clean" inheritAll="false"/> |