aboutsummaryrefslogtreecommitdiffstats
path: root/make/build-jogl.xml
diff options
context:
space:
mode:
Diffstat (limited to 'make/build-jogl.xml')
-rw-r--r--make/build-jogl.xml2374
1 files changed, 2374 insertions, 0 deletions
diff --git a/make/build-jogl.xml b/make/build-jogl.xml
new file mode 100644
index 000000000..e4d1daab2
--- /dev/null
+++ b/make/build-jogl.xml
@@ -0,0 +1,2374 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ - Ant build for JOGL. This build has been tested with ANT 1.7.0. The
+ - optional.jar that contains the optional ANT tasks must be in the ANT
+ - classpath (typically the ant/lib directory).
+ -
+ - A clean download of JOGL is required for this build.
+ -
+ - This build has no dependence on environment variables; the needed
+ - ones (e.g. java.home, ANT_HOME) are all set by the Ant wrapper shell
+ - script, by the virtual machine, or elsewhere. However, on all platforms,
+ - the C compiler and linker should be in the path. All other paths that
+ - need to be set are in host.properties.
+ -
+ - NOTE: because the GlueGen config files have their own relative paths
+ - which cannot be overridden by GlueGen, GlueGen MUST be run from
+ - the "make" directory. This also means that this build-jogl.xml MUST
+ - be run from the "make" directory.
+ -
+ - Public targets:
+ - all: (default; autodetects OS and chooses C compiler from jogl.properties)
+ - clean: clean all built
+ - javadoc: create the standard developer Javadoc (recommended)
+ - (Note: should build all first - may be dependence in the future)
+ - javadoc.spec: create the standard developer Javadoc but exclude com.sun.* classes
+ - javadoc.dev.all: create the internal developer Javadoc. This includes the
+ - Java and C file generators. Note that it is only supported
+ - to create the Javadoc for the platform on which you are
+ - currently running.
+ -
+ - Note: on Windows the "win32.c.compiler" property in jogl.properties
+ - is required to select the appropriate C compiler. See the example
+ - jogl.properties in this directory for valid values. On Mac OS X
+ - universal binaries may also be built by setting the "macosxfat"
+ - property in jogl.properties; again see the example file in this
+ - directory.
+ -
+ - Optional properties:
+ - -Djogl.cg=1 when combined with the build or javadoc targets will cause
+ - the experimental binding to NVidia's Cg language to be built.
+ -
+ - Thanks to Rob Grzywinski and Artur Biesiadowski for the bulk of the
+ - ANT build, including the GlueGen and StaticGLInfo tasks, the building of
+ - the Java generated sources, the first and second phase Java compiles, and
+ - the building of the jar file. Thanks to Alex Radeski for the bulk of the
+ - port to the ant-contrib CPPTask framework. Thanks to Athomas Goldberg for
+ - the original OS detection code.
+ -
+ - Some environment defs affecting compilation
+
+ setup.cdcfp - Using the CDC Java runtime library
+ - no DoubleBuffer
+ - no LongBuffer
+
+ This will set
+ -> setup.noAWT
+ -> setup.nogl2
+ -> setup.nogl3
+
+ - Internal settings, may not be necessary to set them manually,
+ since all JAR archives are orthogonal.
+ setup.noes1
+ setup.noes2
+ setup.nogl2
+ setup.nogl3
+ setup.noAWT
+ setup.noutil - no com.sun.opengl.util.*
+ setup.noX11WindowsMacOsX, which implies:
+ setup.noX11
+ setup.noWindows
+ setup.noMacOsX
+ -->
+<project name="JOGL" basedir="." default="all">
+
+ <!-- This is the version of JOGL you are building -->
+ <property name="base_version" value="1.2.0-rc1"/>
+
+ <!-- Uncomment this property definition to cause a full release build to be done -->
+ <!-- without needing to specify the RI target on the command line -->
+ <property name="RImanifestfile" value="joglRIversion" />
+
+ <!-- Pull in GlueGen cpptasks build file -->
+ <property name="gluegen.root" value="../../gluegen" />
+ <import file="${gluegen.root}/make/gluegen-cpptasks.xml" />
+
+ <available file="${user.home}/jogl.compiler.xml" property="jogl.compiler.present"/>
+ <import file="${user.home}/jogl.compiler.xml" optional="true" />
+
+ <!-- ================================================================== -->
+ <!--
+ - Base initialization and detection of operating system.
+ -->
+ <target name="base.init">
+
+ <condition property="setup.noes">
+ <and>
+ <isset property="setup.noes1"/>
+ <isset property="setup.noes2"/>
+ </and>
+ </condition>
+
+ <condition property="setup.nogl3">
+ <isset property="setup.cdcfp"/>
+ </condition>
+ <condition property="setup.nogl2">
+ <isset property="setup.cdcfp"/>
+ </condition>
+ <condition property="setup.noAWT">
+ <isset property="setup.cdcfp"/>
+ </condition>
+ <condition property="isCDCFP">
+ <isset property="setup.cdcfp"/>
+ </condition>
+ <condition property="javac.bootclasspath.jar"
+ value="../../gluegen/make/lib/cdc_fp.jar">
+ <isset property="setup.cdcfp"/>
+ </condition>
+ <echo message="setup.cdcfp: ${setup.cdcfp}" />
+ <echo message="setup.noAWT: ${setup.noAWT}" />
+ <echo message="javac.bootclasspath.jar: ${javac.bootclasspath.jar}" />
+ <echo message="setup.noes : ${setup.noes}" />
+ <echo message="setup.noes1: ${setup.noes1}" />
+ <echo message="setup.noes2: ${setup.noes2}" />
+ <echo message="setup.nogl2: ${setup.nogl2}" />
+ <echo message="setup.nogl3: ${setup.nogl3}" />
+
+ <condition property="setup.noX11WindowsMacOsX">
+ <and>
+ <isset property="setup.noX11"/>
+ <isset property="setup.noWindows"/>
+ <isset property="setup.noMacOsX"/>
+ </and>
+ </condition>
+
+ <condition property="setup.noX11">
+ <isset property="setup.noX11WindowsMacOsX"/>
+ </condition>
+
+ <condition property="setup.noWindows">
+ <isset property="setup.noX11WindowsMacOsX" />
+ </condition>
+
+ <condition property="setup.noMacOsX">
+ <isset property="setup.noX11WindowsMacOsX" />
+ </condition>
+
+ <echo message="setup.noX11WindowsMacOsX: ${setup.noX11WindowsMacOsX}" />
+ <echo message="setup.noX11: ${setup.noX11}" />
+ <echo message="setup.noWindows: ${setup.noWindows}" />
+ <echo message="setup.noMacOsX: ${setup.noMacOsX}" />
+
+ <!-- partitioning -->
+
+ <property name="java.part.egl"
+ value="com/sun/opengl/impl/egl/*"/>
+
+ <property name="java.part.glutess"
+ value="com/sun/opengl/impl/glu/tessellator/**"/>
+
+ <property name="java.part.glumipmap"
+ value="com/sun/opengl/impl/glu/mipmap/**"/>
+
+ <property name="java.part.glugl2"
+ value="com/sun/opengl/impl/glu/gl2/**, com/sun/opengl/impl/glu/nurbs/**, com/sun/opengl/impl/glu/registry/**, javax/media/opengl/glu/gl2/**"/>
+ <property name="java.part.openmax"
+ value="com/sun/openmax/**"/>
+
+ <property name="java.part.sdk"
+ value="javax/media/opengl/sdk/**"/>
+
+ <property name="java.part.gl2es12.x11"
+ value="com/sun/opengl/impl/gl2es12/**, com/sun/opengl/impl/x11/glx/*"/>
+
+ <property name="java.part.gl2es12.win"
+ value="com/sun/opengl/impl/gl2es12/**, com/sun/opengl/impl/windows/wgl/*"/>
+
+ <property name="java.part.gl2es12.osx"
+ value="com/sun/opengl/impl/gl2es12/**, com/sun/opengl/impl/macosx/cgl/*"/>
+
+ <property name="java.part.gl2es12.dbg"
+ value="javax/media/opengl/TraceGL2ES12.*, javax/media/opengl/DebugGL2ES12.*"/>
+
+ <property name="java.part.gl3"
+ value="com/sun/opengl/impl/**/gl3/**"/>
+
+ <property name="java.part.gl2.x11"
+ value="com/sun/opengl/impl/**/gl2/**, ${java.part.gl3}, com/sun/opengl/impl/x11/glx/*"/>
+
+ <property name="java.part.gl2.win"
+ value="com/sun/opengl/impl/**/gl2/**, ${java.part.gl3}, com/sun/opengl/impl/windows/wgl/*"/>
+
+ <property name="java.part.gl2.osx"
+ value="com/sun/opengl/impl/**/gl2/**, ${java.part.gl3}, com/sun/opengl/impl/macosx/cgl/*"/>
+
+ <property name="java.part.gl2.dbg"
+ value="javax/media/opengl/TraceGL2.*, javax/media/opengl/DebugGL2.*, javax/media/opengl/TraceGL3.*, javax/media/opengl/DebugGL3.*,"/>
+
+ <property name="java.part.es1"
+ value="javax/media/opengl/**/es1/**, com/sun/opengl/**/es1/**"/>
+
+ <property name="java.part.es1.dbg"
+ value="javax/media/opengl/TraceGLES1.*, javax/media/opengl/DebugGLES1.*"/>
+
+ <property name="java.part.es2"
+ value="javax/media/opengl/**/es2/**, com/sun/opengl/**/es2/**"/>
+
+ <property name="java.part.es2.dbg"
+ value="javax/media/opengl/TraceGLES2.*, javax/media/opengl/DebugGLES2.*"/>
+
+ <property name="java.part.awt"
+ value="javax/media/opengl/awt/**, com/sun/opengl/impl/**/awt/**"/>
+
+ <property name="java.part.util"
+ value="com/sun/opengl/util/*, com/sun/opengl/util/texture/**, com/sun/opengl/util/packrect/**"/>
+
+ <property name="java.part.util.awt"
+ value="com/sun/opengl/util/**/awt/**"/>
+
+ <property name="java.part.util.gl2"
+ value="com/sun/opengl/util/**/gl2/**"/>
+
+ <property name="java.part.util.glsl"
+ value="com/sun/opengl/util/glsl/*, com/sun/opengl/util/glsl/fixedfunc/*, com/sun/opengl/util/glsl/sdk/*"/>
+
+ <property name="java.part.util.fixedfuncemu"
+ value="com/sun/opengl/util/glsl/fixedfunc/impl/**"/>
+
+ <property name="java.part.util.fixedfuncemu.shadercode"
+ value="com/sun/opengl/util/glsl/fixedfunc/impl/shaders/*, com/sun/opengl/util/glsl/fixedfunc/impl/shaders/bin/**"/>
+
+ <!-- condition excludes -->
+
+ <condition property="java.excludes.egl"
+ value="${java.part.egl}">
+ <and>
+ <isset property="setup.noes1"/>
+ <isset property="setup.noes2"/>
+ </and>
+ </condition>
+
+ <condition property="java.excludes.gl3"
+ value="${java.part.gl3}">
+ <isset property="setup.nogl3"/>
+ </condition>
+
+ <condition property="java.excludes.gl2"
+ value="${java.part.gl2es12.x11}, ${java.part.gl2es12.win}, ${java.part.gl2es12.osx}, ${java.part.gl2es12.dbg}, ${java.part.gl2.x11}, ${java.part.gl2.win}, ${java.part.gl2.osx}, ${java.part.gl2.dbg}, ${java.part.util.gl2}, ${java.part.glugl2}">
+ <isset property="setup.nogl2"/>
+ </condition>
+
+ <condition property="java.excludes.es1"
+ value="${java.part.es1}, ${java.part.es1.dbg}">
+ <isset property="setup.noes1"/>
+ </condition>
+
+ <condition property="java.excludes.es2"
+ value="${java.part.es2}, ${java.part.es2.dbg}">
+ <isset property="setup.noes2"/>
+ </condition>
+
+ <condition property="java.excludes.awt"
+ value="${java.part.awt}, ${java.part.util.awt}">
+ <isset property="setup.noAWT"/>
+ </condition>
+
+ <condition property="java.excludes.util"
+ value="${java.part.util} ${java.part.util.awt} ${java.part.util.gl2}">
+ <isset property="setup.noutil"/>
+ </condition>
+
+ <condition property="java.excludes.x11"
+ value="${java.part.x11}">
+ <isset property="setup.noX11"/>
+ </condition>
+
+ <condition property="java.excludes.win"
+ value="${java.part.win}">
+ <isset property="setup.noWindows"/>
+ </condition>
+
+ <condition property="java.excludes.macosx"
+ value="${java.part.macosx}">
+ <isset property="setup.noMacOsX"/>
+ </condition>
+
+ <condition property="java.excludes.cdcfp"
+ value="com/sun/opengl/util/AWTAnimatorImpl*, com/sun/opengl/util/TGAWriter*, com/sun/opengl/util/texture/spi/awt/**">
+ <isset property="setup.cdcfp"/>
+ </condition>
+
+ <property name="java.excludes.javadoc.packagenames"
+ value="com.sun.opengl.impl.gl2.fixme.*,com.sun.javafx.audio.windows.waveout.TestSpatialization"/>
+
+ <property name="java.excludes.fixme"
+ value="com/sun/opengl/impl/gl2/fixme/** com/sun/javafx/audio/windows/waveout/TestSpatialization.java" />
+
+ <property name="java.excludes.all" value="${java.excludes.fixme} ${java.excludes.egl}, ${java.excludes.gl2}, ${java.excludes.gl3}, ${java.excludes.es1}, ${java.excludes.es2}, ${java.excludes.awt}, ${java.excludes.glugl2}, ${java.excludes.util}, ${java.excludes.x11}, ${java.excludes.win}, ${java.excludes.macosx}, ${java.excludes.cdcfp}" />
+ <echo message="java.excludes.all: ${java.excludes.all}" />
+
+
+ <!-- Set the project root directory to be up one directory. -->
+ <property name="project.root" value=".." />
+
+ <!-- Set the configuration and build files to this directory. -->
+ <property name="make" value="." />
+ </target>
+
+ <target name="base.init.sourcelevel.1">
+ <property name="jogl.sourcelevel" value="1.4" />
+ </target>
+
+ <!--target name="base.init.sourcelevel.2" if="gluegen.nsig">
+ <property name="jogl.sourcelevel" value="1.5" />
+ </target-->
+
+ <!-- ================================================================== -->
+ <!--
+ - Load user properties which override build defaults.
+ -->
+ <target name="load.user.properties" depends="base.init,base.init.sourcelevel.1" unless="user.properties.file">
+ <!-- Load the user specified properties file that defines various host
+ - specific paths. The user will be notified if this is does not
+ - exist. -->
+ <property name="user.properties.file" value="${user.home}/jogl.properties" />
+ <property file="${user.properties.file}" />
+ <echo message="Loaded ${user.properties.file}." />
+ <property file="${user.home}/gluegen.properties" />
+ <echo message="Loaded ${user.home}/gluegen.properties." />
+ <fail message="antlr.jar was not specified in jogl.properties or gluegen.properties. Please see README.txt for instructions" unless="antlr.jar"/>
+ <echo message="antlr.jar=${antlr.jar}" />
+ </target>
+
+ <!-- ================================================================== -->
+ <!--
+ - Declare all paths and user defined variables.
+ -->
+ <target name="declare.common" description="Declare properties" depends="load.user.properties">
+ <!-- The location and name of the configuration ANT file that will
+ - validate to ensure that all user-define variables are set. -->
+ <property name="validate.user.properties" value="${make}/validate-properties.xml" />
+
+ <!-- NOTE: the value of the debug and optimise attributes will not be overridden if already set externally -->
+ <property name="javacdebug" value="true" />
+ <property name="javacdebuglevel" value="source,lines" />
+ <!-- property name="javac.memorymax" value="128m" /--> <!-- I ran out of memory with these .. linux x86_64 6u14 -->
+ <property name="javac.memorymax" value="512m" />
+
+ <!-- Names of directories relative to the project root.
+ Some of these are used in FileMappers later for dependence information
+ and need exact string matching, which is why they use file.separator
+ instead of "/". -->
+ <condition property="rootrel.build" value="build">
+ <not>
+ <isset property="rootrel.build"/>
+ </not>
+ </condition>
+ <property name="rootrel.build.jogl" value="${rootrel.build}/jogl" />
+ <property name="rootrel.src.java" value="src/jogl/classes" />
+ <property name="rootrel.src.c" value="src/jogl/native" />
+ <property name="rootrel.src.c.openmax" value="src/jogl/native/openmax" />
+
+ <property name="rootrel.src.generated" value="${rootrel.build.jogl}/gensrc" />
+ <property name="rootrel.generated.c.jogl" value="${rootrel.src.generated}/native/jogl" />
+ <property name="rootrel.generated.c.cg" value="${rootrel.src.generated}/native/jogl_cg" />
+ <property name="rootrel.obj" value="${rootrel.build.jogl}/obj" />
+ <property name="rootrel.obj.jogl" value="${rootrel.obj}/jogl" />
+ <property name="rootrel.obj.cg" value="${rootrel.obj}/jogl_cg" />
+
+ <!-- GlueGen properties. -->
+ <!-- NOTE that these require a checked-out GlueGen workspace as a -->
+ <!-- sibling of the JOGL workspace. -->
+ <property name="gluegen.make.dir" value="../../gluegen/make" />
+ <property name="gluegen.build.xml" value="${gluegen.make.dir}/build.xml" />
+ <property name="gluegen.jar" value="../../gluegen/${rootrel.build}/gluegen.jar" />
+ <property name="gluegen-rt.jar" value="../../gluegen/${rootrel.build}/gluegen-rt.jar" />
+ <property name="nativewindow.all.jar" value="../${rootrel.build}/nativewindow/nativewindow.all.jar" />
+
+ <!-- The source directories. -->
+ <property name="src.java" value="${project.root}/${rootrel.src.java}" />
+ <property name="src.c" value="${project.root}/${rootrel.src.c}" />
+ <property name="build" value="${project.root}/${rootrel.build.jogl}" />
+ <property name="tempdir" value="${project.root}/build-temp" />
+
+ <!-- The generated source directories. -->
+ <property name="src.generated" value="${build}/gensrc" />
+ <property name="src.generated.java" value="${src.generated}/classes" />
+ <property name="src.generated.java.cg" value="${src.generated}/classes/com/sun/opengl/cg" />
+ <property name="src.generated.c" value="${src.generated}/native/jogl" />
+ <property name="src.generated.c.openmax" value="${src.generated}/native/openmax" />
+ <property name="src.generated.c.cg" value="${src.generated}/native/jogl_cg" />
+
+ <!-- The compiler output directories. -->
+ <property name="classes" value="${build}/classes" />
+ <property name="obj" value="${project.root}/${rootrel.obj}" />
+ <property name="obj.jogl" value="${project.root}/${rootrel.obj.jogl}" />
+ <property name="obj.cg" value="${project.root}/${rootrel.obj.cg}" />
+
+ <!-- The GL headers from which Java files are generated -->
+ <property name="config" value="${make}/config/jogl" />
+ <property name="stub.includes" value="${make}/stub_includes" />
+ <property name="stub.includes.dir" value="stub_includes" /> <!-- NOTE: this MUST be relative for FileSet -->
+ <property name="stub.includes.opengl" value="${stub.includes}/opengl" />
+ <property name="stub.includes.common" value="${stub.includes}/common" />
+ <dirset id="stub.includes.fileset.all.gl2" dir=".">
+ <include name="${stub.includes.dir}/opengl/**" />
+ <include name="${stub.includes.dir}/macosx/**" />
+ <include name="${stub.includes.dir}/win32/**" />
+ <include name="${stub.includes.dir}/x11/**" />
+ <include name="${stub.includes.dir}/common/**" />
+ <include name="${stub.includes.dir}/jni/**" />
+ </dirset>
+ <fileset id="stub.includes.dependencies.fileset.1" dir="${stub.includes.dir}">
+ <include name="opengl/**" />
+ <include name="macosx/**" />
+ <include name="win32/**" />
+ <include name="x11/**" />
+ <include name="common/**" />
+ <include name="jni/**" />
+ </fileset>
+ <fileset id="stub.includes.dependencies.fileset.2" file="${gluegen.jar}" />
+ <fileset id="stub.includes.dependencies.fileset.3" dir="${config}">
+ <include name="*.cfg" />
+ <include name="gl*.java" />
+ <include name="*.c" />
+ <exclude name="cg-common.cfg" />
+ </fileset>
+ <dirset id="stub.includes.cg.fileset.all" dir=".">
+ <include name="${stub.includes.dir}/opengl/**" />
+ <include name="${stub.includes.dir}/cg/**" />
+ <include name="${stub.includes.dir}/macosx/**" />
+ <include name="${stub.includes.dir}/win32/**" />
+ <include name="${stub.includes.dir}/x11/**" />
+ <include name="${stub.includes.dir}/common/**" />
+ </dirset>
+ <fileset id="stub.includes.cg.dependencies.fileset" dir=".">
+ <include name="${stub.includes.dir}/cg/**" />
+ <include name="${config}/cg-common.cfg" />
+ <include name="${config}/cg-common-CustomJavaCode.java" />
+ </fileset>
+
+ <!-- Create the classpath that includes GlueGen and
+ - ANTLR. This requires the user-defined "antlr.jar"
+ - property. -->
+ <path id="gluegen.classpath">
+ <pathelement location="${gluegen.jar}" />
+ <pathelement location="${antlr.jar}" />
+ </path>
+
+ <path id="nativewindow_gluegen.classpath">
+ <pathelement location="${nativewindow.all.jar}" />
+ <pathelement location="${gluegen-rt.jar}" />
+ </path>
+
+ <!-- Create the classpath that includes GlueGen and
+ - the current classes for building the composable pipelines.
+ -->
+ <path id="pipeline.classpath">
+ <pathelement location="${gluegen.jar}" />
+ <pathelement location="${classes}" />
+ </path>
+
+ <!-- The resulting jogl.jar. -->
+ <property name="jogl.core.jar" value="${build}/jogl.core.jar" />
+ <property name="jogl.gles1.jar" value="${build}/jogl.gles1.jar" />
+ <property name="jogl.gles1.dbg.jar" value="${build}/jogl.gles1.dbg.jar" />
+ <property name="jogl.gles2.jar" value="${build}/jogl.gles2.jar" />
+ <property name="jogl.gles2.dbg.jar" value="${build}/jogl.gles2.dbg.jar" />
+ <property name="jogl.egl.jar" value="${build}/jogl.egl.jar" />
+ <property name="jogl.glutess.jar" value="${build}/jogl.glu.tess.jar" />
+ <property name="jogl.glumipmap.jar" value="${build}/jogl.glu.mipmap.jar" />
+ <property name="jogl.glugl2.jar" value="${build}/jogl.glu.gl2.jar" />
+ <property name="jogl.gl2es12.x11.jar" value="${build}/jogl.gl2es12.x11.jar" />
+ <property name="jogl.gl2es12.win.jar" value="${build}/jogl.gl2es12.win.jar" />
+ <property name="jogl.gl2es12.osx.jar" value="${build}/jogl.gl2es12.osx.jar" />
+ <property name="jogl.gl2es12.dbg.jar" value="${build}/jogl.gl2es12.dbg.jar" />
+ <property name="jogl.gl2.x11.jar" value="${build}/jogl.gl2.x11.jar" />
+ <property name="jogl.gl2.win.jar" value="${build}/jogl.gl2.win.jar" />
+ <property name="jogl.gl2.osx.jar" value="${build}/jogl.gl2.osx.jar" />
+ <property name="jogl.gl2.dbg.jar" value="${build}/jogl.gl2.dbg.jar" />
+ <property name="jogl.awt.jar" value="${build}/jogl.awt.jar" />
+ <property name="jogl.util.jar" value="${build}/jogl.util.jar" />
+ <property name="jogl.util.gl2.jar" value="${build}/jogl.util.gl2.jar" />
+ <property name="jogl.util.awt.jar" value="${build}/jogl.util.awt.jar" />
+ <property name="jogl.util.fixedfuncemu.jar" value="${build}/jogl.util.fixedfuncemu.jar" />
+ <property name="jogl.sdk.jar" value="${build}/jogl.sdk.jar" />
+ <property name="jogl.all.jar" value="${build}/jogl.all.jar" />
+
+ <!-- The javadoc dirs. -->
+ <property name="javadoc" value="${project.root}/javadoc_jogl_public" />
+ <property name="javadoc.spec" value="${project.root}/javadoc_jogl_spec" />
+ <property name="javadoc.dev" value="${project.root}/javadoc_jogl_dev" />
+ <property name="javadoc.link" value="http://java.sun.com/j2se/1.4.2/docs/api/" />
+ <property name="javadoc.windowtitle" value="JOGL API -- JSR-231 ${base_version} Specification" />
+ <property name="javadoc.overview" value="doc/jogl/spec-overview.html" />
+ <property name="javadoc.spec.packagenames" value="javax.media.opengl.*" />
+
+ <property name="javadoc.packagenames" value="${javadoc.spec.packagenames},com.sun.opengl.util.*" />
+
+ <property name="javadoc.dev.packagenames" value="${javadoc.packagenames},com.sun.opengl.impl.*,com.sun.gluegen,com.sun.gluegen.runtime" />
+ <property name="javadoc.bottom" value="Copyright 2005 Sun Microsystems, Inc. All rights reserved. Use is subject to &lt;a href=&quot;http://jcp.org/en/jsr/detail?id=231&quot;&gt;license terms&lt;/a&gt;." />
+ </target>
+
+ <target name="declare.gl.gles1" unless="setup.noes1">
+ <property name="gles1.headers" value="${stub.includes.dir}/opengl/GLES/*.h" /> <!-- NOTE: this MUST be relative for FileSet --> <!-- CHECK: this may need to be pruned for each platform -->
+ </target>
+
+ <target name="declare.gl.gles2" unless="setup.noes2">
+ <property name="gles2.headers" value="${stub.includes.dir}/opengl/GLES2/*.h" /> <!-- NOTE: this MUST be relative for FileSet --> <!-- CHECK: this may need to be pruned for each platform -->
+ </target>
+
+ <target name="declare.gl.gles" unless="setup.noes" depends="declare.gl.gles1, declare.gl.gles2">
+ <!-- Prepare to build the EGL interface -->
+ <property name="window.es.cfg" value="${config}/egl.cfg" />
+ <property name="window.es.ext.cfg" value="${config}/eglext.cfg" />
+ <property name="window.es.system" value="egl"/>
+ </target>
+
+ <target name="declare.gl.gl2" unless="setup.nogl2">
+ <property name="gl2.headers" value="${stub.includes.dir}/opengl/GL/*.h" /> <!-- NOTE: this MUST be relative for FileSet --> <!-- CHECK: this may need to be pruned for each platform -->
+ </target>
+
+ <!-- Declarations that have to come after both the common setup and the GLES tests -->
+ <target name="declare.common.2">
+ </target>
+
+ <!-- ================================================================== -->
+ <!--
+ - Initialize all parameters required for the build and create any
+ - required directories.
+ -->
+ <target name="init" depends="declare.common, declare.gl.gles, declare.gl.gl2, declare.common.2">
+ <!-- Call the external config validator script to make sure the config is ok and consistent -->
+ <ant antfile="${validate.user.properties}" inheritall="true"/>
+
+ <!-- Create the required output directories. -->
+ <mkdir dir="${src.generated.java}" />
+ <mkdir dir="${src.generated.c}" />
+ <mkdir dir="${src.generated.c}/MacOSX" />
+ <mkdir dir="${src.generated.c}/Windows" />
+ <mkdir dir="${src.generated.c}/X11" />
+ <mkdir dir="${src.generated.c.openmax}" />
+ <mkdir dir="${classes}" />
+ <mkdir dir="${obj}" />
+ <mkdir dir="${obj.jogl}" />
+ <mkdir dir="${obj.cg}" />
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- GlueGen and BuildStaticGLInfo creation, task setup and Java file generation -->
+ <!--
+ - Build GlueGen
+ -->
+ <target name="build.gluegen" depends="init">
+ <!-- Run the GlueGen build to ensure that the GlueGen ANT task
+ - has been built. -->
+ <!-- FIXME: remove passing down of antlr.jar when gluegen.properties is on all
+ nightly build machines -->
+ <ant antfile="${gluegen.build.xml}" dir="${gluegen.make.dir}" target="all" inheritAll="false">
+ <propertyset>
+ <propertyref name="antlr.jar" />
+ <!--propertyref name="gluegen.nsig" /-->
+ <propertyref name="isCDCFP" />
+ </propertyset>
+ </ant>
+ </target>
+
+ <!--
+ - Check to see whether we need to rebuild the generated sources.
+ -->
+ <target name="java.generate.check">
+ <!-- Blow away all target files if any dependencies are violated
+ (the uptodate task doesn't allow arbitrary source and target filesets but should) -->
+ <!--
+ <dependset>
+ <srcfileset refid="stub.includes.dependencies.fileset.1" />
+ <srcfileset refid="stub.includes.dependencies.fileset.2" />
+ <srcfileset refid="stub.includes.dependencies.fileset.3" />
+ <targetfileset dir="${src.generated}">
+ <include name="**/*.java" />
+ <include name="**/*.c" />
+ </targetfileset>
+ </dependset>
+ -->
+
+ <!-- Now check for the presence of one well-known file -->
+ <uptodate property="java.generate.skip.es1"
+ targetfile="${src.generated.java}/javax/media/opengl/GLES1.java">
+ <srcfiles refid="stub.includes.dependencies.fileset.1" />
+ <srcfiles refid="stub.includes.dependencies.fileset.2" />
+ <srcfiles refid="stub.includes.dependencies.fileset.3" />
+ </uptodate>
+ <uptodate property="java.generate.skip.es2"
+ targetfile="${src.generated.java}/javax/media/opengl/GLES2.java">
+ <srcfiles refid="stub.includes.dependencies.fileset.1" />
+ <srcfiles refid="stub.includes.dependencies.fileset.2" />
+ <srcfiles refid="stub.includes.dependencies.fileset.3" />
+ </uptodate>
+ <uptodate property="java.generate.skip.gl2"
+ targetfile="${src.generated.java}/javax/media/opengl/GL2.java">
+ <srcfiles refid="stub.includes.dependencies.fileset.1" />
+ <srcfiles refid="stub.includes.dependencies.fileset.2" />
+ <srcfiles refid="stub.includes.dependencies.fileset.3" />
+ </uptodate>
+ <uptodate property="java.generate.skip.glu"
+ targetfile="${src.generated.java}/javax/media/opengl/glu/GLU.java">
+ <srcfiles refid="stub.includes.dependencies.fileset.1" />
+ <srcfiles refid="stub.includes.dependencies.fileset.2" />
+ <srcfiles refid="stub.includes.dependencies.fileset.3" />
+ </uptodate>
+
+ <condition property="java.generate.skip">
+ <and>
+ <isset property="java.generate.skip.es1"/>
+ <isset property="java.generate.skip.es2"/>
+ <!--isset property="java.generate.skip.gl2"/-->
+ <isset property="java.generate.skip.glu"/>
+ </and>
+ </condition>
+
+ <!--property name="java.generate.skip" value="true"/-->
+ </target>
+
+ <target name="java.generate.cleantemp">
+ <delete includeEmptyDirs="true" quiet="true">
+ <fileset dir="${tempdir}/gensrc" />
+ </delete>
+ </target>
+
+ <target name="java.generate.copy2temp">
+ <copy todir="${tempdir}">
+ <fileset dir="../${rootrel.build.jogl}"
+ includes="gensrc/classes/**" />
+ </copy>
+ </target>
+
+ <target name="java.generate.gl_if">
+ <echo message="Generating GL interface" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
+ <gluegen src="${stub.includes.opengl}/gles2.c"
+ outputRootDir="../${rootrel.build.jogl}"
+ config="${config}/gl-if-gl.cfg"
+ includeRefid="stub.includes.fileset.all.gl2"
+ emitter="com.sun.gluegen.opengl.GLEmitter">
+ <classpath refid="gluegen.classpath" />
+ </gluegen>
+ </target>
+
+ <target name="java.generate.gl2_es1_if">
+ <echo message="Generating GL2_ES1 interface" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
+ <gluegen src="${stub.includes.opengl}/gles1.c"
+ outputRootDir="../${rootrel.build.jogl}"
+ config="${config}/gl-if-gl2_es1.cfg"
+ includeRefid="stub.includes.fileset.all.gl2"
+ emitter="com.sun.gluegen.opengl.GLEmitter">
+ <classpath refid="gluegen.classpath" />
+ </gluegen>
+ </target>
+
+ <target name="java.generate.gl2_es2_if">
+ <echo message="Generating GL2_ES2 interface" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
+ <gluegen src="${stub.includes.opengl}/gles2.c"
+ outputRootDir="../${rootrel.build.jogl}"
+ config="${config}/gl-if-gl2_es2.cfg"
+ includeRefid="stub.includes.fileset.all.gl2"
+ emitter="com.sun.gluegen.opengl.GLEmitter">
+ <classpath refid="gluegen.classpath" />
+ </gluegen>
+ </target>
+
+ <target name="java.generate.gl2">
+ <echo message="Generating GL2 interface and implementation" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
+ <gluegen src="${stub.includes.opengl}/gl2.c"
+ outputRootDir="../${rootrel.build.jogl}"
+ config="${config}/gl-gl2.cfg"
+ includeRefid="stub.includes.fileset.all.gl2"
+ emitter="com.sun.gluegen.opengl.GLEmitter">
+ <classpath refid="gluegen.classpath" />
+ </gluegen>
+ </target>
+
+ <target name="java.generate.gl3">
+ <echo message="Generating GL3 interface and implementation" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
+ <gluegen src="${stub.includes.opengl}/gl3.c"
+ outputRootDir="../${rootrel.build.jogl}"
+ config="${config}/gl-gl3.cfg"
+ includeRefid="stub.includes.fileset.all.gl2"
+ emitter="com.sun.gluegen.opengl.GLEmitter">
+ <classpath refid="gluegen.classpath" />
+ </gluegen>
+ </target>
+
+ <target name="java.generate.gl2es12">
+ <echo message="Generating GL2ES12 interface and implementation" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
+ <gluegen src="${stub.includes.opengl}/gl2.c"
+ outputRootDir="../${rootrel.build.jogl}"
+ config="${config}/gl-gl2es12.cfg"
+ includeRefid="stub.includes.fileset.all.gl2"
+ emitter="com.sun.gluegen.opengl.GLEmitter">
+ <classpath refid="gluegen.classpath" />
+ </gluegen>
+ </target>
+
+ <target name="java.generate.gles1">
+ <echo message="Generating GLES1 interface and implementation" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
+ <gluegen src="${stub.includes.opengl}/gles1.c"
+ outputRootDir="../${rootrel.build.jogl}"
+ config="${config}/gl-es1.cfg"
+ includeRefid="stub.includes.fileset.all.gl2"
+ emitter="com.sun.gluegen.opengl.GLEmitter">
+ <classpath refid="gluegen.classpath" />
+ </gluegen>
+ </target>
+
+ <target name="java.generate.gles2">
+ <echo message="Generating GLES2 interface and implementation" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
+ <gluegen src="${stub.includes.opengl}/gles2.c"
+ outputRootDir="../${rootrel.build.jogl}"
+ config="${config}/gl-es2.cfg"
+ includeRefid="stub.includes.fileset.all.gl2"
+ emitter="com.sun.gluegen.opengl.GLEmitter">
+ <classpath refid="gluegen.classpath" />
+ </gluegen>
+ </target>
+
+ <target name="java.generate.gl.all" depends="java.generate.gl_if, java.generate.gl2_es1_if, java.generate.gl2_es2_if, java.generate.gl2, java.generate.gl3, java.generate.gl2es12, java.generate.gles1, java.generate.gles2"/>
+
+ <!-- target name="java.generate.gl.nsig" if="gluegen.nsig">
+ <echo message="Generating GL interface and implementation" />
+ <gluegen src="${gl.c}"
+ config="${gl.cfg.nsig}"
+ includeRefid="stub.includes.fileset.all.gl2"
+ emitter="com.sun.gluegen.nativesig.NativeSignatureEmitter">
+ <classpath refid="gluegen.classpath" />
+ </gluegen>
+ </target> -->
+
+ <target name="java.generate.glu.base">
+ <echo message="Generating GLU class" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
+ <gluegen src="${stub.includes.opengl}/glu.c"
+ outputRootDir="../${rootrel.build.jogl}"
+ config="${config}/glu-base.cfg"
+ includeRefid="stub.includes.fileset.all.gl2"
+ emitter="com.sun.gluegen.opengl.GLEmitter">
+ <classpath refid="gluegen.classpath" />
+ </gluegen>
+ </target>
+
+ <target name="java.generate.glu.GL2ES1">
+ <echo message="Generating GLU class" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
+ <gluegen src="${stub.includes.opengl}/glu.c"
+ outputRootDir="../${rootrel.build.jogl}"
+ config="${config}/glu-gl2es1.cfg"
+ includeRefid="stub.includes.fileset.all.gl2"
+ emitter="com.sun.gluegen.opengl.GLEmitter">
+ <classpath refid="gluegen.classpath" />
+ </gluegen>
+ </target>
+
+ <target name="java.generate.glu.GL2" unless="setup.nogl2">
+ <echo message="Generating GLU class" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
+ <gluegen src="${stub.includes.opengl}/glu.c"
+ outputRootDir="../${rootrel.build.jogl}"
+ config="${config}/glu-gl2.cfg"
+ includeRefid="stub.includes.fileset.all.gl2"
+ emitter="com.sun.gluegen.opengl.GLEmitter">
+ <classpath refid="gluegen.classpath" />
+ </gluegen>
+ </target>
+
+ <target name="java.generate.platform.glext" unless="setup.nogl2">
+ <echo message="Generating platform-specific OpenGL extension class" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
+ <gluegen src="${glext.platform.header}"
+ outputRootDir="../${rootrel.build.jogl}"
+ config="${glext.platform.cfg}"
+ includeRefid="stub.includes.fileset.all.gl2"
+ emitter="com.sun.gluegen.opengl.GLEmitter">
+ <classpath refid="gluegen.classpath" />
+ </gluegen>
+ </target>
+
+ <target name="java.generate.window.system.es" if="window.es.cfg" unless="setup.noes">
+ <echo message="Generating EGL implementation class" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
+ <dirset id="stub.includes.fileset.platform" dir="." includes="${stub.includes.dir}/${window.es.system}/** ${stub.includes.dir}/common/**" />
+ <gluegen src="${stub.includes.dir}/${window.es.system}/window-system.c"
+ outputRootDir="../${rootrel.build.jogl}"
+ config="${window.es.cfg}"
+ includeRefid="stub.includes.fileset.platform"
+ emitter="com.sun.gluegen.opengl.GLEmitter">
+ <classpath refid="gluegen.classpath" />
+ </gluegen>
+ </target>
+
+ <target name="java.generate.window.system.es.ext" if="window.es.ext.cfg" unless="setup.noes">
+ <echo message="Generating EGLExt implementation class" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
+ <dirset id="stub.includes.fileset.platform" dir="." includes="${stub.includes.dir}/${window.es.system}/** ${stub.includes.dir}/common/**" />
+ <gluegen src="${stub.includes.dir}/${window.es.system}/window-system-ext.c"
+ outputRootDir="../${rootrel.build.jogl}"
+ config="${window.es.ext.cfg}"
+ includeRefid="stub.includes.fileset.platform"
+ emitter="com.sun.gluegen.opengl.GLEmitter">
+ <classpath refid="gluegen.classpath" />
+ </gluegen>
+ </target>
+
+ <target name="java.generate.window.system.os" if="window.os.cfg" unless="setup.nogl2">
+ <echo message="Generating WGL/GLX/CGL/EGL implementation class" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
+ <gluegen src="${stub.includes.dir}/${window.os.system}/window-system.c"
+ outputRootDir="../${rootrel.build.jogl}"
+ config="${window.os.cfg}"
+ includeRefid="stub.includes.fileset.platform"
+ emitter="com.sun.gluegen.opengl.GLEmitter">
+ <classpath refid="gluegen.classpath" />
+ </gluegen>
+ </target>
+
+ <target name="java.generate.SystemUtil.javame_cdc_fp" if="setup.cdcfp">
+ <copy file="../src/jogl/classes/com/sun/opengl/impl/SystemUtil.java.javame_cdc_fp" tofile="../${rootrel.build.jogl}/gensrc/classes/com/sun/opengl/impl/SystemUtil.java" />
+ </target>
+
+ <target name="java.generate.SystemUtil.javase" unless="setup.cdcfp">
+ <copy file="../src/jogl/classes/com/sun/opengl/impl/SystemUtil.java.javase" tofile="../${rootrel.build.jogl}/gensrc/classes/com/sun/opengl/impl/SystemUtil.java" />
+ </target>
+
+ <!-- Generate the SystemUtil class for this particular profile -->
+ <target name="java.generate.SystemUtil" depends="java.generate.SystemUtil.javase, java.generate.SystemUtil.javame_cdc_fp" />
+
+ <target name="java.generate.BufferUtil.javame_cdc_fp" if="setup.cdcfp">
+ <copy file="../src/jogl/classes/com/sun/opengl/util/BufferUtil.java.javame_cdc_fp" tofile="../${rootrel.build.jogl}/gensrc/classes/com/sun/opengl/util/BufferUtil.java" />
+ <copy file="../src/jogl/classes/com/sun/opengl/impl/InternalBufferUtil.java.javame_cdc_fp" tofile="../${rootrel.build.jogl}/gensrc/classes/com/sun/opengl/impl/InternalBufferUtil.java" />
+ </target>
+
+ <target name="java.generate.BufferUtil.javase" unless="setup.cdcfp">
+ <copy file="../src/jogl/classes/com/sun/opengl/util/BufferUtil.java.javase" tofile="../${rootrel.build.jogl}/gensrc/classes/com/sun/opengl/util/BufferUtil.java" />
+ <copy file="../src/jogl/classes/com/sun/opengl/impl/InternalBufferUtil.java.javase" tofile="../${rootrel.build.jogl}/gensrc/classes/com/sun/opengl/impl/InternalBufferUtil.java" />
+ </target>
+
+ <!-- Generate the BufferUtil classes for this particular profile -->
+ <target name="java.generate.BufferUtil" depends="java.generate.BufferUtil.javase, java.generate.BufferUtil.javame_cdc_fp" />
+
+ <target name="java.generate.TextureIO.javame_cdc_fp" if="setup.cdcfp">
+ <copy file="../src/jogl/classes/com/sun/opengl/util/texture/TextureIO.java.javame_cdc_fp" tofile="../${rootrel.build.jogl}/gensrc/classes/com/sun/opengl/util/texture/TextureIO.java" />
+ <copy file="../src/jogl/classes/com/sun/opengl/util/texture/spi/DDSImage.java.javame_cdc_fp" tofile="../${rootrel.build.jogl}/gensrc/classes/com/sun/opengl/util/texture/spi/DDSImage.java" />
+ <copy file="../src/jogl/classes/com/sun/opengl/util/texture/spi/TGAImage.java.javame_cdc_fp" tofile="../${rootrel.build.jogl}/gensrc/classes/com/sun/opengl/util/texture/spi/TGAImage.java" />
+ </target>
+
+ <target name="java.generate.TextureIO.javase" unless="setup.cdcfp">
+ <!-- For debugging -->
+<!--
+ <copy file="../src/jogl/classes/com/sun/opengl/util/texture/TextureIO.java.javame_cdc_fp" tofile="../${rootrel.build.jogl}/gensrc/classes/com/sun/opengl/util/texture/TextureIO.java" />
+ <copy file="../src/jogl/classes/com/sun/opengl/util/texture/spi/DDSImage.java.javame_cdc_fp" tofile="../${rootrel.build.jogl}/gensrc/classes/com/sun/opengl/util/texture/spi/DDSImage.java" />
+ <copy file="../src/jogl/classes/com/sun/opengl/util/texture/spi/TGAImage.java.javame_cdc_fp" tofile="../${rootrel.build.jogl}/gensrc/classes/com/sun/opengl/util/texture/spi/TGAImage.java" />
+-->
+
+ <copy file="../src/jogl/classes/com/sun/opengl/util/texture/TextureIO.java.javase" tofile="../${rootrel.build.jogl}/gensrc/classes/com/sun/opengl/util/texture/TextureIO.java" />
+ <copy file="../src/jogl/classes/com/sun/opengl/util/texture/spi/DDSImage.java.javase" tofile="../${rootrel.build.jogl}/gensrc/classes/com/sun/opengl/util/texture/spi/DDSImage.java" />
+ <copy file="../src/jogl/classes/com/sun/opengl/util/texture/spi/TGAImage.java.javase" tofile="../${rootrel.build.jogl}/gensrc/classes/com/sun/opengl/util/texture/spi/TGAImage.java" />
+
+ </target>
+
+ <!-- Generate the TextureIO classes for this particular profile -->
+ <target name="java.generate.TextureIO" depends="java.generate.TextureIO.javase, java.generate.TextureIO.javame_cdc_fp" />
+
+ <target name="java.generate.gl.platforms" >
+ <dirset id="stub.includes.fileset.platform" dir="." includes="${stub.includes.dir}/${window.os.system}/** ${stub.includes.dir}/${window.es.system}/** ${stub.includes.dir}/common/** ${stub.includes.dir}/opengl/**" />
+
+ <antcall target="java.generate.window.system.os" inheritRefs="true" />
+ <antcall target="java.generate.platform.glext" inheritRefs="true" />
+ </target>
+
+ <!--
+ - Setup the generating ANT tasks and use it to generate the Java files
+ - from the C GL headers. This involves setting the taskdef and creating
+ - the classpath reference id then running the task on each header.
+ -->
+ <target name="java.generate" depends="build.gluegen, java.generate.SystemUtil, java.generate.BufferUtil, java.generate.TextureIO, java.generate.check" unless="java.generate.skip">
+
+ <!-- Add the GlueGen and BuildStaticGLInfo tasks to ANT -->
+ <taskdef name="gluegen" classname="com.sun.gluegen.ant.GlueGenTask"
+ classpathref="gluegen.classpath" />
+ <taskdef name="staticglgen" classname="com.sun.gluegen.ant.StaticGLGenTask"
+ classpathref="gluegen.classpath" />
+
+ <!-- Use the GlueGen and BuildStaticGLInfo tasks to generate the
+ - Java files -->
+
+ <echo message="Generating GL interface and implementation" />
+ <antcall target="java.generate.gl.all" inheritRefs="true" />
+ <!--antcall target="java.generate.gl.nsig" inheritRefs="true" /-->
+
+ <antcall target="java.generate.window.system.es" inheritRefs="true" />
+ <antcall target="java.generate.window.system.es.ext" inheritRefs="true" />
+
+ <echo message="Generating platform-specifics: X11" />
+ <antcall target="java.generate.gl.platforms" inheritRefs="true">
+ <param name="window.os.system" value="x11"/>
+ <param name="window.os.cfg" value="${config}/glx-x11.cfg" />
+ <param name="glext.platform.cfg" value="${config}/glxext.cfg" />
+ <param name="glext.platform.header" value="${stub.includes.dir}/x11/glxext.c" />
+ </antcall>
+
+ <echo message="Generating platform-specifics: Win32" />
+ <antcall target="java.generate.gl.platforms" inheritRefs="true">
+ <param name="window.os.system" value="win32"/>
+ <param name="window.os.cfg" value="${config}/wgl-win32.cfg" />
+ <param name="glext.platform.cfg" value="${config}/wglext.cfg" />
+ <param name="glext.platform.header" value="${stub.includes.dir}/win32/wglext.c" />
+ </antcall>
+
+ <echo message="Generating platform-specifics: MaxOsX" />
+ <antcall target="java.generate.gl.platforms" inheritRefs="true">
+ <param name="window.os.system" value="macosx"/>
+ <param name="window.os.cfg" value="${config}/cgl-macosx.cfg" />
+ <param name="glext.platform.cfg" value="${config}/cglext.cfg" />
+ <param name="glext.platform.header" value="${stub.includes.dir}/macosx/cglext.c" />
+ </antcall>
+
+ <!-- Generate GLU class -->
+ <antcall target="java.generate.glu.base" inheritrefs="true" />
+ <antcall target="java.generate.glu.GL2ES1" inheritrefs="true" />
+ <antcall target="java.generate.glu.GL2" inheritrefs="true" />
+
+ <!-- Inform the user that the generators have successfully created
+ - the necessary Java files -->
+ <echo message="" />
+ <echo message="GlueGen and BuildStaticGLInfo have successfully generated files." />
+
+ </target>
+
+ <target name="java.generate.cg.check">
+ <!-- Blow away all target files if any dependencies are violated
+ (the uptodate task doesn't allow arbitrary source and target filesets but should) -->
+ <dependset>
+ <srcfileset refid="stub.includes.cg.dependencies.fileset" />
+ <targetfileset dir=".">
+ <include name="${src.generated.java.cg}/**/*.java" />
+ <include name="${src.generated.c.cg}/**/*.c" />
+ </targetfileset>
+ </dependset>
+
+ <!-- Now check for the presence of one well-known file -->
+ <uptodate property="java.generate.cg.skip">
+ <srcfiles refid="stub.includes.cg.dependencies.fileset" />
+ <mapper type="merge" to="${src.generated.java}/com/sun/opengl/cg/CgGL.java" />
+ </uptodate>
+ </target>
+
+ <!--
+ - Setup the generating ANT tasks and use it to generate the Java files
+ - from the C GL headers. This involves setting the taskdef and creating
+ - the classpath reference id then running the task on each header.
+ -->
+ <target name="java.generate.cg" depends="java.generate.cg.check" if="jogl.cg" unless="java.generate.cg.skip">
+ <!-- Add the GlueGen and BuildStaticGLInfo tasks to ANT -->
+ <taskdef name="gluegen" classname="com.sun.gluegen.ant.GlueGenTask"
+ classpathref="gluegen.classpath" />
+ <taskdef name="staticglgen" classname="com.sun.gluegen.ant.StaticGLGenTask"
+ classpathref="gluegen.classpath" />
+
+ <!-- Generate CgGL interface class -->
+ <gluegen src="${stub.includes.opengl}/cg.c"
+ outputRootDir="../${rootrel.build.jogl}"
+ config="${config}/cg-common.cfg"
+ includeRefid="stub.includes.cg.fileset.all"
+ emitter="com.sun.gluegen.JavaEmitter">
+ <classpath refid="gluegen.classpath" />
+ </gluegen>
+ </target>
+
+ <!-- ================================================================== -->
+ <!--
+ - Build and dependency rules for the composable pipeline
+ -->
+ <target name="java.generate.composable.pipeline.check.es1" unless="setup.noes1">
+ <!-- Blow away the DebugGL*.java and TraceGL*.java sources if GL*.class has changed
+ (the uptodate element doesn't support arbitrary source and destination files) -->
+ <dependset>
+ <srcfilelist dir="${classes}/javax/media/opengl" files="GLES1.class" />
+ <targetfileset dir="${src.generated.java}/javax/media/opengl"
+ includes="DebugGLES1.java,TraceGLES1.java" />
+ </dependset>
+
+ <!-- Now choose one of the two to test to see if we have to regenerate -->
+ <uptodate property="java.generate.composable.pipeline.skip.es1"
+ srcfile="${classes}/javax/media/opengl/GLES1.class"
+ targetfile="${src.generated.java}/javax/media/opengl/DebugGLES1.java" />
+
+ </target>
+
+ <target name="java.generate.composable.pipeline.check.es2" unless="setup.noes2">
+ <!-- Blow away the DebugGL*.java and TraceGL*.java sources if GL*.class has changed
+ (the uptodate element doesn't support arbitrary source and destination files) -->
+ <dependset>
+ <srcfilelist dir="${classes}/javax/media/opengl" files="GLES2.class" />
+ <targetfileset dir="${src.generated.java}/javax/media/opengl"
+ includes="DebugGLES2.java,TraceGLES2.java" />
+ </dependset>
+
+ <!-- Now choose one of the two to test to see if we have to regenerate -->
+ <uptodate property="java.generate.composable.pipeline.skip.es2"
+ srcfile="${classes}/javax/media/opengl/GLES2.class"
+ targetfile="${src.generated.java}/javax/media/opengl/DebugGLES2.java" />
+
+ </target>
+
+ <target name="java.generate.composable.pipeline.check.gl2es12" unless="setup.nogl2">
+ <!-- Blow away the DebugGL*.java and TraceGL*.java sources if GL*.class has changed
+ (the uptodate element doesn't support arbitrary source and destination files) -->
+ <dependset>
+ <srcfilelist dir="${classes}/javax/media/opengl" files="GL2ES12.class" />
+ <targetfileset dir="${src.generated.java}/javax/media/opengl"
+ includes="DebugGL2ES12.java,TraceGL2ES12.java" />
+ </dependset>
+
+ <!-- Now choose one of the two to test to see if we have to regenerate -->
+ <uptodate property="java.generate.composable.pipeline.skip.gl2es12"
+ srcfile="${classes}/javax/media/opengl/GL2ES12.class"
+ targetfile="${src.generated.java}/javax/media/opengl/DebugGL2ES12.java" />
+ </target>
+
+ <target name="java.generate.composable.pipeline.check.gl2" unless="setup.nogl2">
+ <!-- Blow away the DebugGL*.java and TraceGL*.java sources if GL*.class has changed
+ (the uptodate element doesn't support arbitrary source and destination files) -->
+ <dependset>
+ <srcfilelist dir="${classes}/javax/media/opengl" files="GL2.class" />
+ <targetfileset dir="${src.generated.java}/javax/media/opengl"
+ includes="DebugGL2.java,TraceGL2.java" />
+ </dependset>
+
+ <!-- Now choose one of the two to test to see if we have to regenerate -->
+ <uptodate property="java.generate.composable.pipeline.skip.gl2"
+ srcfile="${classes}/javax/media/opengl/GL2.class"
+ targetfile="${src.generated.java}/javax/media/opengl/DebugGL2.java" />
+ </target>
+
+ <target name="java.generate.composable.pipeline.check.gl3" unless="setup.nogl3">
+ <!-- Blow away the DebugGL*.java and TraceGL*.java sources if GL*.class has changed
+ (the uptodate element doesn't support arbitrary source and destination files) -->
+ <dependset>
+ <srcfilelist dir="${classes}/javax/media/opengl" files="GL3.class" />
+ <targetfileset dir="${src.generated.java}/javax/media/opengl"
+ includes="DebugGL3.java,TraceGL3.java" />
+ </dependset>
+
+ <!-- Now choose one of the two to test to see if we have to regenerate -->
+ <uptodate property="java.generate.composable.pipeline.skip.gl3"
+ srcfile="${classes}/javax/media/opengl/GL3.class"
+ targetfile="${src.generated.java}/javax/media/opengl/DebugGL3.java" />
+ </target>
+
+ <target name="java.generate.composable.pipeline.es1" depends="java.generate.composable.pipeline.check.es1" unless="java.generate.composable.pipeline.skip.es1">
+ <java classname="com.sun.gluegen.opengl.BuildComposablePipeline" fork="yes" failonerror="true">
+ <arg value="javax.media.opengl.GLES1" />
+ <arg value="${src.generated.java}/javax/media/opengl" />
+ <classpath refid="pipeline.classpath" />
+ </java>
+ </target>
+
+ <target name="java.generate.composable.pipeline.es2" depends="java.generate.composable.pipeline.check.es2" unless="java.generate.composable.pipeline.skip.es2">
+ <java classname="com.sun.gluegen.opengl.BuildComposablePipeline" fork="yes" failonerror="true">
+ <arg value="javax.media.opengl.GLES2" />
+ <arg value="${src.generated.java}/javax/media/opengl" />
+ <classpath refid="pipeline.classpath" />
+ </java>
+ </target>
+
+ <target name="java.generate.composable.pipeline.gl2es12" depends="java.generate.composable.pipeline.check.gl2es12" unless="java.generate.composable.pipeline.skip.gl2es12">
+ <java classname="com.sun.gluegen.opengl.BuildComposablePipeline" fork="yes" failonerror="true">
+ <arg value="javax.media.opengl.GL2ES12" />
+ <arg value="${src.generated.java}/javax/media/opengl" />
+ <classpath refid="pipeline.classpath" />
+ </java>
+ </target>
+
+ <target name="java.generate.composable.pipeline.gl2" depends="java.generate.composable.pipeline.check.gl2" unless="java.generate.composable.pipeline.skip.gl2">
+ <java classname="com.sun.gluegen.opengl.BuildComposablePipeline" fork="yes" failonerror="true">
+ <arg value="javax.media.opengl.GL2" />
+ <arg value="${src.generated.java}/javax/media/opengl" />
+ <classpath refid="pipeline.classpath" />
+ </java>
+ </target>
+
+ <target name="java.generate.composable.pipeline.gl3" depends="java.generate.composable.pipeline.check.gl3" unless="java.generate.composable.pipeline.skip.gl3">
+ <java classname="com.sun.gluegen.opengl.BuildComposablePipeline" fork="yes" failonerror="true">
+ <arg value="javax.media.opengl.GL3" />
+ <arg value="${src.generated.java}/javax/media/opengl" />
+ <classpath refid="pipeline.classpath" />
+ </java>
+ </target>
+
+ <target name="java.generate.composable.pipeline.check">
+ <condition property="java.generate.composable.pipeline.skip.es1">
+ <isset property="setup.noes1"/>
+ </condition>
+ <condition property="java.generate.composable.pipeline.skip.es2">
+ <isset property="setup.noes2"/>
+ </condition>
+ <condition property="java.generate.composable.pipeline.skip.gl2">
+ <isset property="setup.nogl2"/>
+ </condition>
+ <condition property="java.generate.composable.pipeline.skip.gl3">
+ <isset property="setup.nogl3"/>
+ </condition>
+ </target>
+ <target name="java.generate.composable.pipeline" depends="java.generate.composable.pipeline.check, java.generate.composable.pipeline.es1, java.generate.composable.pipeline.es2, java.generate.composable.pipeline.gl2, java.generate.composable.pipeline.gl3">
+ </target>
+
+ <target name="java.generate.composable.pipeline.custom.check.glfixfunc">
+ <!-- Blow away the DebugGL*.java and TraceGL*.java sources if GL*.class has changed
+ (the uptodate element doesn't support arbitrary source and destination files) -->
+ <dependset>
+ <srcfilelist dir="${classes}/com/sun/opengl/util/glsl/fixedfunc" files="FixedFuncHook.class" />
+ <srcfilelist dir="${classes}/javax/media/opengl" files="GL2ES1.class" />
+ <srcfilelist dir="${classes}/javax/media/opengl" files="GL2ES2.class" />
+ <targetfileset dir="${src.generated.java}/com/sun/opengl/util/glsl/fixedfunc/impl"
+ includes="FixedFuncImpl.java" />
+ </dependset>
+
+ <!-- Now choose one of the two to test to see if we have to regenerate -->
+ <uptodate property="java.generate.composable.pipeline.custom.skip.glfixfunc"
+ srcfile="${classes}/javax/media/opengl/GL2ES1.class"
+ targetfile="${src.generated.java}/com/sun/opengl/util/glsl/fixedfunc/impl/FixedFuncImpl.java" />
+ </target>
+ <target name="java.generate.composable.pipeline.custom.glfixfunc" depends="java.generate.composable.pipeline.custom.check.glfixfunc" unless="java.generate.composable.pipeline.custom.skip.glfixfunc">
+ <java classname="com.sun.gluegen.opengl.BuildComposablePipeline" fork="yes" failonerror="true">
+ <arg value="javax.media.opengl.GL2ES1" />
+ <arg value="${src.generated.java}/com/sun/opengl/util/glsl/fixedfunc/impl" />
+ <arg value="com.sun.opengl.util.glsl.fixedfunc.impl.FixedFuncImpl" />
+ <arg value="com.sun.opengl.util.glsl.fixedfunc.impl.FixedFuncHook" />
+ <arg value="javax.media.opengl.GL2ES2" />
+ <arg value="prolog_xor_downstream" />
+ <classpath refid="pipeline.classpath" />
+ </java>
+ </target>
+ <target name="java.generate.composable.pipeline.custom" depends="init, build.gluegen, java.generate.composable.pipeline.check, java.generate.composable.pipeline.custom.glfixfunc">
+ </target>
+
+ <!-- ================================================================== -->
+ <!--
+ - Compile the original and generated source. The composable pipelines
+ - will be generated.
+ -->
+ <target name="java.compile.firstpass" depends="java.generate,java.generate.cg">
+ <antcall target="java.generate.cleantemp" inheritRefs="true" />
+
+ <!-- Perform the first pass Java compile. -->
+ <javac destdir="${classes}"
+ includes="javax/media/opengl/fixedfunc/** javax/media/opengl/GLDrawableFactory.java javax/media/opengl/GLDrawable.java javax/media/opengl/GLContext.java javax/media/opengl/GL.java javax/media/opengl/GL2ES1.java javax/media/opengl/GL2ES2.java javax/media/opengl/GL2.java javax/media/opengl/GLES1.java javax/media/opengl/GLES2.java javax/media/opengl/GL3.java"
+ fork="yes"
+ memoryMaximumSize="${javac.memorymax}"
+ source="1.4" debug="${javacdebug}" debuglevel="${javacdebuglevel}">
+ <classpath refid="nativewindow_gluegen.classpath"/>
+ <src path="${src.java}" />
+ <src path="${src.generated.java}" />
+ </javac>
+ </target>
+
+ <target name="java.compile.secondpass.1" if="javac.bootclasspath.jar">
+ <!-- Perform the second pass Java compile; everything except portion of fixed function emulation depending on generated code. -->
+ <javac destdir="${classes}"
+ excludes="com/sun/opengl/util/glsl/fixedfunc/FixedFuncUtil.java,${java.excludes.all}"
+ source="${jogl.sourcelevel}"
+ bootclasspath="${javac.bootclasspath.jar}"
+ fork="yes"
+ memoryMaximumSize="${javac.memorymax}"
+ debug="${javacdebug}" debuglevel="${javacdebuglevel}">
+ <classpath refid="nativewindow_gluegen.classpath"/>
+ <src path="${src.java}" />
+ <src path="${src.generated.java}" />
+ </javac>
+ </target>
+
+ <target name="java.compile.secondpass.2" unless="javac.bootclasspath.jar">
+ <!-- Perform the second pass Java compile; everything except portion of fixed function emulation depending on generated code. -->
+ <javac destdir="${classes}"
+ excludes="com/sun/opengl/util/glsl/fixedfunc/FixedFuncUtil.java,${java.excludes.all}"
+ source="${jogl.sourcelevel}"
+ fork="yes"
+ memoryMaximumSize="${javac.memorymax}"
+ debug="${javacdebug}" debuglevel="${javacdebuglevel}">
+ <classpath refid="nativewindow_gluegen.classpath"/>
+ <src path="${src.java}" />
+ <src path="${src.generated.java}" />
+ </javac>
+ </target>
+
+ <target name="java.compile.secondpass" depends="java.generate.composable.pipeline,java.compile.secondpass.1,java.compile.secondpass.2" />
+
+ <target name="java.compile.thirdpass.1" if="javac.bootclasspath.jar">
+ <!-- Perform the third pass Java compile; everything including fixed function emulation. -->
+ <javac destdir="${classes}"
+ excludes="${java.excludes.all}"
+ source="${jogl.sourcelevel}"
+ bootclasspath="${javac.bootclasspath.jar}"
+ fork="yes"
+ memoryMaximumSize="${javac.memorymax}"
+ debug="${javacdebug}" debuglevel="${javacdebuglevel}">
+ <classpath refid="nativewindow_gluegen.classpath"/>
+ <src path="${src.java}" />
+ <src path="${src.generated.java}" />
+ </javac>
+ </target>
+
+ <target name="java.compile.thirdpass.2" unless="javac.bootclasspath.jar">
+ <!-- Perform the third pass Java compile; everything including fixed function emulation. -->
+ <javac destdir="${classes}"
+ excludes="${java.excludes.all}"
+ source="${jogl.sourcelevel}"
+ fork="yes"
+ memoryMaximumSize="${javac.memorymax}"
+ debug="${javacdebug}" debuglevel="${javacdebuglevel}">
+ <classpath refid="nativewindow_gluegen.classpath"/>
+ <src path="${src.java}" />
+ <src path="${src.generated.java}" />
+ </javac>
+ </target>
+
+ <target name="java.compile.thirdpass" depends="java.generate.composable.pipeline.custom,java.compile.thirdpass.1,java.compile.thirdpass.2" />
+
+ <target name="java.compile" depends="java.compile.firstpass,java.compile.secondpass,java.compile.thirdpass" />
+
+ <!-- ================================================================== -->
+ <!--
+ - Compile the native C code for JOGL (and optionally the Cg binding).
+ -->
+
+ <target name="c.configure.1" depends="gluegen.cpptasks.detect.os,gluegen.cpptasks.setup.compiler" unless="jogl.compiler.present">
+ <!-- compiler configuration -->
+ <!-- Note that we can use the base setups in the gluegen-cpptasks for most of these -->
+
+ <compiler id="compiler.cfg.freebsd.jogl" extends="compiler.cfg.freebsd">
+ <!-- Need to force X11R6 headers on to include path after stub_includes -->
+ <includepath path="stub_includes/opengl"/>
+ <includepath path="/usr/X11R6/include" />
+ </compiler>
+
+ <!-- linker configuration -->
+
+ <linker id="linker.cfg.linux.jogl.x11" extends="linker.cfg.linux">
+ <syslibset dir="/usr/X11R6/lib" libs="X11"/>
+ <syslibset dir="/usr/X11R6/lib" libs="Xxf86vm" />
+ </linker>
+
+ <linker id="linker.cfg.linux.jogl.gl2" extends="linker.cfg.linux.jogl.x11">
+ <syslibset dir="/usr/X11R6/lib" libs="GL"/>
+ <syslibset dir="${x11.cg.lib}" libs="Cg, CgGL" if="c.compiler.use-cglib"/>
+ </linker>
+
+ <linker id="linker.cfg.linux.amd64.jogl.x11" extends="linker.cfg.linux.amd64">
+ <syslibset dir="/usr/X11R6/lib64" libs="X11"/>
+ <syslibset dir="/usr/X11R6/lib64" libs="Xxf86vm" />
+ </linker>
+
+ <linker id="linker.cfg.linux.amd64.jogl.gl2" extends="linker.cfg.linux.amd64.jogl.x11">
+ <syslibset dir="/usr/X11R6/lib64" libs="GL"/>
+ <syslibset dir="${x11.cg.lib}" libs="Cg, CgGL" if="c.compiler.use-cglib"/>
+ </linker>
+
+ <linker id="linker.cfg.solaris.jogl.x11" extends="linker.cfg.solaris">
+ <syslibset libs="X11"/>
+ </linker>
+
+ <linker id="linker.cfg.solaris.jogl.gl2" extends="linker.cfg.solaris">
+ <syslibset libs="GL"/>
+ <syslibset dir="${x11.cg.lib}" libs="Cg, CgGL" if="c.compiler.use-cglib"/>
+ </linker>
+
+ <linker id="linker.cfg.solaris.sparcv9.jogl.gl2" extends="linker.cfg.solaris.sparcv9">
+ <linkerarg value="-xarch=v9a" />
+ <syslibset dir="/usr/openwin/lib/sparcv9" libs="GL"/>
+ <syslibset dir="/usr/lib/sparcv9" libs="X11"/>
+ </linker>
+
+ <linker id="linker.cfg.solaris.amd64.jogl.gl2" extends="linker.cfg.solaris.amd64">
+ <linkerarg value="-xarch=amd64" />
+ <syslibset dir="/usr/lib/amd64" libs="GL"/>
+ <syslibset dir="/usr/lib/amd64" libs="X11"/>
+ </linker>
+
+ <linker id="linker.cfg.win32.mingw.jogl" extends="linker.cfg.win32.mingw">
+ <linkerarg value="-Wl,--kill-at" /> <!-- remove @ from function names -->
+ <syslibset libs="opengl32, glu32, gdi32, kernel32"/>
+ <syslibset dir="${windows.cg.lib}" libs="cg, cgGL" if="c.compiler.use-cglib"/>
+ </linker>
+
+ <linker id="linker.cfg.win32.msvc.jogl" extends="linker.cfg.win32.msvc">
+ <syslibset libs="opengl32, gdi32, user32, kernel32" />
+ <syslibset dir="${windows.cg.lib}" libs="cg, cgGL" if="c.compiler.use-cglib"/>
+ <!-- This is temporary -->
+ <syslibset libs="winmm" />
+ </linker>
+
+ <linker id="linker.cfg.macosx.jogl" extends="linker.cfg.macosx">
+ <linkerarg value="-framework" />
+ <linkerarg value="Cocoa" />
+ <linkerarg value="-framework" />
+ <linkerarg value="OpenGL" />
+ <linkerarg value="-framework" if="c.compiler.use-cglib" />
+ <linkerarg value="Cg" if="c.compiler.use-cglib" />
+ </linker>
+
+ <linker id="linker.cfg.hpux.jogl" extends="linker.cfg.hpux">
+ <syslibset dir="/opt/graphics/OpenGL/lib" libs="GL, GLU"/>
+ <syslibset dir="/usr/lib" libs="X11"/>
+ </linker>
+ </target>
+
+ <target name="c.configure.win32.vc" if="isVCFamily">
+ <echo message="Win32.VC" />
+ <property name="compiler.cfg.id" value="compiler.cfg.win32.msvc" />
+ <property name="linker.cfg.id.core" value="linker.cfg.win32.msvc" />
+ <property name="linker.cfg.id.oswin" value="linker.cfg.win32.msvc.jogl" />
+ <property name="linker.cfg.id.gl2" value="linker.cfg.win32.msvc.jogl" />
+ </target>
+
+ <target name="c.configure.win32.mingw" if="isMingW">
+ <echo message="Win32.MingW" />
+ <property name="compiler.cfg.id" value="compiler.cfg.win32.mingw" />
+ <property name="linker.cfg.id.core" value="linker.cfg.win32.mingw" />
+ <property name="linker.cfg.id.oswin" value="linker.cfg.win32.mingw.jogl" />
+ <property name="linker.cfg.id.gl2" value="linker.cfg.win32.mingw.jogl" />
+ </target>
+
+ <target name="c.configure.linux.x86" if="isLinuxX86">
+ <echo message="Linux.x86" />
+ <property name="compiler.cfg.id" value="compiler.cfg.linux" />
+ <property name="linker.cfg.id.core" value="linker.cfg.linux" />
+ <property name="linker.cfg.id.oswin" value="linker.cfg.linux.jogl.x11" />
+ <property name="linker.cfg.id.gl2" value="linker.cfg.linux.jogl.gl2" />
+ </target>
+
+ <target name="c.configure.linux.amd64" if="isLinuxAMD64">
+ <echo message="Linux.AMD64" />
+ <property name="compiler.cfg.id" value="compiler.cfg.linux.amd64" />
+ <property name="linker.cfg.id.core" value="linker.cfg.linux.amd64" />
+ <property name="linker.cfg.id.oswin" value="linker.cfg.linux.amd64.jogl.x11" />
+ <property name="linker.cfg.id.gl2" value="linker.cfg.linux.amd64.jogl.gl2" />
+ </target>
+
+ <target name="c.configure.linux.ia64" if="isLinuxIA64">
+ <echo message="Linux.IA64" />
+ <property name="compiler.cfg.id" value="compiler.cfg.linux" />
+ <property name="linker.cfg.id.core" value="linker.cfg.linux" />
+ <property name="linker.cfg.id.oswin" value="linker.cfg.linux.jogl.x11" />
+ <property name="linker.cfg.id.gl2" value="linker.cfg.linux.jogl.gl2" />
+ </target>
+
+ <target name="c.configure.linux" depends="c.configure.linux.x86,c.configure.linux.amd64,c.configure.linux.ia64,c.configure.x11" if="isLinux" />
+
+ <target name="c.configure.solaris32" depends="c.configure.x11" if="isSolaris32Bit">
+ <echo message="Solaris" />
+ <property name="compiler.cfg.id" value="compiler.cfg.solaris" />
+ <property name="linker.cfg.id.core" value="linker.cfg.solaris" />
+ <property name="linker.cfg.id.oswin" value="linker.cfg.solaris.jogl.x11" />
+ <property name="linker.cfg.id.gl2" value="linker.cfg.solaris.jogl.gl2" />
+ </target>
+
+
+ <target name="c.configure.solaris.sparcv9" depends="c.configure.x11" if="isSolarisSparcv9">
+ <echo message="SolarisSparcv9" />
+ <property name="compiler.cfg.id" value="compiler.cfg.solaris.sparcv9" />
+ <property name="linker.cfg.id.core" value="linker.cfg.solaris.sparcv9" />
+ <property name="linker.cfg.id.oswin" value="linker.cfg.solaris.sparcv9.jogl.x11" />
+ <property name="linker.cfg.id.gl2" value="linker.cfg.solaris.sparcv9.jogl.gl2" />
+ </target>
+
+
+ <target name="c.configure.solaris.amd64" depends="c.configure.x11" if="isSolarisAMD64">
+ <echo message="SolarisAMD64" />
+ <property name="compiler.cfg.id" value="compiler.cfg.solaris.amd64" />
+ <property name="linker.cfg.id.core" value="linker.cfg.solaris.amd64" />
+ <property name="linker.cfg.id.oswin" value="linker.cfg.solaris.amd64.jogl.x11" />
+ <property name="linker.cfg.id.gl2" value="linker.cfg.solaris.amd64.jogl.gl2" />
+ </target>
+
+ <target name="c.configure.freebsd" depends="c.configure.x11" if="isFreeBSD">
+ <echo message="FreeBSD" />
+ <property name="compiler.cfg.id" value="compiler.cfg.freebsd.jogl" />
+ <property name="linker.cfg.id.core" value="linker.cfg.linux" />
+ <property name="linker.cfg.id.oswin" value="linker.cfg.linux.jogl.x11" />
+ <property name="linker.cfg.id.gl2" value="linker.cfg.linux.jogl.gl2" />
+ </target>
+
+ <target name="c.configure.hpux" depends="c.configure.x11" if="isHPUX">
+ <echo message="HP-UX" />
+ <property name="compiler.cfg.id" value="compiler.cfg.hpux" />
+ <property name="linker.cfg.id.core" value="linker.cfg.hpux" />
+ <property name="linker.cfg.id.oswin" value="linker.cfg.hpux.jogl.x11" />
+ <property name="linker.cfg.id.gl2" value="linker.cfg.hpux.jogl.gl2" />
+ </target>
+
+ <target name="c.configure.win32" depends="c.configure.win32.vc,c.configure.win32.mingw" if="isWindows" />
+
+ <target name="c.configure.x11" if="isX11" />
+
+ <target name="c.configure.macosx" if="isOSX">
+ <property name="compiler.cfg.id" value="compiler.cfg.macosx" />
+ <property name="linker.cfg.id.core" value="linker.cfg.macosx" />
+ <property name="linker.cfg.id.oswin" value="linker.cfg.macosx.jogl" />
+ <property name="linker.cfg.id.gl2" value="linker.cfg.macosx.jogl" />
+ </target>
+
+ <target name="c.configure.2" depends="c.configure.win32,c.configure.linux,c.configure.solaris32,c.configure.solaris.sparcv9,c.configure.solaris.amd64,c.configure.macosx,c.configure.freebsd,c.configure.hpux" />
+
+ <target name="c.configure" depends="c.configure.1,c.configure.2" />
+
+ <target name="rename.mingw.dll" if="isMingW">
+ <move file="${src}" tofile="${dest}" />
+ </target>
+
+ <target name="rename.dylib" if="isOSX">
+ <move file="${src}" tofile="${dest}" />
+ </target>
+
+ <macrodef name="c.build">
+ <attribute name="c.compiler.src.files" />
+ <attribute name="compiler.cfg.id" />
+ <attribute name="linker.cfg.id" />
+ <attribute name="output.lib.name" />
+ <attribute name="c.compiler.use-jawt" default="false"/>
+ <sequential>
+ <echo message="Output lib name = @{output.lib.name}" />
+
+ <!-- NOTE: the value of the debug and optimise attributes will not be overridden if already set externally -->
+ <property name="c.compiler.debug" value="false" />
+ <!-- Optimise flags one of { none, size, speed, minimal, full, aggressive, extreme, unsafe } -->
+ <property name="c.compiler.optimise" value="none" />
+
+ <condition property="c.compiler.use-debug"><istrue value="${c.compiler.debug}"/></condition>
+
+ <patternset id="c.src.files.jogl.gl2">
+ <include name="${rootrel.src.c}/macosx/MacOSXWindowSystemInterface.m" if="isOSX"/>
+ <include name="${rootrel.src.c}/macosx/ContextUpdater.m" if="isOSX"/>
+ <include name="${rootrel.src.c}/GLXGetProcAddressARB.c" if="isX11"/>
+ <!-- FIXME: the Mixer should be moved to another library -->
+ <!--include name="${rootrel.src.c}/Mixer.cpp" if="isWindows"/-->
+ <include name="${rootrel.src.c.openmax}/omx_tool.c" if="useOpenMAX"/>
+ <include name="${rootrel.src.c.openmax}/com_sun_openmax_OMXInstance.c" if="useOpenMAX"/>
+
+ <include name="${rootrel.generated.c.jogl}/gl2/GL2Impl_JNI.c"/>
+ <include name="${rootrel.generated.c.jogl}/gl3/GL3Impl_JNI.c"/>
+ <!--include name="${rootrel.generated.c.jogl}/GLU_JNI.c"/ EMPTY -->
+ <include name="${rootrel.generated.c.jogl}/gl2/GLUgl2_JNI.c"/>
+ <include name="${rootrel.generated.c.jogl}/X11/GLX*.c" if="isX11"/>
+ <include name="${rootrel.generated.c.jogl}/MacOSX/CGL*.c" if="isOSX"/>
+ <include name="${rootrel.generated.c.jogl}/Windows/WGL*.c" if="isWindows"/>
+ </patternset>
+
+ <patternset id="c.src.files.jogl.gl2es12">
+ <include name="${rootrel.src.c}/macosx/MacOSXWindowSystemInterface.m" if="isOSX"/>
+ <include name="${rootrel.src.c}/macosx/ContextUpdater.m" if="isOSX"/>
+ <include name="${rootrel.src.c}/GLXGetProcAddressARB.c" if="isX11"/>
+ <!-- FIXME: the Mixer should be moved to another library -->
+ <!--include name="${rootrel.src.c}/Mixer.cpp" if="isWindows"/-->
+ <include name="${rootrel.src.c.openmax}/omx_tool.c" if="useOpenMAX"/>
+ <include name="${rootrel.src.c.openmax}/com_sun_openmax_OMXInstance.c" if="useOpenMAX"/>
+
+ <include name="${rootrel.generated.c.jogl}/gl2es12/GL2ES12Impl_JNI.c"/>
+ <!--include name="${rootrel.generated.c.jogl}/GLU_JNI.c"/ EMPTY -->
+ <!--include name="${rootrel.generated.c.jogl}/gl2es12/GLUgl2es12_JNI.c"/ SKIPPED -->
+ <include name="${rootrel.generated.c.jogl}/X11/GLX*.c" if="isX11"/>
+ <include name="${rootrel.generated.c.jogl}/MacOSX/CGL*.c" if="isOSX"/>
+ <include name="${rootrel.generated.c.jogl}/Windows/WGL*.c" if="isWindows"/>
+ </patternset>
+
+ <patternset id="c.src.files.jogl.es2">
+ <include name="${rootrel.src.c}/GLXGetProcAddressARB.c" if="isX11"/>
+ <include name="${rootrel.src.c.openmax}/omx_tool.c" if="useOpenMAX"/>
+ <include name="${rootrel.src.c.openmax}/com_sun_openmax_OMXInstance.c" if="useOpenMAX"/>
+
+ <include name="${rootrel.generated.c.jogl}/egl/EGL_JNI.c"/>
+ <include name="${rootrel.generated.c.jogl}/egl/EGLExtImpl_JNI.c"/>
+ <include name="${rootrel.generated.c.jogl}/es2/GLES2Impl_JNI.c"/>
+ </patternset>
+
+ <patternset id="c.src.files.jogl.es1">
+ <include name="${rootrel.src.c}/GLXGetProcAddressARB.c" if="isX11"/>
+ <include name="${rootrel.src.c.openmax}/omx_tool.c" if="useOpenMAX"/>
+ <include name="${rootrel.src.c.openmax}/com_sun_openmax_OMXInstance.c" if="useOpenMAX"/>
+
+ <include name="${rootrel.generated.c.jogl}/egl/EGL_JNI.c"/>
+ <include name="${rootrel.generated.c.jogl}/egl/EGLExtImpl_JNI.c"/>
+ <include name="${rootrel.generated.c.jogl}/es1/GLES1Impl_JNI.c"/>
+ <!--include name="${rootrel.generated.c.jogl}/GLU_JNI.c"/ EMPTY -->
+ <!--include name="${rootrel.generated.c.jogl}/es1/GLUes1_JNI.c" EMPTY /-->
+ </patternset>
+
+ <patternset id="c.src.files.cg">
+ <include name="${rootrel.generated.c.cg}/*.c"/>
+ </patternset>
+
+ <echo message="Compiling @{output.lib.name}" />
+
+ <cc outtype="shared"
+ objdir="${obj.jogl}"
+ outfile="${obj}/@{output.lib.name}"
+ optimize="${c.compiler.optimise}"
+ debug="${c.compiler.debug}"
+ multithreaded="true"
+ exceptions="false"
+ rtti="false">
+
+ <!-- TODO: versioninfo companyname="java.net"
+ legalcopyright="Copyright"
+ productname="JOGL"
+ productversion="x.y.z"
+ description="Description"
+ fileversion="x.y.z"
+ filecomments="File Comment" /-->
+
+ <fileset dir="${project.root}"><patternset refid="@{c.compiler.src.files}"/></fileset>
+
+ <compiler extends="@{compiler.cfg.id}" >
+ <sysincludepath path="${java.includes.dir}"/>
+ <sysincludepath path="${java.includes.dir.platform}"/>
+ <includepath path="stub_includes/opengl"/>
+ <includepath path="stub_includes/egl"/>
+ <includepath path="stub_includes/openmax" if="useOpenMAX"/>
+ <includepath path="stub_includes/cg" if="c.compiler.use-cglib"/>
+
+ <!-- This is for the generated headers for handwritten C code -->
+ <includepath path="${src.generated.c}" />
+ <includepath path="${src.generated.c}/X11" if="isX11"/>
+ <includepath path="${src.generated.c}/MacOSX" if="isOSX"/>
+ <includepath path="${src.generated.c}/Windows" if="isWindows"/>
+ <includepath path="${src.generated.c.openmax}" if="useOpenMAX"/>
+
+ <!-- This must come last to not override real include paths -->
+ <!-- includepath path="stub_includes/macosx" if="isOSX" / -->
+ </compiler>
+
+ <linker extends="@{linker.cfg.id}">
+ <syslibset dir="${java.lib.dir.platform}" libs="jawt" if="@{output.lib.name}.useLibJAWT"/>
+ <syslibset dir="${java.lib.dir.platform}/server" libs="jvm" if="@{output.lib.name}.useLibJVM"/>
+ </linker>
+ </cc>
+
+ <!-- FIXME: this is a hack; the cpptask should have an option to change the
+ suffix or at least understand the override from dylib to jnilib -->
+ <antcall target="rename.dylib" inheritRefs="true">
+ <param name="src" value="${build}/obj/lib@{output.lib.name}.dylib" />
+ <param name="dest" value="${build}/obj/lib@{output.lib.name}.jnilib" />
+ </antcall>
+
+ <!-- FIXME: this is a hack; the cpptask should have an option to change the
+ suffix or at least understand the override from dylib to jnilib -->
+ <antcall target="rename.mingw.dll" inheritRefs="true">
+ <param name="src" value="${build}/obj/lib@{output.lib.name}.so" />
+ <param name="dest" value="${build}/obj/@{output.lib.name}.dll" />
+ </antcall>
+ </sequential>
+ </macrodef>
+
+ <target name="c.build.jogl.prepare">
+ <!-- Generate the waveout Mixer header -->
+ <!-- FIXME: this is temporary until we move this to another workspace -->
+ <javah destdir="../${rootrel.build.jogl}/gensrc/native/jogl" classpath="${jogl.all.jar}" class="com.sun.javafx.audio.windows.waveout.Mixer" />
+ <javah destdir="../${rootrel.build.jogl}/gensrc/native/openmax" classpath="${jogl.all.jar}" class="com.sun.openmax.OMXInstance" />
+ </target>
+
+ <target name="c.build.jogl.gl2" unless="setup.nogl2">
+ <c.build c.compiler.src.files="c.src.files.jogl.gl2"
+ output.lib.name="jogl_gl2"
+ compiler.cfg.id="${compiler.cfg.id}"
+ linker.cfg.id="${linker.cfg.id.gl2}"/>
+ </target>
+
+ <target name="c.build.jogl.gl2es12" unless="setup.nogl2">
+ <c.build c.compiler.src.files="c.src.files.jogl.gl2es12"
+ output.lib.name="jogl_gl2es12"
+ compiler.cfg.id="${compiler.cfg.id}"
+ linker.cfg.id="${linker.cfg.id.gl2}"/>
+ </target>
+
+ <target name="c.build.jogl.es2" unless="setup.noes1">
+ <c.build c.compiler.src.files="c.src.files.jogl.es2"
+ output.lib.name="jogl_es2"
+ compiler.cfg.id="${compiler.cfg.id}"
+ linker.cfg.id="${linker.cfg.id.base}"/>
+ </target>
+
+ <target name="c.build.jogl.es1" unless="setup.noes2">
+ <c.build c.compiler.src.files="c.src.files.jogl.es1"
+ output.lib.name="jogl_es1"
+ compiler.cfg.id="${compiler.cfg.id}"
+ linker.cfg.id="${linker.cfg.id.base}"/>
+ </target>
+
+ <target name="c.build.jogl.cg" if="jogl.cg">
+ <c.build c.compiler.src.files="c.src.files.cg"
+ output.lib.name="jogl_cg"
+ compiler.cfg.id="${compiler.cfg.id}"
+ linker.cfg.id="${linker.cfg.id.gl2}"/>
+ </target>
+
+ <target name="c.manifest.cg" if="jogl.cg">
+ <msvc.manifest objdir="${obj}" dllname="jogl_cg" />
+ </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 -->
+ <msvc.manifest objdir="${obj}" dllname="jogl_es1" />
+ <msvc.manifest objdir="${obj}" dllname="jogl_es2" />
+ <msvc.manifest objdir="${obj}" dllname="jogl_gl2" />
+ <msvc.manifest objdir="${obj}" dllname="jogl_gl2es12" />
+ <antcall target="c.manifest.cg" inheritRefs="true" />
+ </target>
+
+ <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" />
+ </target>
+
+ <!-- ================================================================== -->
+ <!--
+ - Build the jogl.jar files.
+ -->
+ <target name="jar" depends="java.compile,cond-if-RImanifest,cond-else-RImanifest"/>
+
+ <target name="check-RIcond">
+ <condition property="RIcond-is-true">
+ <isset property="RImanifestfile"/>
+ </condition>
+ </target>
+
+ <target name="cond-if-RImanifest" depends="check-RIcond" if="RIcond-is-true">
+ <copy file="joglRIversion"
+ tofile="tempversion"
+ overwrite="true">
+ <filterset>
+ <filter token="VERSION" value="${base_version}-pre-${timestamp}"/>
+ <filter token="BASEVERSION" value="${base_version}"/>
+ </filterset>
+ </copy>
+
+ <jar manifest="tempversion" destfile="${jogl.core.jar}">
+ <fileset dir="${classes}"
+ includes="javax/media/opengl/**, com/sun/gluegen/runtime/**, com/sun/opengl/**"
+ excludes="${java.excludes.fixme} ${java.part.egl}, ${java.part.sdk}, ${java.part.openmax}, ${java.part.gl2es12.x11}, ${java.part.gl2es12.win}, ${java.part.gl2es12.osx}, ${java.part.gl2es12.dbg}, ${java.part.gl2.x11}, ${java.part.gl2.win}, ${java.part.gl2.osx}, ${java.part.gl2.dbg}, ${java.part.es1}, ${java.part.es1.dbg}, ${java.part.es2}, ${java.part.es2.dbg}, ${java.part.awt}, ${java.part.glutess}, ${java.part.glumipmap}, ${java.part.glugl2}, ${java.part.util} ${java.part.util.awt} ${java.part.util.gl2} ${java.part.util.glsl} ${java.part.util.fixedfuncemu}"/>
+ </jar>
+ <jar manifest="tempversion" destfile="${jogl.gles1.jar}">
+ <fileset dir="${classes}"
+ includes="${java.part.es1}"
+ excludes="${java.part.es1.dbg}"/>
+ </jar>
+ <jar manifest="tempversion" destfile="${jogl.gles1.dbg.jar}">
+ <fileset dir="${classes}"
+ includes="${java.part.es1.dbg}"/>
+ </jar>
+ <jar manifest="tempversion" destfile="${jogl.gles2.jar}">
+ <fileset dir="${classes}"
+ includes="${java.part.es2}, ${java.part.openmax}"
+ excludes="${java.part.es2.dbg}"/>
+ </jar>
+ <jar manifest="tempversion" destfile="${jogl.gles2.dbg.jar}">
+ <fileset dir="${classes}"
+ includes="${java.part.es2.dbg}"/>
+ </jar>
+ <jar manifest="tempversion" destfile="${jogl.egl.jar}">
+ <fileset dir="${classes}"
+ includes="${java.part.egl}"
+ excludes="${java.part.awt}"/>
+ </jar>
+ <jar manifest="tempversion" destfile="${jogl.gl2es12.x11.jar}">
+ <fileset dir="${classes}"
+ includes="${java.part.gl2es12.x11}, ${java.part.openmax}"
+ excludes="${java.part.gl2es12.dbg}, ${java.part.glugl2}"/>
+ </jar>
+ <jar manifest="tempversion" destfile="${jogl.gl2es12.win.jar}">
+ <fileset dir="${classes}"
+ includes="${java.part.gl2es12.win}, ${java.part.openmax}"
+ excludes="${java.part.gl2es12.dbg}, ${java.part.glugl2}"/>
+ </jar>
+ <jar manifest="tempversion" destfile="${jogl.gl2es12.osx.jar}">
+ <fileset dir="${classes}"
+ includes="${java.part.gl2es12.osx}, ${java.part.openmax}"
+ excludes="${java.part.gl2es12.dbg}, ${java.part.glugl2}"/>
+ </jar>
+ <jar manifest="tempversion" destfile="${jogl.gl2es12.dbg.jar}">
+ <fileset dir="${classes}"
+ includes="${java.part.gl2es12.dbg}"/>
+ </jar>
+ <jar manifest="tempversion" destfile="${jogl.gl2.x11.jar}">
+ <fileset dir="${classes}"
+ includes="${java.part.gl2.x11}, ${java.part.gl3}, ${java.part.openmax}"
+ excludes="${java.part.gl2.dbg}, ${java.part.glugl2}"/>
+ </jar>
+ <jar manifest="tempversion" destfile="${jogl.gl2.win.jar}">
+ <fileset dir="${classes}"
+ includes="${java.part.gl2.win}, $${java.part.gl3}, {java.part.openmax}"
+ excludes="${java.part.gl2.dbg}, ${java.part.glugl2}"/>
+ </jar>
+ <jar manifest="tempversion" destfile="${jogl.gl2.osx.jar}">
+ <fileset dir="${classes}"
+ includes="${java.part.gl2.osx}, $${java.part.gl3}, {java.part.openmax}"
+ excludes="${java.part.gl2.dbg}, ${java.part.glugl2}"/>
+ </jar>
+ <jar manifest="tempversion" destfile="${jogl.gl2.dbg.jar}">
+ <fileset dir="${classes}"
+ includes="${java.part.gl2.dbg}"/>
+ </jar>
+ <jar manifest="tempversion" destfile="${jogl.sdk.jar}">
+ <fileset dir="${classes}"
+ includes="${java.part.sdk}"/>
+ </jar>
+ <jar manifest="tempversion" destfile="${jogl.glutess.jar}">
+ <fileset dir="${classes}"
+ includes="${java.part.glutess}"/>
+ </jar>
+ <jar manifest="tempversion" destfile="${jogl.glumipmap.jar}">
+ <fileset dir="${classes}"
+ includes="${java.part.glumipmap}"/>
+ </jar>
+ <jar manifest="tempversion" destfile="${jogl.glugl2.jar}">
+ <fileset dir="${classes}"
+ includes="${java.part.glugl2}"/>
+ </jar>
+ <jar manifest="tempversion" destfile="${jogl.awt.jar}">
+ <fileset dir="${classes}"
+ includes="${java.part.awt}" />
+ </jar>
+ <jar manifest="tempversion" destfile="${jogl.util.jar}">
+ <fileset dir="${classes}"
+ includes="${java.part.util}, ${java.part.util.glsl}"
+ excludes="${java.part.util.awt}, ${java.part.util.gl2}, ${java.part.gl3}, ${java.part.util.fixedfuncemu}"/>
+ </jar>
+ <jar manifest="tempversion" destfile="${jogl.util.gl2.jar}">
+ <fileset dir="${classes}"
+ includes="${java.part.util.gl2}"
+ excludes="com/sun/opengl/**/awt/**"/>
+ </jar>
+ <jar manifest="tempversion" destfile="${jogl.util.awt.jar}">
+ <fileset dir="${classes}"
+ includes="${java.part.util.awt}"/>
+ </jar>
+ <jar manifest="tempversion" destfile="${jogl.util.fixedfuncemu.jar}">
+ <fileset dir="${classes}"
+ includes="${java.part.util.fixedfuncemu}"/>
+ <fileset dir="${src.java}"
+ includes="${java.part.util.fixedfuncemu.shadercode}"/>
+ </jar>
+ <jar manifest="tempversion" destfile="${jogl.all.jar}">
+ <fileset dir="${classes}">
+ <include name="javax/media/opengl/**" />
+ <include name="com/sun/gluegen/runtime/**" />
+ <include name="com/sun/opengl/**" />
+ <include name="${java.part.openmax}" />
+ <!-- FIXME: this is temporary until we move these classes to another workspace -->
+ <include name="com/sun/javafx/**" />
+ </fileset>
+ <fileset dir="${src.java}"
+ includes="${java.part.util.fixedfunc.shaders}"/>
+ </jar>
+ <delete file="tempversion"/>
+ </target>
+
+
+ <target name="cond-else-RImanifest" depends="check-RIcond" unless="RIcond-is-true">
+ <tstamp>
+ <format property="timestamp" pattern="yyyyMMdd-HH:mm:ss"/>
+ </tstamp>
+ <copy file="joglversion"
+ tofile="tempversion"
+ overwrite="true">
+ <filterset>
+ <filter token="VERSION" value="${base_version}-pre-${timestamp}"/>
+ <filter token="BASEVERSION" value="${base_version}"/>
+ </filterset>
+ </copy>
+ <jar manifest="tempversion" destfile="${jogl.jar}">
+ <fileset dir="${classes}">
+ <include name="javax/media/opengl/**" />
+ <include name="com/sun/gluegen/runtime/**" />
+ <include name="com/sun/opengl/**" />
+ <include name="com/sun/javafx/**" />
+ </fileset>
+ </jar>
+ <delete file="tempversion"/>
+ </target>
+
+ <!-- ================================================================== -->
+ <!--
+ - Build the Javadocs for the sources.
+ - NOTE: these are not entirely correct as the javadocs targets depend
+ - on the platform specific build targets. To circumvent any
+ - errors, ensure that the source is built first.
+ -->
+ <target name="javadoc.nocg" depends="load.user.properties,init" unless="jogl.cg">
+ <!-- Build the general public Javadoc -->
+ <javadoc packagenames="${javadoc.packagenames}"
+ excludepackagenames="${java.excludes.javadoc.packagenames}"
+ sourcepath="${src.java};${src.generated.java}"
+ destdir="${javadoc}" windowtitle="${javadoc.windowtitle}"
+ overview="${javadoc.overview}"
+ source="1.4"
+ linkoffline="${javadoc.link} 142-packages"
+ bottom="${javadoc.bottom}" >
+ <classpath refid="nativewindow_gluegen.classpath"/>
+ <taglet name="net.highteq.nativetaglet.NativeTaglet" path="${gluegen.jar}" />
+ </javadoc>
+ </target>
+
+ <!-- Same as above but with Cg directories added -->
+ <target name="javadoc.cg" depends="load.user.properties,init" if="jogl.cg">
+ <!-- Build the general public Javadoc with CG -->
+ <javadoc packagenames="${javadoc.packagenames},com.sun.opengl.cg"
+ excludepackagenames="${java.excludes.javadoc.packagenames}"
+ sourcepath="${src.java};${src.generated.java}"
+ destdir="${javadoc}" windowtitle="${javadoc.windowtitle}"
+ overview="${javadoc.overview}"
+ source="1.4"
+ linkoffline="${javadoc.link} 142-packages"
+ bottom="${javadoc.bottom}" >
+ <classpath refid="nativewindow_gluegen.classpath"/>
+ <taglet name="net.highteq.nativetaglet.NativeTaglet" path="${gluegen.jar}" />
+ </javadoc>
+ </target>
+
+ <target name="javadoc" depends="javadoc.nocg,javadoc.cg" />
+
+ <target name="javadoc.spec.nocg" depends="load.user.properties,init" unless="jogl.cg">
+ <!-- Build the specification Javadoc -->
+ <javadoc packagenames="${javadoc.spec.packagenames}"
+ excludepackagenames="${java.excludes.javadoc.packagenames}"
+ sourcepath="${src.java};${src.generated.java}"
+ destdir="${javadoc.spec}" windowtitle="${javadoc.windowtitle}"
+ overview="${javadoc.overview}"
+ source="1.4"
+ linkoffline="${javadoc.link} 142-packages"
+ bottom="${javadoc.bottom}" >
+ <classpath refid="nativewindow_gluegen.classpath"/>
+ <taglet name="net.highteq.nativetaglet.NativeTaglet" path="${gluegen.jar}" />
+ </javadoc>
+ </target>
+
+ <!-- Same as above since Cg directories are not part of spec -->
+ <target name="javadoc.spec.cg" depends="load.user.properties,init" if="jogl.cg">
+ <!-- Build the specification Javadoc with CG -->
+ <javadoc packagenames="${javadoc.spec.packagenames}"
+ excludepackagenames="${java.excludes.javadoc.packagenames}"
+ sourcepath="${src.java};${src.generated.java}"
+ destdir="${javadoc.spec}" windowtitle="${javadoc.windowtitle}"
+ overview="${javadoc.overview}"
+ source="1.4"
+ linkoffline="${javadoc.link} 142-packages"
+ bottom="${javadoc.bottom}" >
+ <classpath refid="nativewindow_gluegen.classpath"/>
+ <taglet name="net.highteq.nativetaglet.NativeTaglet" path="${gluegen.jar}" />
+ </javadoc>
+ </target>
+
+ <target name="javadoc.spec" depends="javadoc.spec.nocg,javadoc.spec.cg" />
+
+ <target name="javadoc.dev.nocg" unless="jogl.cg">
+ <!-- Build the internal developer Javadoc -->
+ <javadoc packagenames="${javadoc.dev.packagenames}"
+ excludepackagenames="${java.excludes.javadoc.packagenames}"
+ sourcepath="${src.java};${src.generated.java}"
+ destdir="${javadoc.dev}" windowtitle="${javadoc.windowtitle}"
+ overview="${javadoc.overview}"
+ source="1.4"
+ linkoffline="${javadoc.link} 142-packages"
+ bottom="${javadoc.bottom}" >
+ <classpath refid="nativewindow_gluegen.classpath"/>
+ <taglet name="net.highteq.nativetaglet.NativeTaglet" path="${gluegen.jar}" />
+ </javadoc>
+ </target>
+
+ <!-- Same as above but with Cg directories added -->
+ <target name="javadoc.dev.cg" if="jogl.cg">
+ <!-- Build the internal developer Javadoc -->
+ <javadoc packagenames="${javadoc.dev.packagenames},com.sun.opengl.cg"
+ excludepackagenames="${java.excludes.javadoc.packagenames}"
+ sourcepath="${src.java};${src.generated.java}"
+ destdir="${javadoc.dev}" windowtitle="${javadoc.windowtitle}"
+ overview="${javadoc.overview}"
+ source="1.4"
+ linkoffline="${javadoc.link} 142-packages"
+ bottom="${javadoc.bottom}" >
+ <classpath refid="nativewindow_gluegen.classpath"/>
+ <taglet name="net.highteq.nativetaglet.NativeTaglet" path="${gluegen.jar}" />
+ </javadoc>
+ </target>
+
+ <target name="javadoc.dev.all" depends="load.user.properties,init,javadoc.dev.nocg,javadoc.dev.cg" />
+
+ <target name="all.doc" description="Build JOGL docs" depends="init,javadoc,javadoc.spec,javadoc.dev.all" />
+
+ <!-- ================================================================== -->
+ <!--
+ - Build the platform-independent distribution out of jars built for
+ - Windows, Linux and Mac OS X; the Java sources for Jogl can't be
+ - fully cross-compiled at this time. To run this target, you need to
+ - specify the property jogl.dist.dir as a System property (i.e.,
+ - "ant -Djogl.dist.dir=../dist dist"); directories named jogl-linux,
+ - jogl-win, and jogl-macosx need to be inside that directory and each
+ - of those directories needs to contain both the jogl.jar for that
+ - platform as well as the native code (libjogl.so, jogl.dll, or
+ - libjogl.jnilib). Also builds jars containing the native code for
+ - Windows, Linux, Mac OS X, Solaris/SPARC and Solaris/x86.
+ -->
+ <target name="dist.dir.check" unless="jogl.dist.dir">
+ <fail>
+
+ ******************************************************************
+ ** To build the Jogl distribution out of the platform-specific **
+ ** component jars and native code, the property jogl.dist.dir **
+ ** needs to be specified on the command line. Please read the **
+ ** comments associated with the "dist" target in the build.xml. **
+ ******************************************************************
+ </fail>
+ </target>
+
+ <target name="dist.check.windows" if="jogl.dist.dir">
+ <condition property="windows.complete">
+ <and>
+ <available file="${jogl.dist.dir}/jogl-win/jogl.jar" />
+ <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">
+ ******************************************************************
+ ** Files are missing from the Windows build. This will cause **
+ ** the distribution to be incomplete. Please check the status **
+ ** of the Windows build and try again. **
+ ******************************************************************
+ </fail>
+ </target>
+
+ <target name="dist.check.windows-amd64" if="jogl.dist.dir">
+ <condition property="windows-amd64.complete">
+ <and>
+ <available file="${jogl.dist.dir}/jogl-win/64/jogl.dll" />
+ <available file="${jogl.dist.dir}/jogl-win/64/jogl_awt.dll" />
+ <available file="${jogl.dist.dir}/jogl-win/64/jogl_cg.dll" />
+ <available file="${jogl.dist.dir}/jogl-win/64/gluegen-rt.dll" />
+ <available file="${jogl.dist.dir}/jogl-win/64/gluegen-rt-natives-windows-amd64.jar" />
+ </and>
+ </condition>
+ <fail unless="windows-amd64.complete">
+ *********************************************************************
+ ** Files are missing from the Windows/AMD64 build. This will cause **
+ ** the distribution to be incomplete. Please check the status **
+ ** of the Windows/AMD64 build and try again. **
+ *********************************************************************
+ </fail>
+ </target>
+
+ <target name="dist.check.linux" if="jogl.dist.dir">
+ <condition property="linux.complete">
+ <and>
+ <available file="${jogl.dist.dir}/jogl-linux/jogl.jar" />
+ <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 -->
+ <available file="${jogl.dist.dir}/jogl-linux/DebugGL2.java" />
+ <available file="${jogl.dist.dir}/jogl-linux/TraceGL2.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">
+ ******************************************************************
+ ** Files are missing from the Linux build. This will cause **
+ ** the distribution to be incomplete. Please check the status **
+ ** of the Linux build and try again. **
+ ******************************************************************
+ </fail>
+ </target>
+
+ <target name="dist.check.linux-amd64" if="jogl.dist.dir">
+ <condition property="linux-amd64.complete">
+ <and>
+ <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-amd64.complete">
+ *******************************************************************
+ ** Files are missing from the Linux/AMD64 build. This will cause **
+ ** the distribution to be incomplete. Please check the status **
+ ** of the Linux/AMD64 build and try again. **
+ *******************************************************************
+ </fail>
+ </target>
+
+ <target name="dist.check.macosx" if="jogl.dist.dir">
+ <condition property="macosx.complete">
+ <and>
+ <available file="${jogl.dist.dir}/jogl-macosx/jogl.jar" />
+ <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">
+ ******************************************************************
+ ** Files are missing from the Mac OS X build. This will cause **
+ ** the distribution to be incomplete. Please check the status **
+ ** of the Mac OS X build and try again. **
+ ******************************************************************
+ </fail>
+ </target>
+
+
+ <target name="dist.check.macosxfat" if="jogl.dist.dir">
+ <condition property="macosxfat.complete">
+ <and>
+ <available file="${jogl.dist.dir}/jogl-macosx/jogl.jar" />
+ <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">
+ ******************************************************************
+ ** Files are missing from the Mac OS X build. This will cause **
+ ** the distribution to be incomplete. Please check the status **
+ ** of the Mac OS X build and try again. **
+ ******************************************************************
+ </fail>
+ </target>
+
+
+
+ <target name="dist.check.solsparc" if="jogl.dist.dir">
+ <condition property="solsparc.complete">
+ <and>
+ <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/libgluegen-rt.so" />
+ <available file="${jogl.dist.dir}/jogl-solsparc/32/gluegen-rt-natives-solaris-sparc.jar" />
+ </and>
+ </condition>
+ <fail unless="solsparc.complete">
+ ******************************************************************
+ ** Files are missing from the Solaris/SPARC build. This will **
+ ** cause the distribution to be incomplete. Please check the **
+ ** status of the Solaris/SPARC build and try again. **
+ ******************************************************************
+ </fail>
+ </target>
+
+ <target name="dist.check.solsparcv9" if="jogl.dist.dir">
+ <condition property="solsparcv9.complete">
+ <and>
+ <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/libgluegen-rt.so" />
+ <available file="${jogl.dist.dir}/jogl-solsparc/64/gluegen-rt-natives-solaris-sparcv9.jar" />
+ </and>
+ </condition>
+ <fail unless="solsparcv9.complete">
+ ******************************************************************
+ ** Files are missing from the Solaris/SPARCv9 build. This will **
+ ** cause the distribution to be incomplete. Please check the **
+ ** status of the Solaris/SPARCv9 build and try again. **
+ ******************************************************************
+ </fail>
+ </target>
+
+ <target name="dist.check.solx86" if="jogl.dist.dir">
+ <condition property="solx86.complete">
+ <and>
+ <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_cg.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">
+ ******************************************************************
+ ** Files are missing from the Solaris/x86 build. This will **
+ ** cause the distribution to be incomplete. Please check the **
+ ** status of the Solaris/x86 build and try again. **
+ ******************************************************************
+ </fail>
+ </target>
+
+ <target name="dist.check.solamd64" if="jogl.dist.dir">
+ <condition property="solamd64.complete">
+ <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/libgluegen-rt.so" />
+ <available file="${jogl.dist.dir}/jogl-solx86/64/gluegen-rt-natives-solaris-amd64.jar" />
+ </and>
+ </condition>
+ <fail unless="solamd64.complete">
+ ******************************************************************
+ ** Files are missing from the Solaris/x86/64 (amd64) build. This *
+ ** will cause the distribution **
+ ** to be incomplete. Please check the **
+ ** status of the Solaris/x86 (amd64) build and try again. **
+ ******************************************************************
+ </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 -->
+ <delete dir="${jogl.dist.dir}/tmp" failonerror="false" />
+ <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="*${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="../CHANGELOG.txt" todir="${jogl.dist.dir}/tmp/${jogl.tmp.version}" />
+ <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="setup-version-RI" if="RImanifestfile">
+ <property name="tmp.version" value="${base_version}" />
+ </target>
+
+ <target name="setup-version-non-RI" unless="RImanifestfile">
+ <tstamp>
+ <format property="timestamp" pattern="yyyyMMdd"/>
+ </tstamp>
+ <property name="tmp.version" value="${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">
+ <delete>
+ <fileset dir="${jogl.dist.dir}" includes="*.jar" />
+ </delete>
+ <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" />
+ <!-- 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/jogl.jar, jogl-linux/jogl.jar, jogl-macosx/jogl.jar" />
+ </jar>
+ <!-- Apply Pack200 repacking to allow later compression by that mechanism -->
+ <apply executable="pack200" verbose="true" >
+ <arg value="--repack" />
+ <fileset file="${jogl.dist.dir}/jogl.jar" />
+ </apply>
+ <jar destfile="${jogl.dist.dir}/jogl-natives-windows-i586.jar"
+ basedir="${jogl.dist.dir}/jogl-win/32"
+ includes="jogl.dll,jogl_awt.dll,jogl_cg.dll" />
+ <jar destfile="${jogl.dist.dir}/jogl-natives-windows-amd64.jar"
+ basedir="${jogl.dist.dir}/jogl-win/64"
+ 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" />
+ <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" />
+ <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" />
+ <jar destfile="${jogl.dist.dir}/jogl-natives-macosx-universal.jar"
+ basedir="${jogl.dist.dir}/jogl-macosx/fat"
+ 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" />
+ <jar destfile="${jogl.dist.dir}/jogl-natives-solaris-sparcv9.jar"
+ basedir="${jogl.dist.dir}/jogl-solsparc/64"
+ 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_cg.so" />
+ <jar destfile="${jogl.dist.dir}/jogl-natives-solaris-amd64.jar"
+ basedir="${jogl.dist.dir}/jogl-solx86/64"
+ 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-win/64" 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 -->
+ <!-- "ant clean") -->
+ <mkdir dir="../${rootrel.build.jogl}/gensrc/classes/javax/media/opengl/glu" />
+ <copy file="${jogl.dist.dir}/jogl-linux/DebugGL2.java" todir="../${rootrel.build.jogl}/gensrc/classes/javax/media/opengl" />
+ <copy file="${jogl.dist.dir}/jogl-linux/TraceGL2.java" todir="../${rootrel.build.jogl}/gensrc/classes/javax/media/opengl" />
+ <copy file="${jogl.dist.dir}/jogl-linux/GL.java" todir="../${rootrel.build.jogl}/gensrc/classes/javax/media/opengl" />
+ <copy file="${jogl.dist.dir}/jogl-linux/GLU.java" todir="../${rootrel.build.jogl}/gensrc/classes/javax/media/opengl/glu" />
+ <copy file="${jogl.dist.dir}/jogl-linux/GLUquadric.java" todir="../${rootrel.build.jogl}/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/*.txt,jogl/${rootrel.build.jogl}/gensrc/classes/javax/media/opengl/**,jogl/doc/**,jogl/make/**,jogl/src/jogl/**"
+ 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.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>
+ <antcall target="dist.build.zip" inheritAll="true">
+ <param name="zip.os.arch" value="windows-amd64" />
+ <param name="zip.so.suffix" value=".dll" />
+ <param name="zip.src.so.dir" value="${jogl.dist.dir}/jogl-win/64" />
+ </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" />
+ <!-- Create a version.txt file indicating which version we just built -->
+ <echo message="${tmp.version}" file="${jogl.dist.dir}/version.txt" />
+ </target>
+
+ <!-- ================================================================== -->
+ <!--
+ - Clean up all that is built.
+ -->
+ <target name="clean" description="Remove all build products" depends="declare.common">
+ <delete includeEmptyDirs="true" quiet="true">
+ <fileset dir="${tempdir}" />
+ <fileset dir="${build}" />
+ <fileset dir="${javadoc}" />
+ <fileset dir="${javadoc.spec}" />
+ <fileset dir="${javadoc.dev}" />
+ </delete>
+ </target>
+
+ <!-- ================================================================== -->
+ <!--
+ - Build everything.
+ -->
+ <target name="all" description="Build JOGL JAR file(s) and native libraries." depends="load.user.properties,init,jar,c.build.jogl" />
+
+ <!-- ================================================================== -->
+ <!--
+ - Build everything and use Sun's Implementation tag in the manifest to
+ - indicate this is the Reference Implementation.
+ -->
+ <target name="RI">
+ <!-- Set property for using the RI manifest file so jogl.jar is versioned
+ - properly
+ -->
+ <property name="RImanifestfile" value="joglRIversion" />
+ <antcall target="all" inheritRefs="true" />
+ </target>
+</project>