diff options
Diffstat (limited to 'make')
-rw-r--r-- | make/build-common.xml | 333 | ||||
-rw-r--r-- | make/build-jogl.xml | 614 | ||||
-rw-r--r-- | make/build-junit.xml | 108 | ||||
-rw-r--r-- | make/build-nativewindow.xml | 248 | ||||
-rw-r--r-- | make/build-newt.xml | 211 | ||||
-rw-r--r-- | make/build.xml | 119 | ||||
-rw-r--r-- | make/versions.xml | 3 |
7 files changed, 744 insertions, 892 deletions
diff --git a/make/build-common.xml b/make/build-common.xml new file mode 100644 index 000000000..bee69a5a9 --- /dev/null +++ b/make/build-common.xml @@ -0,0 +1,333 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<project name="JOGLCommonStuff" basedir="." default="common.init"> + + <description>Common JOGL Stuff</description> + + <!-- Pull in GlueGen cpptasks build file --> + <property name="gluegen.root" value="../../gluegen" /> + <import file="${gluegen.root}/make/gluegen-cpptasks.xml" /> + + <condition property="rootrel.build" value="build"> + <not> + <isset property="rootrel.build"/> + </not> + </condition> + + <import file="versions.xml" /> + + <tstamp> + <format property="version.timestamp" pattern="yyyyMMdd"/> + </tstamp> + + <target name="nativewindow.setup-version-RI" if="nativewindow.ri"> + <property name="nativewindow.version" value="${nativewindow_base_version}" /> + </target> + + <target name="nativewindow.setup-version-non-RI" unless="nativewindow.ri"> + <property name="nativewindow.version" value="${nativewindow_base_version}-pre-${version.timestamp}" /> + </target> + <target name="jogl.setup-version-RI" if="jogl.ri"> + <property name="jogl.version" value="${jogl_base_version}" /> + </target> + + <target name="jogl.setup-version-non-RI" unless="jogl.ri"> + <property name="jogl.version" value="${jogl_base_version}-pre-${timestamp}" /> + </target> + + <target name="newt.setup-version-RI" if="newt.ri"> + <property name="newt.version" value="${newt_base_version}" /> + </target> + + <target name="newt.setup-version-non-RI" unless="newt.ri"> + <property name="newt.version" value="${newt_base_version}-pre-${version.timestamp}" /> + </target> + + <target name="setup-versions" depends="nativewindow.setup-version-RI, nativewindow.setup-version-non-RI, jogl.setup-version-RI, jogl.setup-version-non-RI, newt.setup-version-RI, newt.setup-version-non-RI"/> + + <!-- ================================================================== --> + <!-- + - Base initialization of properties and detection of operating system. + --> + <target name="common.init" depends="gluegen.cpptasks.detect.os,setup-versions" unless="common.init.done"> + <property name="common.init.done" value="true" /> + + <!-- Set the project root directory to be up one directory. --> + <property name="project.root" value=".." /> + <property name="build" value="${project.root}/${rootrel.build}" /> + <property name="src" value="${project.root}/src" /> + <property name="lib" value="${build}/lib" /> + + <property name="archive.name" value="jogl-${tmp.version}-${os.and.arch}" /> + <property name="archive" value="${build}/${archive.name}" /> + + <property name="all.srcj.path" value="${src}/nativewindow/classes;${src}/jogl/classes;${src}/newt/classes" /> + <!-- No generated classes for Newt at the present time --> + <property name="all.genj.path" value="${build}/nativewindow/gensrc/classes;${build}/jogl/gensrc/classes" /> + + <!-- Set the configuration and build files to this directory. --> + <property name="make" value="." /> + <property name="config" value="${make}/config" /> + <property name="stub.includes" value="stub_includes" /> <!-- NOTE: this MUST be relative for FileSet --> + <property name="stub.includes.common" value="${stub.includes}/common" /> + + <condition property="setup.nodesktop"> + <and> + <isfalse value="${isWindows}" /> + <isfalse value="${isOSX}" /> + <isfalse value="${isX11}" /> + </and> + </condition> + + <echo message="setup.nodesktop: ${setup.nodesktop}" /> + <echo message="setup.noAWT: ${setup.noAWT}" /> + <echo message="setup.noCDC: ${setup.noCDC}" /> + + <!-- 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}" /> + + <property name="target.sourcelevel" value="1.4" /> + <property name="host.sourcelevel" value="1.5" /> + + <!-- 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 "/". --> + + <property name="javac.bootclasspath-cdc.jar" value="${gluegen.root}/make/lib/cdc_fp.jar"/> + <echo message="javac.bootclasspath-cdc.jar: ${javac.bootclasspath-cdc.jar}" /> + + <!-- NOTE that these require a checked-out GlueGen, etc workspace as a --> + <!-- sibling of the JOGL workspace. --> + <property name="gluegen.make" value="${gluegen.root}/make" /> + <property name="gluegen.build.xml" value="${gluegen.make}/build.xml" /> + <property name="build.gluegen" value="${gluegen.root}/${rootrel.build}" /> + <property name="obj.gluegen" value="${build.gluegen}/obj"/> + <property name="gluegen.jar" value="${build.gluegen}/gluegen.jar" /> + <property name="junit.jar" value="${gluegen.make}/lib/junit-4.5.jar" /> + + <property name="nativewindow.make" value="." /> + <property name="nativewindow.build.xml" value="${nativewindow.make}/build-nativewindow.xml" /> + <property name="build.nativewindow" value="${build}/nativewindow" /> + <property name="obj.nativewindow" value="${build.nativewindow}/obj"/> + + <property name="jogl.make" value="." /> + <property name="jogl.build.xml" value="${jogl.make}/build-jogl.xml" /> + <property name="build.jogl" value="${build}/jogl" /> + <property name="obj.jogl" value="${build.jogl}/obj"/> + + <property name="newt.make" value="." /> + <property name="newt.build.xml" value="${newt.make}/build-newt.xml" /> + <property name="build.newt" value="${build}/newt" /> + <property name="obj.newt" value="${build.newt}/obj"/> + + <property name="junit.make" value="." /> + <property name="junit.build.xml" value="${junit.make}/build-junit.xml" /> + <property name="results.junit" value="${build}/test/results" /> + <property name="build.junit" value="${build}/test/build" /> + <property name="obj.junit" value="${build.junit}/obj"/> + + <property name="obj.all.paths" value="${obj.gluegen}${path.separator}${obj.nativewindow}${path.separator}${obj.jogl}${path.separator}${obj.newt}${path.separator}${obj.junit}" /> + + <path id="gluegen.classpath"> + <pathelement location="${gluegen.jar}" /> + <pathelement location="${antlr.jar}" /> + </path> + + <!-- JavaSE combinations --> + <property name="gluegen-rt.jar" value="${build.gluegen}/gluegen-rt.jar" /> + <property name="jogl.test.jar" value="${build.jogl}/jogl.test.jar"/> + + <!-- JavaSE combinations . AWT --> + <property name="nativewindow.all.jar" value="${build.nativewindow}/nativewindow.all.jar" /> + <property name="jogl.all.jar" value="${build.jogl}/jogl.all.jar" /> + <property name="newt.all.jar" value="${build.newt}/newt.all.jar" /> + + <path id="nativewindow_gluegen.classpath"> + <pathelement location="${gluegen-rt.jar}" /> + <pathelement location="${nativewindow.all.jar}" /> + </path> + + <path id="nativewindow_gluegen_jogl.classpath"> + <pathelement location="${gluegen-rt.jar}" /> + <pathelement location="${nativewindow.all.jar}" /> + <pathelement location="${jogl.all.jar}" /> + </path> + + <path id="jogl_newt_all.classpath"> + <pathelement location="${gluegen-rt.jar}" /> + <pathelement location="${nativewindow.all.jar}" /> + <pathelement location="${jogl.all.jar}" /> + <pathelement location="${newt.all.jar}" /> + </path> + + <path id="junit_jogl_newt.compile.classpath"> + <pathelement location="${junit.jar}" /> + <pathelement location="${gluegen-rt.jar}" /> + <pathelement location="${nativewindow.all.jar}" /> + <pathelement location="${jogl.all.jar}" /> + <pathelement location="${newt.all.jar}" /> + </path> + + <path id="junit_jogl_newt.run.classpath"> + <pathelement location="${junit.jar}" /> + <pathelement location="${gluegen-rt.jar}" /> + <pathelement location="${nativewindow.all.jar}" /> + <pathelement location="${jogl.all.jar}" /> + <pathelement location="${newt.all.jar}" /> + <pathelement location="${jogl.test.jar}" /> + </path> + + <!-- JavaSE combinations . NO.AWT --> + <property name="nativewindow.all-noawt.jar" value="${build.nativewindow}/nativewindow.all-noawt.jar" /> + <property name="jogl.all-noawt.jar" value="${build.jogl}/jogl.all-noawt.jar" /> + <property name="newt.all-noawt.jar" value="${build.newt}/newt.all-noawt.jar" /> + + <path id="jogl_newt_all-noawt.classpath"> + <pathelement location="${gluegen-rt.jar}" /> + <pathelement location="${nativewindow.all-noawt.jar}" /> + <pathelement location="${jogl.all-noawt.jar}" /> + <pathelement location="${newt.all-noawt.jar}" /> + </path> + + <!-- CDC combinations . NO.AWT --> + <property name="gluegen-rt-cdc.jar" value="${build.gluegen}/gluegen-rt-cdc.jar" /> + + <property name="nativewindow.all.cdc.jar" value="${build.nativewindow}/nativewindow.all.cdc.jar" /> + <property name="jogl.all.cdc.jar" value="${build.jogl}/jogl.all.cdc.jar" /> + <property name="newt.all.cdc.jar" value="${build.newt}/newt.all.cdc.jar" /> + + <path id="nativewindow_gluegen.classpath-cdc"> + <pathelement location="${gluegen-rt-cdc.jar}" /> + <pathelement location="${nativewindow.all.cdc.jar}" /> + </path> + + <path id="nativewindow_gluegen_jogl.classpath-cdc"> + <pathelement location="${gluegen-rt-cdc.jar}" /> + <pathelement location="${nativewindow.all.cdc.jar}" /> + <pathelement location="${jogl.all.cdc.jar}" /> + </path> + + <path id="jogl_newt_all.classpath-cdc"> + <pathelement location="${gluegen-rt-cdc.jar}" /> + <pathelement location="${nativewindow.all.cdc.jar}" /> + <pathelement location="${jogl.all.cdc.jar}" /> + <pathelement location="${newt.all.cdc.jar}" /> + </path> + + <!-- Atomic JavaSE JARS --> + + <property name="nativewindow.core.jar" value="${build.nativewindow}/nativewindow.core.jar" /> + <property name="nativewindow.awt.jar" value="${build.nativewindow}/nativewindow.awt.jar" /> + <property name="nativewindow.os.x11.jar" value="${build.nativewindow}/nativewindow.os.x11.jar" /> + + <property name="jogl.core.jar" value="${build.jogl}/jogl.core.jar" /> + <property name="jogl.cg.jar" value="${build.jogl}/jogl.cg.jar" /> + <property name="jogl.gles1.jar" value="${build.jogl}/jogl.gles1.jar" /> + <property name="jogl.gles1.dbg.jar" value="${build.jogl}/jogl.gles1.dbg.jar" /> + <property name="jogl.gles2.jar" value="${build.jogl}/jogl.gles2.jar" /> + <property name="jogl.gles2.dbg.jar" value="${build.jogl}/jogl.gles2.dbg.jar" /> + <property name="jogl.egl.jar" value="${build.jogl}/jogl.egl.jar" /> + <property name="jogl.glutess.jar" value="${build.jogl}/jogl.glu.tess.jar" /> + <property name="jogl.glumipmap.jar" value="${build.jogl}/jogl.glu.mipmap.jar" /> + <property name="jogl.glugl2.jar" value="${build.jogl}/jogl.glu.gl2.jar" /> + + <property name="jogl.os.x11.jar" value="${build.jogl}/jogl.os.x11.jar" /> + <property name="jogl.os.win.jar" value="${build.jogl}/jogl.os.win.jar" /> + <property name="jogl.os.osx.jar" value="${build.jogl}/jogl.os.osx.jar" /> + + <property name="jogl.gl2es12.jar" value="${build.jogl}/jogl.gl2es12.jar" /> + + <property name="jogl.gl2.jar" value="${build.jogl}/jogl.gl2.jar" /> + <property name="jogl.gl2.dbg.jar" value="${build.jogl}/jogl.gl2.dbg.jar" /> + + <property name="jogl.gl3.jar" value="${build.jogl}/jogl.gl3.jar" /> + <property name="jogl.gl3.dbg.jar" value="${build.jogl}/jogl.gl3.dbg.jar" /> + + <property name="jogl.gl4.jar" value="${build.jogl}/jogl.gl4.jar" /> + <property name="jogl.gl4.dbg.jar" value="${build.jogl}/jogl.gl4.dbg.jar" /> + + <property name="jogl.omx.jar" value="${build.jogl}/jogl.omx.jar" /> + + <property name="jogl.awt.jar" value="${build.jogl}/jogl.awt.jar" /> + <property name="jogl.util.jar" value="${build.jogl}/jogl.util.jar" /> + <property name="jogl.util.gl2.jar" value="${build.jogl}/jogl.util.gl2.jar" /> + <property name="jogl.util.awt.jar" value="${build.jogl}/jogl.util.awt.jar" /> + <property name="jogl.util.fixedfuncemu.jar" value="${build.jogl}/jogl.util.fixedfuncemu.jar" /> + <property name="jogl.sdk.jar" value="${build.jogl}/jogl.sdk.jar" /> + + <property name="newt.core.jar" value="${build.newt}/newt.core.jar" /> + <property name="newt.os.x11.jar" value="${build.newt}/newt.os.x11.jar" /> + <property name="newt.os.win.jar" value="${build.newt}/newt.os.win.jar" /> + <property name="newt.os.osx.jar" value="${build.newt}/newt.os.osx.jar" /> + <property name="newt.ogl.jar" value="${build.newt}/newt.ogl.jar" /> + <property name="newt.broadcomegl.jar" value="${build.newt}/newt.broadcomegl.jar" /> + <property name="newt.awt.jar" value="${build.newt}/newt.awt.jar" /> + + <!-- Atomic CDC JARS --> + <property name="nativewindow.core.cdc.jar" value="${build.nativewindow}/nativewindow.core.cdc.jar" /> + <property name="nativewindow.os.x11.cdc.jar" value="${build.nativewindow}/nativewindow.os.x11.cdc.jar" /> + + <property name="jogl.core.cdc.jar" value="${build.jogl}/jogl.core.cdc.jar" /> + <property name="jogl.gles1.cdc.jar" value="${build.jogl}/jogl.gles1.cdc.jar" /> + <property name="jogl.gles1.dbg.cdc.jar" value="${build.jogl}/jogl.gles1.dbg.cdc.jar" /> + <property name="jogl.gles2.cdc.jar" value="${build.jogl}/jogl.gles2.cdc.jar" /> + <property name="jogl.gles2.dbg.cdc.jar" value="${build.jogl}/jogl.gles2.dbg.cdc.jar" /> + <property name="jogl.egl.cdc.jar" value="${build.jogl}/jogl.egl.cdc.jar" /> + <property name="jogl.glutess.cdc.jar" value="${build.jogl}/jogl.glu.tess.cdc.jar" /> + <property name="jogl.glumipmap.cdc.jar" value="${build.jogl}/jogl.glu.mipmap.cdc.jar" /> + <property name="jogl.os.x11.cdc.jar" value="${build.jogl}/jogl.os.x11.cdc.jar" /> + <property name="jogl.os.win.cdc.jar" value="${build.jogl}/jogl.os.win.cdc.jar" /> + <property name="jogl.os.osx.cdc.jar" value="${build.jogl}/jogl.os.osx.cdc.jar" /> + <property name="jogl.gl2es12.cdc.jar" value="${build.jogl}/jogl.gl2es12.cdc.jar" /> + <property name="jogl.util.cdc.jar" value="${build.jogl}/jogl.util.cdc.jar" /> + <property name="jogl.util.fixedfuncemu.cdc.jar" value="${build.jogl}/jogl.util.fixedfuncemu.cdc.jar" /> + + <property name="newt.core.cdc.jar" value="${build.newt}/newt.core.cdc.jar" /> + <property name="newt.os.x11.cdc.jar" value="${build.newt}/newt.os.x11.cdc.jar" /> + <property name="newt.os.win.cdc.jar" value="${build.newt}/newt.os.win.cdc.jar" /> + <property name="newt.os.osx.cdc.jar" value="${build.newt}/newt.os.osx.cdc.jar" /> + <property name="newt.ogl.cdc.jar" value="${build.newt}/newt.ogl.cdc.jar" /> + <property name="newt.broadcomegl.cdc.jar" value="${build.newt}/newt.broadcomegl.cdc.jar" /> + + <!-- 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" /> + </target> + + <!-- ================================================================== --> + <!-- GlueGen and BuildStaticGLInfo creation, task setup and Java file generation --> + <!-- + - Build GlueGen + --> + <target name="common.gluegen.build" depends="common.init" unless="common.gluegen.build.done"> + <property name="common.gluegen.build.done" value="true" /> + + <!-- 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}" target="all" inheritAll="false"> + <propertyset> + <propertyref name="antlr.jar" /> + <!--propertyref name="gluegen.nsig" /--> + </propertyset> + </ant> + </target> + + +</project> diff --git a/make/build-jogl.xml b/make/build-jogl.xml index e8d37dd05..5381c2051 100644 --- a/make/build-jogl.xml +++ b/make/build-jogl.xml @@ -63,32 +63,13 @@ --> <project name="JOGL" basedir="." default="all"> - <import file="versions.xml" /> - - <!-- Pull in GlueGen cpptasks build file --> - <property name="gluegen.root" value="../../gluegen" /> - <import file="${gluegen.root}/make/gluegen-cpptasks.xml" /> + <import file="build-common.xml"/> <!-- ================================================================== --> <!-- - Base initialization and detection of operating system. --> - <target name="base.init" depends="gluegen.cpptasks.detect.os"> - - <condition property="setup.nodesktop"> - <and> - <isfalse value="${isWindows}" /> - <isfalse value="${isOSX}" /> - <isfalse value="${isX11}" /> - </and> - </condition> - - <echo message="setup.nodesktop: ${setup.nodesktop}" /> - <echo message="setup.noAWT: ${setup.noAWT}" /> - <echo message="setup.noCDC: ${setup.noCDC}" /> - - <!-- partitioning --> - + <target name="partitioning.setup" depends="common.init"> <property name="java.part.core" value="javax/media/opengl/* javax/media/opengl/fixedfunc/* javax/media/opengl/glu/* javax/media/opengl/glu/gl2es1/* com/jogamp/opengl/impl/* com/jogamp/opengl/impl/glu/* com/jogamp/opengl/impl/glu/error/*"/> <property name="java.part.core.exclude" value="javax/media/opengl/Debug* javax/media/opengl/Trace*"/> @@ -207,109 +188,30 @@ <property name="java.excludes.all" value="${java.excludes.fixme} ${java.excludes.nv-cg} ${java.excludes.awt} ${java.excludes.desktop}" /> <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" /> - <property name="junit.sourcelevel" value="1.5" /> - </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.junit" value="src/jogl/junit" /> - <property name="rootrel.src.c" value="src/jogl/native" /> - <property name="rootrel.src.c.openmax" value="src/jogl/native/openmax" /> + <target name="declare.common" description="Declare properties" depends="partitioning.setup"> + <property name="config.jogl" value="${config}/jogl" /> - <property name="rootrel.src.generated" value="${rootrel.build.jogl}/gensrc" /> + <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" /> - - <property name="javac.bootclasspath-cdc.jar" value="${gluegen.root}/make/lib/cdc_fp.jar"/> - - <!-- 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.root}/make" /> - <property name="gluegen.build.xml" value="${gluegen.make.dir}/build.xml" /> - <property name="gluegen.jar" value="${gluegen.root}/${rootrel.build}/gluegen.jar" /> - <property name="gluegen-rt.jar" value="${gluegen.root}/${rootrel.build}/gluegen-rt.jar" /> - <property name="gluegen.so.dir" value="${gluegen.root}/${rootrel.build}/obj" /> - <property name="junit.jar" value="${gluegen.make.dir}/lib/junit-4.5.jar" /> - <property name="nativewindow.all.jar" value="../${rootrel.build}/nativewindow/nativewindow.all.jar" /> - <property name="nativewindow.core.jar" value="../${rootrel.build}/nativewindow/nativewindow.core.jar" /> - <property name="nativewindow.os.x11.jar" value="../${rootrel.build}/nativewindow/nativewindow.os.x11.jar" /> - <property name="nativewindow.awt.jar" value="../${rootrel.build}/nativewindow/nativewindow.awt.jar" /> - <property name="nativewindow.so.dir" value="../${rootrel.build}/nativewindow/obj" /> - - <property name="gluegen-rt-cdc.jar" value="${gluegen.root}/${rootrel.build}/gluegen-rt-cdc.jar" /> - <property name="nativewindow.core.cdc.jar" value="../${rootrel.build}/nativewindow/nativewindow.core.cdc.jar" /> - <property name="nativewindow.os.x11.cdc.jar" value="../${rootrel.build}/nativewindow/nativewindow.os.x11.cdc.jar" /> - - <property name="newt.so.dir" value="../${rootrel.build}/newt/obj" /> + <property name="rootrel.generated.c.cg" value="${rootrel.src.generated}/native/jogl_cg" /> <!-- The source directories. --> <property name="src.java" value="${project.root}/${rootrel.src.java}" /> - <property name="src.junit" value="${project.root}/${rootrel.src.junit}" /> <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" value="${build.jogl}/gensrc" /> <property name="src.generated.java" value="${src.generated}/classes" /> <property name="src.generated.java-cdc" value="${src.generated}/classes-cdc" /> <property name="src.generated.java.cg" value="${src.generated.java}/com/jogamp/opengl/cg" /> @@ -318,29 +220,23 @@ <property name="src.generated.c.cg" value="${src.generated}/native/jogl_cg" /> <!-- The compiler output directories. --> - <property name="classes" value="${build}/classes" /> - <property name="classes-cdc" value="${build}/classes-cdc" /> - <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}" /> - - <property name="all.so.dir" value="${gluegen.so.dir}${path.separator}${nativewindow.so.dir}${path.separator}${obj}${path.separator}${newt.so.dir}" /> + <property name="classes" value="${build.jogl}/classes" /> + <property name="classes-cdc" value="${build.jogl}/classes-cdc" /> + <property name="obj.joglsub" value="${obj.jogl}/jogl" /> + <property name="obj.cgsub" value="${obj.jogl}/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" /> + <property name="stub.includes.opengl" value="${stub.includes}/opengl" /> + <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/**" /> + <include name="${stub.includes}/opengl/**" /> + <include name="${stub.includes}/macosx/**" /> + <include name="${stub.includes}/win32/**" /> + <include name="${stub.includes}/x11/**" /> + <include name="${stub.includes}/common/**" /> + <include name="${stub.includes}/jni/**" /> </dirset> - <fileset id="stub.includes.dependencies.fileset.1" dir="${stub.includes.dir}"> + <fileset id="stub.includes.dependencies.fileset.1" dir="${stub.includes}"> <include name="opengl/**" /> <include name="macosx/**" /> <include name="win32/**" /> @@ -349,48 +245,27 @@ <include name="jni/**" /> </fileset> <fileset id="stub.includes.dependencies.fileset.2" file="${gluegen.jar}" /> - <fileset id="stub.includes.dependencies.fileset.3" dir="${config}"> + <fileset id="stub.includes.dependencies.fileset.3" dir="${config.jogl}"> <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/**" /> + <include name="${stub.includes}/opengl/**" /> + <include name="${stub.includes}/cg/**" /> + <include name="${stub.includes}/macosx/**" /> + <include name="${stub.includes}/win32/**" /> + <include name="${stub.includes}/x11/**" /> + <include name="${stub.includes}/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" /> + <include name="${stub.includes}/cg/**" /> + <include name="${config.jogl}/cg-common.cfg" /> + <include name="${config.jogl}/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="${gluegen-rt.jar}" /> - <pathelement location="${nativewindow.core.jar}" /> - <pathelement location="${nativewindow.os.x11.jar}" /> - <pathelement location="${nativewindow.awt.jar}" /> - </path> - - <path id="nativewindow_gluegen.classpath-cdc"> - <pathelement location="${gluegen-rt-cdc.jar}" /> - <pathelement location="${nativewindow.core.cdc.jar}" /> - <pathelement location="${nativewindow.os.x11.cdc.jar}" /> - </path> - - <!-- Create the classpath that includes GlueGen and - the current classes for building the composable pipelines. --> <path id="pipeline.classpath"> @@ -398,79 +273,6 @@ <pathelement location="${classes}" /> </path> - <!-- The resulting Java SE jogl.jar. --> - <property name="jogl.core.jar" value="${build}/jogl.core.jar" /> - <property name="jogl.cg.jar" value="${build}/jogl.cg.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.os.x11.jar" value="${build}/jogl.os.x11.jar" /> - <property name="jogl.os.win.jar" value="${build}/jogl.os.win.jar" /> - <property name="jogl.os.osx.jar" value="${build}/jogl.os.osx.jar" /> - - <property name="jogl.gl2es12.jar" value="${build}/jogl.gl2es12.jar" /> - - <property name="jogl.gl2.jar" value="${build}/jogl.gl2.jar" /> - <property name="jogl.gl2.dbg.jar" value="${build}/jogl.gl2.dbg.jar" /> - - <property name="jogl.gl3.jar" value="${build}/jogl.gl3.jar" /> - <property name="jogl.gl3.dbg.jar" value="${build}/jogl.gl3.dbg.jar" /> - - <property name="jogl.gl4.jar" value="${build}/jogl.gl4.jar" /> - <property name="jogl.gl4.dbg.jar" value="${build}/jogl.gl4.dbg.jar" /> - - <property name="jogl.omx.jar" value="${build}/jogl.omx.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.test.jar" value="${build}/jogl.test.jar"/> - - <property name="jogl.all.jar" value="${build}/jogl.all.jar"/> - <property name="jogl.all-noawt.jar" value="${build}/jogl.all-noawt.jar"/> - - <!-- The resulting CDC jogl.jar. --> - <property name="jogl.core.cdc.jar" value="${build}/jogl.core.cdc.jar" /> - <property name="jogl.gles1.cdc.jar" value="${build}/jogl.gles1.cdc.jar" /> - <property name="jogl.gles1.dbg.cdc.jar" value="${build}/jogl.gles1.dbg.cdc.jar" /> - <property name="jogl.gles2.cdc.jar" value="${build}/jogl.gles2.cdc.jar" /> - <property name="jogl.gles2.dbg.cdc.jar" value="${build}/jogl.gles2.dbg.cdc.jar" /> - <property name="jogl.egl.cdc.jar" value="${build}/jogl.egl.cdc.jar" /> - <property name="jogl.glutess.cdc.jar" value="${build}/jogl.glu.tess.cdc.jar" /> - <property name="jogl.glumipmap.cdc.jar" value="${build}/jogl.glu.mipmap.cdc.jar" /> - <property name="jogl.os.x11.cdc.jar" value="${build}/jogl.os.x11.cdc.jar" /> - <property name="jogl.os.win.cdc.jar" value="${build}/jogl.os.win.cdc.jar" /> - <property name="jogl.os.osx.cdc.jar" value="${build}/jogl.os.osx.cdc.jar" /> - <property name="jogl.gl2es12.cdc.jar" value="${build}/jogl.gl2es12.cdc.jar" /> - <property name="jogl.util.cdc.jar" value="${build}/jogl.util.cdc.jar" /> - <property name="jogl.util.fixedfuncemu.cdc.jar" value="${build}/jogl.util.fixedfuncemu.cdc.jar" /> - - <property name="jogl.all.cdc.jar" value="${build}/jogl.all.cdc.jar"/> - - <path id="jogl_junit.compile.classpath"> - <pathelement location="${junit.jar}" /> - <pathelement location="${gluegen-rt.jar}" /> - <pathelement location="${nativewindow.all.jar}" /> - <pathelement location="${jogl.all.jar}" /> - </path> - - <path id="jogl_junit.run.classpath"> - <pathelement location="${junit.jar}" /> - <pathelement location="${gluegen-rt.jar}" /> - <pathelement location="${nativewindow.all.jar}" /> - <pathelement location="${jogl.all.jar}" /> - <pathelement location="${jogl.test.jar}" /> - </path> - <!-- The javadoc dirs. --> <property name="javadoc" value="${project.root}/javadoc_jogl_public" /> <property name="javadoc.spec" value="${project.root}/javadoc_jogl_spec" /> @@ -487,26 +289,22 @@ </target> <target name="declare.gl.gles1"> - <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 --> + <property name="gles1.headers" value="${stub.includes}/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"> - <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 --> + <property name="gles2.headers" value="${stub.includes}/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" 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.cfg" value="${config.jogl}/egl.cfg" /> + <property name="window.es.ext.cfg" value="${config.jogl}/eglext.cfg" /> <property name="window.es.system" value="egl"/> </target> <target name="declare.gl.gl2"> - <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"> + <property name="gl2.headers" value="${stub.includes}/opengl/GL/*.h" /> <!-- NOTE: this MUST be relative for FileSet --> <!-- CHECK: this may need to be pruned for each platform --> </target> <target name="setup.javacdc"> @@ -530,10 +328,7 @@ - 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"/> - + <target name="init" depends="declare.common, declare.gl.gles, declare.gl.gl2"> <!-- Create the required output directories. --> <mkdir dir="${src.generated.java}" /> <mkdir dir="${src.generated.java-cdc}" /> @@ -544,33 +339,15 @@ <mkdir dir="${src.generated.c.openmax}" /> <mkdir dir="${classes}" /> <mkdir dir="${classes-cdc}" /> - <mkdir dir="${obj}" /> <mkdir dir="${obj.jogl}" /> - <mkdir dir="${obj.cg}" /> + <mkdir dir="${obj.joglsub}" /> + <mkdir dir="${obj.cgsub}" /> <!-- Set up Java SE and Java CDC files --> <antcall target="setup.javase" inheritRefs="true" /> <antcall target="setup.javacdc" inheritRefs="true" /> </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" /--> - </propertyset> - </ant> - </target> - <!-- - Check to see whether we need to rebuild the generated sources. --> @@ -635,7 +412,7 @@ <target name="java.generate.copy2temp"> <copy todir="${tempdir}"> - <fileset dir="${build}" + <fileset dir="${build.jogl}" includes="gensrc/classes/**" /> </copy> </target> @@ -644,8 +421,8 @@ <echo message="Generating GL interface" /> <antcall target="java.generate.copy2temp" inheritRefs="true" /> <gluegen src="${stub.includes.opengl}/gles2.c" - outputRootDir="${build}" - config="${config}/gl-if-gl.cfg" + outputRootDir="${build.jogl}" + config="${config.jogl}/gl-if-gl.cfg" includeRefid="stub.includes.fileset.all.gl2" emitter="com.sun.gluegen.opengl.GLEmitter"> <classpath refid="gluegen.classpath" /> @@ -656,8 +433,8 @@ <echo message="Generating GL2_ES1 interface" /> <antcall target="java.generate.copy2temp" inheritRefs="true" /> <gluegen src="${stub.includes.opengl}/gles1.c" - outputRootDir="${build}" - config="${config}/gl-if-gl2_es1.cfg" + outputRootDir="${build.jogl}" + config="${config.jogl}/gl-if-gl2_es1.cfg" includeRefid="stub.includes.fileset.all.gl2" emitter="com.sun.gluegen.opengl.GLEmitter"> <classpath refid="gluegen.classpath" /> @@ -668,8 +445,8 @@ <echo message="Generating GL2_ES2 interface" /> <antcall target="java.generate.copy2temp" inheritRefs="true" /> <gluegen src="${stub.includes.opengl}/gles2.c" - outputRootDir="${build}" - config="${config}/gl-if-gl2_es2.cfg" + outputRootDir="${build.jogl}" + config="${config.jogl}/gl-if-gl2_es2.cfg" includeRefid="stub.includes.fileset.all.gl2" emitter="com.sun.gluegen.opengl.GLEmitter"> <classpath refid="gluegen.classpath" /> @@ -680,15 +457,15 @@ <echo message="Generating GL2_GL3 interface" /> <antcall target="java.generate.copy2temp" inheritRefs="true" /> <gluegen src="${stub.includes.opengl}/gl3.c" - outputRootDir="${build}" - config="${config}/gl-gl3-set.cfg" + outputRootDir="${build.jogl}" + config="${config.jogl}/gl-gl3-set.cfg" includeRefid="stub.includes.fileset.all.gl2" emitter="com.sun.gluegen.opengl.GLEmitter"> <classpath refid="gluegen.classpath" /> </gluegen> <gluegen src="${stub.includes.opengl}/gl2.c" - outputRootDir="${build}" - config="${config}/gl-if-gl2_gl3.cfg" + outputRootDir="${build.jogl}" + config="${config.jogl}/gl-if-gl2_gl3.cfg" includeRefid="stub.includes.fileset.all.gl2" emitter="com.sun.gluegen.opengl.GLEmitter"> <classpath refid="gluegen.classpath" /> @@ -699,8 +476,8 @@ <echo message="Generating GL2 interface and implementation" /> <antcall target="java.generate.copy2temp" inheritRefs="true" /> <gluegen src="${stub.includes.opengl}/gl2.c" - outputRootDir="${build}" - config="${config}/gl-gl2.cfg" + outputRootDir="${build.jogl}" + config="${config.jogl}/gl-gl2.cfg" includeRefid="stub.includes.fileset.all.gl2" emitter="com.sun.gluegen.opengl.GLEmitter"> <classpath refid="gluegen.classpath" /> @@ -711,8 +488,8 @@ <echo message="Generating GL3 interface and implementation" /> <antcall target="java.generate.copy2temp" inheritRefs="true" /> <gluegen src="${stub.includes.opengl}/gl3.c" - outputRootDir="${build}" - config="${config}/gl-gl3.cfg" + outputRootDir="${build.jogl}" + config="${config.jogl}/gl-gl3.cfg" includeRefid="stub.includes.fileset.all.gl2" emitter="com.sun.gluegen.opengl.GLEmitter"> <classpath refid="gluegen.classpath" /> @@ -723,8 +500,8 @@ <echo message="Generating GL3bc implementation" /> <antcall target="java.generate.copy2temp" inheritRefs="true" /> <gluegen src="${stub.includes.opengl}/gl3bc.c" - outputRootDir="${build}" - config="${config}/gl-gl3bc.cfg" + outputRootDir="${build.jogl}" + config="${config.jogl}/gl-gl3bc.cfg" includeRefid="stub.includes.fileset.all.gl2" emitter="com.sun.gluegen.opengl.GLEmitter"> <classpath refid="gluegen.classpath" /> @@ -735,8 +512,8 @@ <echo message="Generating GL2ES12 implementation" /> <antcall target="java.generate.copy2temp" inheritRefs="true" /> <gluegen src="${stub.includes.opengl}/gl2es12.c" - outputRootDir="${build}" - config="${config}/gl-gl2es12.cfg" + outputRootDir="${build.jogl}" + config="${config.jogl}/gl-gl2es12.cfg" includeRefid="stub.includes.fileset.all.gl2" emitter="com.sun.gluegen.opengl.GLEmitter"> <classpath refid="gluegen.classpath" /> @@ -747,8 +524,8 @@ <echo message="Generating GLES1 interface and implementation" /> <antcall target="java.generate.copy2temp" inheritRefs="true" /> <gluegen src="${stub.includes.opengl}/gles1.c" - outputRootDir="${build}" - config="${config}/gl-es1.cfg" + outputRootDir="${build.jogl}" + config="${config.jogl}/gl-es1.cfg" includeRefid="stub.includes.fileset.all.gl2" emitter="com.sun.gluegen.opengl.GLEmitter"> <classpath refid="gluegen.classpath" /> @@ -759,8 +536,8 @@ <echo message="Generating GLES2 interface and implementation" /> <antcall target="java.generate.copy2temp" inheritRefs="true" /> <gluegen src="${stub.includes.opengl}/gles2.c" - outputRootDir="${build}" - config="${config}/gl-es2.cfg" + outputRootDir="${build.jogl}" + config="${config.jogl}/gl-es2.cfg" includeRefid="stub.includes.fileset.all.gl2" emitter="com.sun.gluegen.opengl.GLEmitter"> <classpath refid="gluegen.classpath" /> @@ -783,8 +560,8 @@ <echo message="Generating GLU class" /> <antcall target="java.generate.copy2temp" inheritRefs="true" /> <gluegen src="${stub.includes.opengl}/glu.c" - outputRootDir="${build}" - config="${config}/glu-base.cfg" + outputRootDir="${build.jogl}" + config="${config.jogl}/glu-base.cfg" includeRefid="stub.includes.fileset.all.gl2" emitter="com.sun.gluegen.opengl.GLEmitter"> <classpath refid="gluegen.classpath" /> @@ -795,8 +572,8 @@ <echo message="Generating GLU class" /> <antcall target="java.generate.copy2temp" inheritRefs="true" /> <gluegen src="${stub.includes.opengl}/glu.c" - outputRootDir="${build}" - config="${config}/glu-gl2es1.cfg" + outputRootDir="${build.jogl}" + config="${config.jogl}/glu-gl2es1.cfg" includeRefid="stub.includes.fileset.all.gl2" emitter="com.sun.gluegen.opengl.GLEmitter"> <classpath refid="gluegen.classpath" /> @@ -807,8 +584,8 @@ <echo message="Generating GLU class" /> <antcall target="java.generate.copy2temp" inheritRefs="true" /> <gluegen src="${stub.includes.opengl}/glu.c" - outputRootDir="${build}" - config="${config}/glu-gl2.cfg" + outputRootDir="${build.jogl}" + config="${config.jogl}/glu-gl2.cfg" includeRefid="stub.includes.fileset.all.gl2" emitter="com.sun.gluegen.opengl.GLEmitter"> <classpath refid="gluegen.classpath" /> @@ -819,7 +596,7 @@ <echo message="Generating platform-specific OpenGL extension class: ${window.os.system}" /> <antcall target="java.generate.copy2temp" inheritRefs="true" /> <gluegen src="${glext.platform.header}" - outputRootDir="${build}" + outputRootDir="${build.jogl}" config="${glext.platform.cfg}" includeRefid="stub.includes.fileset.all.gl2" emitter="com.sun.gluegen.opengl.GLEmitter"> @@ -830,9 +607,9 @@ <target name="java.generate.window.system.es" if="window.es.cfg"> <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="${build}" + <dirset id="stub.includes.fileset.platform" dir="." includes="${stub.includes}/${window.es.system}/** ${stub.includes}/common/**" /> + <gluegen src="${stub.includes}/${window.es.system}/window-system.c" + outputRootDir="${build.jogl}" config="${window.es.cfg}" includeRefid="stub.includes.fileset.platform" emitter="com.sun.gluegen.opengl.GLEmitter"> @@ -843,9 +620,9 @@ <target name="java.generate.window.system.es.ext" if="window.es.ext.cfg"> <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="${build}" + <dirset id="stub.includes.fileset.platform" dir="." includes="${stub.includes}/${window.es.system}/** ${stub.includes}/common/**" /> + <gluegen src="${stub.includes}/${window.es.system}/window-system-ext.c" + outputRootDir="${build.jogl}" config="${window.es.ext.cfg}" includeRefid="stub.includes.fileset.platform" emitter="com.sun.gluegen.opengl.GLEmitter"> @@ -856,8 +633,8 @@ <target name="java.generate.window.system.os" if="window.os.cfg"> <echo message="Generating window system glue impl: ${window.os.system}" /> <antcall target="java.generate.copy2temp" inheritRefs="true" /> - <gluegen src="${stub.includes.dir}/${window.os.system}/window-system.c" - outputRootDir="${build}" + <gluegen src="${stub.includes}/${window.os.system}/window-system.c" + outputRootDir="${build.jogl}" config="${window.os.cfg}" includeRefid="stub.includes.fileset.platform" emitter="com.sun.gluegen.opengl.GLEmitter"> @@ -866,7 +643,7 @@ </target> <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/**" /> + <dirset id="stub.includes.fileset.platform" dir="." includes="${stub.includes}/${window.os.system}/** ${stub.includes}/${window.es.system}/** ${stub.includes}/common/** ${stub.includes}/opengl/**" /> <antcall target="java.generate.window.system.os" inheritRefs="true" /> <antcall target="java.generate.platform.glext" inheritRefs="true" /> @@ -877,7 +654,7 @@ - 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.check" unless="java.generate.skip"> + <target name="java.generate" depends="common.gluegen.build, java.generate.check" unless="java.generate.skip"> <!-- Add the GlueGen and BuildStaticGLInfo tasks to ANT --> <taskdef name="gluegen" classname="com.sun.gluegen.ant.GlueGenTask" @@ -897,23 +674,23 @@ <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" /> + <param name="window.os.cfg" value="${config.jogl}/glx-x11.cfg" /> + <param name="glext.platform.cfg" value="${config.jogl}/glxext.cfg" /> + <param name="glext.platform.header" value="${stub.includes}/x11/glxext.c" /> </antcall> <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" /> + <param name="window.os.cfg" value="${config.jogl}/wgl-win32.cfg" /> + <param name="glext.platform.cfg" value="${config.jogl}/wglext.cfg" /> + <param name="glext.platform.header" value="${stub.includes}/win32/wglext.c" /> </antcall> <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" /> + <param name="window.os.cfg" value="${config.jogl}/cgl-macosx.cfg" /> + <param name="glext.platform.cfg" value="${config.jogl}/cglext.cfg" /> + <param name="glext.platform.header" value="${stub.includes}/macosx/cglext.c" /> </antcall> <!-- Generate GLU class --> @@ -960,8 +737,8 @@ <!-- Generate CgGL interface class --> <gluegen src="${stub.includes.opengl}/cg.c" - outputRootDir="${build}" - config="${config}/cg-common.cfg" + outputRootDir="${build.jogl}" + config="${config.jogl}/cg-common.cfg" includeRefid="stub.includes.cg.fileset.all" emitter="com.sun.gluegen.JavaEmitter"> <classpath refid="gluegen.classpath" /> @@ -1156,7 +933,7 @@ includes="com/jogamp/opengl/util/glsl/fixedfunc/impl/FixedFuncImpl.java" /> </copy> </target> - <target name="java.generate.composable.pipeline.custom" depends="init, build.gluegen, java.generate.composable.pipeline.custom.glfixfunc"> + <target name="java.generate.composable.pipeline.custom" depends="init, common.gluegen.build, java.generate.composable.pipeline.custom.glfixfunc"> </target> <!-- ================================================================== --> @@ -1193,7 +970,7 @@ <!-- Perform the second pass Java compile; everything except portion of fixed function emulation depending on generated code. --> <javac destdir="${classes}" excludes="com/jogamp/opengl/util/glsl/fixedfunc/FixedFuncUtil.java,${java.excludes.all}" - source="${jogl.sourcelevel}" + source="${target.sourcelevel}" fork="yes" memoryMaximumSize="${javac.memorymax}" debug="${javacdebug}" debuglevel="${javacdebuglevel}"> @@ -1208,7 +985,7 @@ <!-- Perform the second pass Java compile; everything except portion of fixed function emulation depending on generated code. --> <javac destdir="${classes-cdc}" excludes="com/jogamp/opengl/util/glsl/fixedfunc/FixedFuncUtil.java,${java.excludes.all},${java.excludes.cdcfp}" - source="${jogl.sourcelevel}" + source="${target.sourcelevel}" fork="yes" memoryMaximumSize="${javac.memorymax}" debug="${javacdebug}" debuglevel="${javacdebuglevel}"> @@ -1224,7 +1001,7 @@ <!-- Perform the third pass Java compile; everything including fixed function emulation. --> <javac destdir="${classes}" excludes="${java.excludes.all}" - source="${jogl.sourcelevel}" + source="${target.sourcelevel}" fork="yes" memoryMaximumSize="${javac.memorymax}" debug="${javacdebug}" debuglevel="${javacdebuglevel}"> @@ -1238,7 +1015,7 @@ <!-- Perform the third pass Java compile; everything including fixed function emulation. --> <javac destdir="${classes-cdc}" excludes="${java.excludes.all},${java.excludes.cdcfp}" - source="${jogl.sourcelevel}" + source="${target.sourcelevel}" bootclasspath="${javac.bootclasspath-cdc.jar}" fork="yes" memoryMaximumSize="${javac.memorymax}" @@ -1533,8 +1310,8 @@ <echo message="Compiling @{output.lib.name}" /> <cc outtype="shared" - objdir="${obj.jogl}" - outfile="${obj}/@{output.lib.name}" + objdir="${obj.joglsub}" + outfile="${obj.jogl}/@{output.lib.name}" optimize="${c.compiler.optimise}" debug="${c.compiler.debug}" multithreaded="true" @@ -1571,24 +1348,24 @@ </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"/> + <syslibset dir="${java.lib.platform}" libs="jawt" if="@{output.lib.name}.useLibJAWT"/> + <syslibset dir="${java.lib.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" /> - <param name="dest-cdc" value="${build}/obj/lib@{output.lib.name}.so" /> + <param name="src" value="${build.jogl}/obj/lib@{output.lib.name}.dylib" /> + <param name="dest" value="${build.jogl}/obj/lib@{output.lib.name}.jnilib" /> + <param name="dest-cdc" value="${build.jogl}/obj/lib@{output.lib.name}.so" /> </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" /> + <param name="src" value="${build.jogl}/obj/lib@{output.lib.name}.so" /> + <param name="dest" value="${build.jogl}/obj/@{output.lib.name}.dll" /> </antcall> </sequential> </macrodef> @@ -1600,7 +1377,7 @@ <target name="c.build.jogl.prepare" depends="c.build.jogl.prepare.openMAX"> <!-- Generate the waveout Mixer header --> <!-- FIXME: this is temporary until we move this to another workspace --> - <!--javah destdir="${build}/gensrc/native/jogl" classpath="${classes}" class="com.jogamp.audio.windows.waveout.Mixer" /--> + <!--javah destdir="${build.jogl}/gensrc/native/jogl" classpath="${classes}" class="com.jogamp.audio.windows.waveout.Mixer" /--> </target> <target name="c.build.jogl.desktop" unless="setup.nodesktop"> @@ -1639,32 +1416,32 @@ </target> <target name="c.manifest.cg" if="jogl.cg"> - <msvc.manifest objdir="${obj}" dllname="jogl_cg" /> + <msvc.manifest objdir="${obj.jogl}" 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" /> + <msvc.manifest objdir="${obj.jogl}" dllname="jogl_es1" /> + <msvc.manifest objdir="${obj.jogl}" dllname="jogl_es2" /> + <msvc.manifest objdir="${obj.jogl}" dllname="jogl_gl2" /> + <msvc.manifest objdir="${obj.jogl}" 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.desktop,c.build.jogl.es2,c.build.jogl.es1,c.build.jogl.cg"> <antcall target="gluegen.cpptasks.striplibs" inheritRefs="true"> - <param name="libdir" value="${obj}"/> + <param name="libdir" value="${obj.jogl}"/> </antcall> <antcall target="c.manifest" inheritRefs="true" /> <!-- Create the Java Web Start jar file for the built native code --> - <jar destfile="${build}/jogl-natives-${os.and.arch}.jar" filesonly="true"> - <fileset dir="${obj}"> + <jar destfile="${build.jogl}/jogl-natives-${os.and.arch}.jar" filesonly="true"> + <fileset dir="${obj.jogl}"> <include name="*.${native.library.suffix}" /> </fileset> </jar> - <jar destfile="${build}/jogl-natives-${os.and.arch}-cdc.jar" filesonly="true"> - <fileset dir="${obj}"> + <jar destfile="${build.jogl}/jogl-natives-${os.and.arch}-cdc.jar" filesonly="true"> + <fileset dir="${obj.jogl}"> <include name="*_es1.${native.library.suffix-cdc}" /> <include name="*_es2.${native.library.suffix-cdc}" /> <include name="*_gl2es12.${native.library.suffix-cdc}" /> @@ -1691,7 +1468,7 @@ <format property="timestamp" pattern="yyyyMMdd-HH:mm:ss"/> </tstamp> <copy file="${manifestfile}" - tofile="${build}/tempversion" + tofile="${build.jogl}/tempversion" overwrite="true"> <filterset> <!-- This token only exists in the non-RI version of the manifest --> @@ -1715,7 +1492,7 @@ <format property="timestamp" pattern="yyyyMMdd-HH:mm:ss"/> </tstamp> <copy file="${manifestfile}" - tofile="${build}/tempversion-cdc" + tofile="${build.jogl}/tempversion-cdc" overwrite="true"> <filterset> <!-- This token only exists in the non-RI version of the manifest --> @@ -1727,71 +1504,71 @@ </target> <target name="build-cg-jar-javase" depends="setup-manifestfile" if="jogl.cg"> - <jar manifest="${build}/tempversion" destfile="${jogl.cg.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.cg.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.nv-cg}"/> </jar> </target> <target name="build-jars-os-desktop-javase" depends="setup-manifestfile" unless="setup.nodesktop"> - <jar manifest="${build}/tempversion" destfile="${jogl.os.x11.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.os.x11.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.glx}"/> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.os.win.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.os.win.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.wgl}" /> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.os.osx.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.os.osx.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.cgl}"/> </jar> </target> <target name="build-jars-es-desktop-javase" depends="setup-manifestfile,build-jars-os-desktop-javase" unless="setup.nodesktop"> - <jar manifest="${build}/tempversion" destfile="${jogl.gl2es12.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.gl2es12.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.gl2es12}, ${java.part.openmax}" excludes="${java.part.glugl2}"/> </jar> </target> <target name="build-jars-es-javase" depends="setup-manifestfile,build-jars-es-desktop-javase"> - <jar manifest="${build}/tempversion" destfile="${jogl.egl.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.egl.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.egl}" excludes="${java.part.awt}"/> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.gles1.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.gles1.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.es1}" excludes="${java.part.es1.dbg}"/> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.gles1.dbg.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.gles1.dbg.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.es1.dbg}"/> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.gles2.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.gles2.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.es2}, ${java.part.openmax}" excludes="${java.part.es2.dbg}"/> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.gles2.dbg.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.gles2.dbg.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.es2.dbg}"/> </jar> </target> <target name="build-jars-os-desktop-cdc" depends="setup-manifestfile" unless="setup.nodesktop"> - <jar manifest="${build}/tempversion" destfile="${jogl.os.x11.cdc.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.os.x11.cdc.jar}" filesonly="true"> <fileset dir="${classes-cdc}" includes="${java.part.glx}"/> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.os.win.cdc.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.os.win.cdc.jar}" filesonly="true"> <fileset dir="${classes-cdc}" includes="${java.part.wgl}" /> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.os.osx.cdc.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.os.osx.cdc.jar}" filesonly="true"> <fileset dir="${classes-cdc}" includes="${java.part.cgl}"/> </jar> </target> <target name="build-jars-es-desktop-cdc" depends="setup-manifestfile-cdc,build-jars-os-desktop-cdc" unless="setup.nodesktop"> - <jar manifest="${build}/tempversion-cdc" destfile="${jogl.gl2es12.cdc.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion-cdc" destfile="${jogl.gl2es12.cdc.jar}" filesonly="true"> <fileset dir="${classes-cdc}" includes="${java.part.gl2es12}, ${java.part.openmax}" excludes="${java.part.glugl2}"/> @@ -1799,44 +1576,44 @@ </target> <target name="build-jars-es-cdc" depends="setup-manifestfile-cdc,build-jars-es-desktop-cdc" unless="setup.noCDC"> - <jar manifest="${build}/tempversion-cdc" destfile="${jogl.egl.cdc.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion-cdc" destfile="${jogl.egl.cdc.jar}" filesonly="true"> <fileset dir="${classes-cdc}" includes="${java.part.egl}" excludes="${java.part.awt}"/> </jar> - <jar manifest="${build}/tempversion-cdc" destfile="${jogl.gles1.cdc.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion-cdc" destfile="${jogl.gles1.cdc.jar}" filesonly="true"> <fileset dir="${classes-cdc}" includes="${java.part.es1}" excludes="${java.part.es1.dbg}"/> </jar> - <jar manifest="${build}/tempversion-cdc" destfile="${jogl.gles1.dbg.cdc.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion-cdc" destfile="${jogl.gles1.dbg.cdc.jar}" filesonly="true"> <fileset dir="${classes-cdc}" includes="${java.part.es1.dbg}"/> </jar> - <jar manifest="${build}/tempversion-cdc" destfile="${jogl.gles2.cdc.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion-cdc" destfile="${jogl.gles2.cdc.jar}" filesonly="true"> <fileset dir="${classes-cdc}" includes="${java.part.es2}, ${java.part.openmax}" excludes="${java.part.es2.dbg}"/> </jar> - <jar manifest="${build}/tempversion-cdc" destfile="${jogl.gles2.dbg.cdc.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion-cdc" destfile="${jogl.gles2.dbg.cdc.jar}" filesonly="true"> <fileset dir="${classes-cdc}" includes="${java.part.es2.dbg}"/> </jar> </target> <target name="build-jars-awt-javase" depends="setup-manifestfile" unless="setup.noAWT"> - <jar manifest="${build}/tempversion" destfile="${jogl.awt.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.awt.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.awt}" /> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.util.awt.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.util.awt.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.util.awt}"/> </jar> </target> <target name="build-jars-all-awt-javase" depends="setup-manifestfile" unless="setup.noAWT"> - <jar manifest="${build}/tempversion" destfile="${jogl.all.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.all.jar}" filesonly="true"> <fileset dir="${classes}"> <include name="javax/media/opengl/**" /> <include name="com/jogamp/gluegen/runtime/**" /> @@ -1850,7 +1627,7 @@ </jar> </target> <target name="build-jars-all-noawt-javase" depends="setup-manifestfile"> - <jar manifest="${build}/tempversion" destfile="${jogl.all-noawt.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.all-noawt.jar}" filesonly="true"> <fileset dir="${classes}" includes="javax/media/opengl/** com/jogamp/gluegen/runtime/** com/jogamp/opengl/** ${java.part.openmax} com/jogamp/**" excludes="${java.part.awt} ${java.part.util.awt}"> @@ -1860,7 +1637,7 @@ </jar> </target> <target name="build-jars-all-cdc" depends="setup-manifestfile"> - <jar manifest="${build}/tempversion-cdc" destfile="${jogl.all.cdc.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion-cdc" destfile="${jogl.all.cdc.jar}" filesonly="true"> <fileset dir="${classes-cdc}" includes="${java.part.core} ${java.part.egl} ${java.part.glutess} ${java.part.glumipmap} ${java.part.openmax} ${java.part.sdk} ${java.part.glx} ${java.part.cgl} ${java.part.gl2es12} ${java.part.wgl} ${java.part.es1} ${java.part.es1.dbg} ${java.part.es2} ${java.part.es2.dbg} ${java.part.util} ${java.part.util.glsl} ${java.part.util.fixedfuncemu}" excludes="${java.excludes.cdcfp}"/> @@ -1871,25 +1648,25 @@ <target name="build-jars-cdc" depends="setup-manifestfile-cdc, build-jars-es-cdc, build-jars-all-cdc" unless="setup.noCDC"> - <jar manifest="${build}/tempversion-cdc" destfile="${jogl.core.cdc.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion-cdc" destfile="${jogl.core.cdc.jar}" filesonly="true"> <fileset dir="${classes-cdc}" includes="${java.part.core}" excludes="${java.part.core.exclude}"/> </jar> - <jar manifest="${build}/tempversion-cdc" destfile="${jogl.glutess.cdc.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion-cdc" destfile="${jogl.glutess.cdc.jar}" filesonly="true"> <fileset dir="${classes-cdc}" includes="${java.part.glutess}"/> </jar> - <jar manifest="${build}/tempversion-cdc" destfile="${jogl.glumipmap.cdc.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion-cdc" destfile="${jogl.glumipmap.cdc.jar}" filesonly="true"> <fileset dir="${classes-cdc}" includes="${java.part.glumipmap}"/> </jar> - <jar manifest="${build}/tempversion-cdc" destfile="${jogl.util.cdc.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion-cdc" destfile="${jogl.util.cdc.jar}" filesonly="true"> <fileset dir="${classes-cdc}" includes="${java.part.util} ${java.part.util.glsl}" excludes="${java.part.util.awt} ${java.part.util.gl2} ${java.part.util.fixedfuncemu}"/> </jar> - <jar manifest="${build}/tempversion-cdc" destfile="${jogl.util.fixedfuncemu.cdc.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion-cdc" destfile="${jogl.util.fixedfuncemu.cdc.jar}" filesonly="true"> <fileset dir="${classes-cdc}" includes="${java.part.util.fixedfuncemu}"/> <fileset dir="${src.java}" @@ -1899,44 +1676,44 @@ <target name="build-jars-desktop-javase" depends="setup-manifestfile,build-jars-os-desktop-javase" unless="setup.nodesktop"> <!--os specific gl2--> - <jar manifest="${build}/tempversion" destfile="${jogl.gl2.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.gl2.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.gl2}, ${java.part.openmax}" excludes="${java.part.gl2.dbg}, ${java.part.gl3.dbg}, ${java.part.gl4.dbg}, ${java.part.glugl2}"/> </jar> <!--os specific gl3--> - <jar manifest="${build}/tempversion" destfile="${jogl.gl3.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.gl3.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.gl3}, ${java.part.openmax}" excludes="${java.part.gl2.dbg}, ${java.part.gl3.dbg}, ${java.part.gl4.dbg}, ${java.part.glugl2}"/> </jar> <!--os specific gl4--> - <jar manifest="${build}/tempversion" destfile="${jogl.gl4.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.gl4.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.gl4}, ${java.part.openmax}" excludes="${java.part.gl2.dbg}, ${java.part.gl3.dbg}, ${java.part.gl4.dbg}, ${java.part.glugl2}"/> </jar> <!-- misc --> - <jar manifest="${build}/tempversion" destfile="${jogl.gl2.dbg.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.gl2.dbg.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.gl2.dbg}"/> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.gl3.dbg.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.gl3.dbg.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.gl3.dbg}"/> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.gl4.dbg.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.gl4.dbg.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.gl4.dbg}"/> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.glugl2.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.glugl2.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.glugl2}"/> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.util.gl2.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.util.gl2.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.util.gl2}" excludes="com/jogamp/opengl/**/awt/**"/> @@ -1944,29 +1721,29 @@ </target> <target name="build-jars-javase" depends="setup-manifestfile, build-jars-es-javase, build-jars-awt-javase, build-cg-jar-javase, build-jars-all-awt-javase, build-jars-all-noawt-javase, build-jars-desktop-javase"> - <jar manifest="${build}/tempversion" destfile="${jogl.core.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.core.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.core}" excludes="${java.part.core.exclude}"/> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.sdk.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.sdk.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.sdk}"/> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.glutess.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.glutess.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.glutess}"/> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.glumipmap.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.glumipmap.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.glumipmap}"/> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.util.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.util.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.util} ${java.part.util.glsl}" excludes="${java.part.util.awt} ${java.part.util.gl2} ${java.part.util.fixedfuncemu}"/> </jar> - <jar manifest="${build}/tempversion" destfile="${jogl.util.fixedfuncemu.jar}" filesonly="true"> + <jar manifest="${build.jogl}/tempversion" destfile="${jogl.util.fixedfuncemu.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.util.fixedfuncemu}"/> <fileset dir="${src.java}" @@ -1981,7 +1758,7 @@ - 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"> + <target name="javadoc.nocg" depends="init" unless="jogl.cg"> <!-- Build the general public Javadoc --> <javadoc packagenames="${javadoc.packagenames}" excludepackagenames="${java.excludes.javadoc.packagenames}" @@ -1998,7 +1775,7 @@ </target> <!-- Same as above but with Cg directories added --> - <target name="javadoc.cg" depends="load.user.properties,init" if="jogl.cg"> + <target name="javadoc.cg" depends="init" if="jogl.cg"> <!-- Build the general public Javadoc with CG --> <javadoc packagenames="${javadoc.packagenames},com.jogamp.opengl.cg" excludepackagenames="${java.excludes.javadoc.packagenames}" @@ -2016,7 +1793,7 @@ <target name="javadoc" depends="javadoc.nocg,javadoc.cg" /> - <target name="javadoc.spec.nocg" depends="load.user.properties,init" unless="jogl.cg"> + <target name="javadoc.spec.nocg" depends="init" unless="jogl.cg"> <!-- Build the specification Javadoc --> <javadoc packagenames="${javadoc.spec.packagenames}" excludepackagenames="${java.excludes.javadoc.packagenames}" @@ -2033,7 +1810,7 @@ </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"> + <target name="javadoc.spec.cg" depends="init" if="jogl.cg"> <!-- Build the specification Javadoc with CG --> <javadoc packagenames="${javadoc.spec.packagenames}" excludepackagenames="${java.excludes.javadoc.packagenames}" @@ -2084,7 +1861,7 @@ </javadoc> </target> - <target name="javadoc.dev.all" depends="load.user.properties,init,javadoc.dev.nocg,javadoc.dev.cg" /> + <target name="javadoc.dev.all" depends="init,javadoc.dev.nocg,javadoc.dev.cg" /> <target name="all.doc" description="Build JOGL docs" depends="init,javadoc,javadoc.spec,javadoc.dev.all" /> @@ -2095,7 +1872,7 @@ <target name="clean" description="Remove all build products" depends="declare.common"> <delete includeEmptyDirs="true" quiet="true"> <fileset dir="${tempdir}" /> - <fileset dir="${build}" /> + <fileset dir="${build.jogl}" /> <fileset dir="${javadoc}" /> <fileset dir="${javadoc.spec}" /> <fileset dir="${javadoc.dev}" /> @@ -2104,60 +1881,13 @@ <!-- ================================================================== --> <!-- - - Build/run junit. - --> - <target name="junit.compile" depends="init"> - <!-- Perform the junit pass Java compile --> - <javac destdir="${classes}" - source="${junit.sourcelevel}" - fork="yes" - memoryMaximumSize="${javac.memorymax}" - debug="${javacdebug}" debuglevel="${javacdebuglevel}"> - <classpath refid="jogl_junit.compile.classpath"/> - <src path="${src.junit}" /> - </javac> - <jar destfile="${jogl.test.jar}" filesonly="true"> - <fileset dir="${classes}"> - <include name="com/jogamp/opengl/test/**" /> - </fileset> - </jar> - </target> - - <target name="junit.run" depends="declare.common,gluegen.cpptasks.detect.os"> - <!-- Perform the junit tests--> - <mkdir dir="${build}/results"/> - <junit forkmode="once" showoutput="true" fork="true" haltonerror="true"> - <env key="${system.env.library.path}" path="${all.so.dir}"/> - <jvmarg value="-Djava.library.path=${all.so.dir}"/> - <formatter usefile="false" type="plain"/> - <formatter usefile="true" type="xml"/> - <classpath refid="jogl_junit.run.classpath"/> - - <test name="com.jogamp.opengl.test.junit.texture.awt.Texture1" todir="${build}/results"/> - - </junit> - </target> - - <!-- ================================================================== --> - <!-- - Build everything. --> - <target name="all" description="Build JOGL JAR file(s) and native libraries." depends="load.user.properties,init,jar,c.build.jogl,generate.version.txt,junit.compile" /> - - <target name="setup-version-RI" if="jogl.ri"> - <property name="tmp.version" value="${jogl_base_version}" /> - </target> - - <target name="setup-version-non-RI" unless="jogl.ri"> - <tstamp> - <format property="version.timestamp" pattern="yyyyMMdd"/> - </tstamp> - <property name="tmp.version" value="${jogl_base_version}-pre-${version.timestamp}" /> - </target> + <target name="all" description="Build JOGL JAR file(s) and native libraries." depends="init,jar,c.build.jogl,generate.version.txt" /> - <target name="generate.version.txt" depends="setup-version-RI,setup-version-non-RI"> + <target name="generate.version.txt" depends="init"> <!-- Create a version.txt file indicating which version we just built --> - <echo message="${tmp.version}" file="${build}/version.txt" /> + <echo message="${jogl.version}" file="${build.jogl}/version.txt" /> </target> <!-- ================================================================== --> diff --git a/make/build-junit.xml b/make/build-junit.xml new file mode 100644 index 000000000..5b3aae8c2 --- /dev/null +++ b/make/build-junit.xml @@ -0,0 +1,108 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<project name="JOGLTest" basedir="." default="all"> + + <description>JUNIT Tests JOGL</description> + + <import file="build-common.xml"/> + + <!-- ================================================================== --> + <!-- + - Declare all paths and user defined variables. + --> + <target name="declare.common" description="Declare properties" depends="common.init"> + <property name="rootrel.src.junit" value="src/junit" /> + <property name="src.junit" value="${project.root}/${rootrel.src.junit}" /> + + <property name="classes" value="${build.junit}/classes" /> + + <property name="java.dir.test" value="com/jogamp/test"/> + <property name="java.part.test" value="${java.dir.test}/**"/> + + </target> + + <!-- ================================================================== --> + <!-- + - Initialize all parameters required for the build and create any + - required directories. + --> + <target name="init" depends="declare.common"> + <!-- Create the required output directories. --> + <mkdir dir="${obj.junit}" /> + <mkdir dir="${classes}" /> + </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="${build.junit}" /> + </delete> + </target> + + <!-- ================================================================== --> + <!-- + - Build/run junit. + --> + <target name="junit.compile" depends="init"> + <!-- Perform the junit pass Java compile --> + <javac destdir="${classes}" + source="${host.sourcelevel}" + fork="yes" + memoryMaximumSize="${javac.memorymax}" + debug="${javacdebug}" debuglevel="${javacdebuglevel}"> + <classpath refid="junit_jogl_newt.compile.classpath"/> + <src path="${src.junit}" /> + </javac> + <jar destfile="${jogl.test.jar}" filesonly="true"> + <fileset dir="${classes}"> + <include name="${java.part.test}"/> + </fileset> + </jar> + </target> + + <target name="junit.run" depends="declare.common"> + <!-- Perform the junit tests--> + <mkdir dir="${results.junit}" /> + <junit forkmode="once" showoutput="true" fork="true" haltonerror="true"> + <env key="${system.env.library.path}" path="${obj.all.paths}"/> + <jvmarg value="-Djava.library.path=${obj.all.paths}"/> + + <!-- + <jvmarg value="-Dgluegen.debug.NativeLibrary=true"/> + <jvmarg value="-Dgluegen.debug.ProcAddressHelper=true"/> + <jvmarg value="-Djogl.debug.GLSLState"/> + --> + <jvmarg value="-Dnativewindow.debug=all"/> + <jvmarg value="-Djogl.debug=all"/> + <jvmarg value="-Dnewt.debug=all"/> + <!-- + <jvmarg value="-verbose:jni"/> + <jvmarg value="-client"/> + <jvmarg value="-d32"/> + --> + + <formatter usefile="false" type="plain"/> + <formatter usefile="true" type="xml"/> + <classpath refid="junit_jogl_newt.run.classpath"/> + + <batchtest todir="${results.junit}"> + <fileset dir="${classes}"> + <include name="${java.dir.test}/**/Test*"/> + </fileset> + <formatter usefile="false" type="brief"/> + <formatter usefile="true" type="xml"/> + </batchtest> + + </junit> + </target> + + <!-- ================================================================== --> + <!-- + - Build everything. + --> + <target name="all" description="Build JOGL JUNIT tests and run them." depends="junit.compile, junit.run" /> + +</project> diff --git a/make/build-nativewindow.xml b/make/build-nativewindow.xml index b34ad3954..3cb7e7746 100644 --- a/make/build-nativewindow.xml +++ b/make/build-nativewindow.xml @@ -53,25 +53,13 @@ --> <project name="NativeWindow" basedir="." default="all"> - <import file="versions.xml" /> - - <!-- Pull in GlueGen cpptasks build file --> - <property name="gluegen.root" value="../../gluegen" /> - <import file="${gluegen.root}/make/gluegen-cpptasks.xml" /> + <import file="build-common.xml"/> <!-- ================================================================== --> <!-- - Base initialization and detection of operating system. --> - <target name="base.init" depends="gluegen.cpptasks.detect.os"> - - <condition property="setup.nodesktop"> - <and> - <isfalse value="${isWindows}" /> - <isfalse value="${isOSX}" /> - <isfalse value="${isX11}" /> - </and> - </condition> + <target name="base.init" depends="common.init"> <condition property="setup.noNativeAWT"> <or> @@ -80,12 +68,7 @@ </or> </condition> - <property name="javac.bootclasspath-cdc.jar" value="${gluegen.root}/make/lib/cdc_fp.jar" /> - - <echo message="setup.nodesktop: ${setup.nodesktop}" /> - <echo message="setup.noAWT: ${setup.noAWT}" /> <echo message="setup.noNativeAWT: ${setup.noNativeAWT}" /> - <echo message="javac.bootclasspath-cdc.jar: ${javac.bootclasspath-cdc.jar}" /> <!-- partitioning --> @@ -107,109 +90,47 @@ <property name="java.excludes.all" value="${java.excludes.awt}" /> <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="nativewindow.sourcelevel" value="1.4" /> </target> - <!--target name="base.init.sourcelevel.2" if="gluegen.nsig"> - <property name="nativewindow.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}/nativewindow.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 nativewindow.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" /> - - <!-- 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.nativewindow" value="${rootrel.build}/nativewindow" /> + <target name="declare.common" description="Declare properties" depends="base.init"> + + <property name="config.nativewindow" value="${config}/nativewindow" /> + <property name="rootrel.src" value="src/nativewindow" /> <property name="rootrel.src.java" value="${rootrel.src}/classes" /> <property name="rootrel.src.c" value="${rootrel.src}/native" /> - <property name="rootrel.src.generated" value="${rootrel.build.nativewindow}/gensrc" /> + <property name="rootrel.src.generated" value="${rootrel.build}/nativewindow/gensrc" /> <property name="rootrel.generated.c" value="${rootrel.src.generated}/native" /> - <property name="rootrel.obj" value="${rootrel.build.nativewindow}/obj" /> - - <!-- GlueGen properties. --> - <!-- NOTE that these require a checked-out GlueGen workspace as a --> - <!-- sibling of the NativeWindow workspace. --> - <property name="gluegen.make.dir" value="${gluegen.root}/make" /> - <property name="gluegen.build.xml" value="${gluegen.make.dir}/build.xml" /> - <property name="gluegen.jar" value="${gluegen.root}/${rootrel.build}/gluegen.jar" /> - <property name="gluegen-rt.jar" value="${gluegen.root}/${rootrel.build}/gluegen-rt.jar" /> - <property name="gluegen-rt-cdc.jar" value="${gluegen.root}/${rootrel.build}/gluegen-rt-cdc.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.nativewindow}" /> <!-- The generated source directories. --> - <property name="src.generated" value="${build}/gensrc" /> + <property name="src.generated" value="${build.nativewindow}/gensrc" /> <property name="src.generated.java" value="${src.generated}/classes" /> <property name="src.generated.java-cdc" value="${src.generated}/classes-cdc" /> <property name="src.generated.c" value="${src.generated}/native" /> <!-- The compiler output directories. --> - <property name="classes" value="${build}/classes" /> - <property name="classes-cdc" value="${build}/classes-cdc" /> - <property name="obj" value="${project.root}/${rootrel.obj}" /> + <property name="classes" value="${build.nativewindow}/classes" /> + <property name="classes-cdc" value="${build.nativewindow}/classes-cdc" /> <!-- The headers from which Java files are generated --> - <property name="config" value="${make}/config/nativewindow" /> - <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.common" value="${stub.includes}/common" /> <dirset id="stub.includes.fileset.all" dir="."> - <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/**" /> + <include name="${stub.includes}/macosx/**" /> + <include name="${stub.includes}/win32/**" /> + <include name="${stub.includes}/x11/**" /> + <include name="${stub.includes}/common/**" /> + <include name="${stub.includes}/jni/**" /> </dirset> - <fileset id="stub.includes.dependencies.fileset.1" dir="${stub.includes.dir}"> + <fileset id="stub.includes.dependencies.fileset.1" dir="${stub.includes}"> <include name="macosx/**" /> <include name="win32/**" /> <include name="x11/**" /> @@ -217,31 +138,12 @@ <include name="jni/**" /> </fileset> <fileset id="stub.includes.dependencies.fileset.2" file="${gluegen.jar}" /> - <fileset id="stub.includes.dependencies.fileset.3" dir="${config}"> + <fileset id="stub.includes.dependencies.fileset.3" dir="${config.nativewindow}"> <include name="*.cfg" /> <include name="*.java" /> <include name="*.c" /> </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> - - <!-- The resulting nativewindow.jar. --> - <property name="nativewindow.core.jar" value="${build}/nativewindow.core.jar" /> - <property name="nativewindow.awt.jar" value="${build}/nativewindow.awt.jar" /> - <property name="nativewindow.os.x11.jar" value="${build}/nativewindow.os.x11.jar" /> - <property name="nativewindow.all.jar" value="${build}/nativewindow.all.jar" /> - <property name="nativewindow.all-noawt.jar" value="${build}/nativewindow.all-noawt.jar" /> - - <property name="nativewindow.core.cdc.jar" value="${build}/nativewindow.core.cdc.jar" /> - <property name="nativewindow.os.x11.cdc.jar" value="${build}/nativewindow.os.x11.cdc.jar" /> - <property name="nativewindow.all.cdc.jar" value="${build}/nativewindow.all.cdc.jar" /> - <!-- The javadoc dirs. --> <property name="javadoc" value="${project.root}/javadoc_nativewindow_public" /> <property name="javadoc.spec" value="${project.root}/javadoc_nativewindow_spec" /> @@ -263,9 +165,6 @@ - required directories. --> <target name="init" depends="declare.common"> - <!-- 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.java-cdc}" /> @@ -275,25 +174,7 @@ <mkdir dir="${src.generated.c}/X11" /> <mkdir dir="${classes}" /> <mkdir dir="${classes-cdc}" /> - <mkdir dir="${obj}" /> - </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" /--> - </propertyset> - </ant> + <mkdir dir="${obj.nativewindow}" /> </target> <!-- @@ -340,8 +221,8 @@ <target name="java.generate.windowlib" if="windowlib.os.cfg"> <echo message="Generating Windowing Lib implementation class" /> - <gluegen src="${stub.includes.dir}/${window.os.system}/window-lib.c" - outputRootDir="../${rootrel.build.nativewindow}" + <gluegen src="${stub.includes}/${window.os.system}/window-lib.c" + outputRootDir="${build.nativewindow}" config="${windowlib.os.cfg}" includeRefid="stub.includes.fileset.platform" emitter="com.sun.gluegen.JavaEmitter"> @@ -360,9 +241,9 @@ <echo message="Generating JAWT interface class" /> <echo message="java.home.dir=${java.home.dir}" /> <gluegen src="${jawt.platform.header}" - outputRootDir="../${rootrel.build.nativewindow}" + outputRootDir="${build.nativewindow}" config="${jawt.cfg}" - literalInclude="${stub.includes.dir}/jni" + literalInclude="${stub.includes}/jni" includeRefid="stub.includes.fileset.platform" emitter="com.sun.gluegen.JavaEmitter"> <classpath refid="gluegen.classpath" /> @@ -375,7 +256,7 @@ <target name="java.generate.platforms" > <echo message="Generating platform-specifics: os: ${window.os.system}, cfgs: ${windowlib.os.cfg}, ${jawt.cfg}" /> - <dirset id="stub.includes.fileset.platform" dir="." includes="${stub.includes.dir}/${window.os.system}/** ${stub.includes.dir}/common/**" /> + <dirset id="stub.includes.fileset.platform" dir="." includes="${stub.includes}/${window.os.system}/** ${stub.includes}/common/**" /> <antcall target="java.generate.windowlib" inheritRefs="true" /> <antcall target="java.generate.jawt" inheritRefs="true" /> </target> @@ -385,7 +266,7 @@ - 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.check" unless="java.generate.skip"> + <target name="java.generate" depends="common.gluegen.build, java.generate.check" unless="java.generate.skip"> <!-- Add the GlueGen and BuildStaticGLInfo tasks to ANT --> <taskdef name="gluegen" classname="com.sun.gluegen.ant.GlueGenTask" @@ -399,23 +280,23 @@ <echo message="Generating platform-specifics: X11" /> <antcall target="java.generate.platforms" inheritRefs="true"> <param name="window.os.system" value="x11"/> - <param name="windowlib.os.cfg" value="${config}/x11-lib.cfg" /> - <param name="jawt.cfg" value="${config}/jawt-x11.cfg" /> - <param name="jawt.platform.header" value="${stub.includes.dir}/jni/x11/jawt_md.h" /> + <param name="windowlib.os.cfg" value="${config.nativewindow}/x11-lib.cfg" /> + <param name="jawt.cfg" value="${config.nativewindow}/jawt-x11.cfg" /> + <param name="jawt.platform.header" value="${stub.includes}/jni/x11/jawt_md.h" /> </antcall> <echo message="Generating platform-specifics: Win32" /> <antcall target="java.generate.platforms" inheritRefs="true"> <param name="window.os.system" value="win32"/> - <param name="jawt.cfg" value="${config}/jawt-win32.cfg" /> - <param name="jawt.platform.header" value="${stub.includes.dir}/jni/win32/jawt_md.h" /> + <param name="jawt.cfg" value="${config.nativewindow}/jawt-win32.cfg" /> + <param name="jawt.platform.header" value="${stub.includes}/jni/win32/jawt_md.h" /> </antcall> <echo message="Generating platform-specifics: MaxOsX" /> <antcall target="java.generate.platforms" inheritRefs="true"> <param name="window.os.system" value="macosx"/> - <param name="jawt.cfg" value="${config}/jawt-macosx.cfg" /> - <param name="jawt.platform.header" value="${stub.includes.dir}/jni/macosx/jawt_md.h" /> + <param name="jawt.cfg" value="${config.nativewindow}/jawt-macosx.cfg" /> + <param name="jawt.platform.header" value="${stub.includes}/jni/macosx/jawt_md.h" /> </antcall> <!-- Inform the user that the generators have successfully created @@ -434,11 +315,11 @@ <!-- Perform the first pass Java compile; everything --> <javac destdir="${classes-cdc}" excludes="${java.part.awt} ${java.excludes.all}" - source="${nativewindow.sourcelevel}" + source="${target.sourcelevel}" classpath="${gluegen-rt-cdc.jar}" bootclasspath="${javac.bootclasspath-cdc.jar}" fork="yes" - memoryMaximumSize="128m" + memoryMaximumSize="${javac.memorymax}" debug="${javacdebug}" debuglevel="${javacdebuglevel}"> <src path="${src.java}" /> <src path="${src.generated.java-cdc}" /> @@ -449,10 +330,10 @@ <!-- Perform the second pass Java compile; everything. --> <javac destdir="${classes}" excludes="${java.excludes.all}" - source="${nativewindow.sourcelevel}" + source="${target.sourcelevel}" classpath="${gluegen-rt.jar}" fork="yes" - memoryMaximumSize="128m" + memoryMaximumSize="${javac.memorymax}" debug="${javacdebug}" debuglevel="${javacdebuglevel}"> <src path="${src.java}" /> <src path="${src.generated.java}" /> @@ -656,8 +537,8 @@ <echo message="Compiling @{output.lib.name}" /> <cc outtype="shared" - objdir="${obj}" - outfile="${obj}/@{output.lib.name}" + objdir="${obj.nativewindow}" + outfile="${obj.nativewindow}/@{output.lib.name}" optimize="${c.compiler.optimise}" debug="${c.compiler.debug}" multithreaded="true" @@ -696,16 +577,16 @@ <!-- 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" /> - <param name="dest-cdc" value="${build}/obj/lib@{output.lib.name}.so" /> + <param name="src" value="${build.nativewindow}/obj/lib@{output.lib.name}.dylib" /> + <param name="dest" value="${build.nativewindow}/obj/lib@{output.lib.name}.jnilib" /> + <param name="dest-cdc" value="${build.nativewindow}/obj/lib@{output.lib.name}.so" /> </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" /> + <param name="src" value="${build.nativewindow}/obj/lib@{output.lib.name}.so" /> + <param name="dest" value="${build.nativewindow}/obj/@{output.lib.name}.dll" /> </antcall> </sequential> </macrodef> @@ -720,7 +601,7 @@ <arg value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Libraries/libjawt.dylib" /> <arg value="/System/Library/Frameworks/JavaVM.framework/Libraries/libjawt.dylib" /> <srcfile /> - <fileset dir="${obj}" includes="libnativewindow_awt.jnilib" /> + <fileset dir="${obj.nativewindow}" includes="libnativewindow_awt.jnilib" /> </apply> </target> @@ -750,25 +631,25 @@ <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="nativewindow_jvm" /> - <msvc.manifest objdir="${obj}" dllname="nativewindow_awt" /> + <msvc.manifest objdir="${obj.nativewindow}" dllname="nativewindow_jvm" /> + <msvc.manifest objdir="${obj.nativewindow}" dllname="nativewindow_awt" /> </target> <target name="c.build.nativewindow" depends="c.configure,c.build.nativewindow.windowlib,c.build.nativewindow.jvm,c.build.nativewindow.awt"> <antcall target="gluegen.cpptasks.striplibs" inheritRefs="true"> - <param name="libdir" value="${obj}"/> + <param name="libdir" value="${obj.nativewindow}"/> </antcall> <antcall target="c.fixup.jawt.version.macosx" inheritrefs="true" /> <antcall target="c.manifest" inheritRefs="true" /> <!-- Create the Java Web Start jar file for the built native code --> - <jar destfile="${build}/nativewindow-natives-${os.and.arch}.jar" filesonly="true"> - <fileset dir="${obj}"> + <jar destfile="${build.nativewindow}/nativewindow-natives-${os.and.arch}.jar" filesonly="true"> + <fileset dir="${obj.nativewindow}"> <include name="*.${native.library.suffix}" /> </fileset> </jar> - <jar destfile="${build}/nativewindow-natives-${os.and.arch}-cdc.jar" filesonly="true"> - <fileset dir="${obj}"> + <jar destfile="${build.nativewindow}/nativewindow-natives-${os.and.arch}-cdc.jar" filesonly="true"> + <fileset dir="${obj.nativewindow}"> <include name="*_jvm.${native.library.suffix-cdc}" /> <include name="*_x11.${native.library.suffix-cdc}" /> </fileset> @@ -889,11 +770,11 @@ <!-- ================================================================== --> <!-- - Build the Javadocs for the sources. - - NOTE: these are not entirely correct as the javadocs targets depend + - NOTE: these are not entirely correct as the javadoc targets depend - on the platform specific build targets. To circumvent any - errors, ensure that the source is built first. --> - <target name="javadoc" depends="load.user.properties,init"> + <target name="javadoc" depends="init"> <!-- Build the general public Javadoc --> <javadoc packagenames="${javadoc.packagenames}" excludepackagenames="${java.excludes.javadoc.packagenames}" @@ -907,7 +788,7 @@ </javadoc> </target> - <target name="javadoc.spec" depends="load.user.properties,init"> + <target name="javadoc.spec" depends="init"> <!-- Build the specification Javadoc --> <javadoc packagenames="${javadoc.spec.packagenames}" excludepackagenames="${java.excludes.javadoc.packagenames}" @@ -921,7 +802,7 @@ </javadoc> </target> - <target name="javadoc.dev" depends="load.user.properties,init"> + <target name="javadoc.dev" depends="init"> <!-- Build the internal developer Javadoc --> <javadoc packagenames="${javadoc.dev.packagenames}" excludepackagenames="${java.excludes.javadoc.packagenames}" @@ -943,7 +824,7 @@ --> <target name="clean" description="Remove all build products" depends="declare.common"> <delete includeEmptyDirs="true" quiet="true"> - <fileset dir="${build}" /> + <fileset dir="${build.nativewindow}" /> <fileset dir="${javadoc}" /> <fileset dir="${javadoc.spec}" /> <fileset dir="${javadoc.dev}" /> @@ -954,22 +835,11 @@ <!-- - Build everything. --> - <target name="all" description="Build NativeWindow JAR file(s) and native libraries." depends="load.user.properties,init,jar,c.build.nativewindow,generate.version.txt" /> - - <target name="setup-version-RI" if="nativewindow.ri"> - <property name="tmp.version" value="${nativewindow_base_version}" /> - </target> - - <target name="setup-version-non-RI" unless="nativewindow.ri"> - <tstamp> - <format property="version.timestamp" pattern="yyyyMMdd"/> - </tstamp> - <property name="tmp.version" value="${nativewindow_base_version}-pre-${version.timestamp}" /> - </target> + <target name="all" description="Build NativeWindow JAR file(s) and native libraries." depends="init,jar,c.build.nativewindow,generate.version.txt" /> - <target name="generate.version.txt" depends="setup-version-RI,setup-version-non-RI"> + <target name="generate.version.txt" depends="init"> <!-- Create a version.txt file indicating which version we just built --> - <echo message="${tmp.version}" file="${build}/version.txt" /> + <echo message="${nativewindow.version}" file="${build.nativewindow}/version.txt" /> </target> <!-- ================================================================== --> diff --git a/make/build-newt.xml b/make/build-newt.xml index 782ff158d..d8f8c2b60 100644 --- a/make/build-newt.xml +++ b/make/build-newt.xml @@ -56,27 +56,13 @@ --> <project name="NEWT" basedir="." default="all"> - <import file="versions.xml" /> - - <!-- Pull in GlueGen cpptasks build file --> - <property name="gluegen.root" value="../../gluegen" /> - <import file="${gluegen.root}/make/gluegen-cpptasks.xml" /> + <import file="build-common.xml"/> <!-- ================================================================== --> <!-- - Base initialization and detection of operating system. --> - <target name="base.init" depends="gluegen.cpptasks.detect.os"> - - <property name="javac.bootclasspath-cdc.jar" value="${gluegen.root}/make/lib/cdc_fp.jar"/> - - <condition property="setup.nodesktop"> - <and> - <isfalse value="${isWindows}" /> - <isfalse value="${isOSX}" /> - <isfalse value="${isX11}" /> - </and> - </condition> + <target name="base.init" depends="common.init"> <condition property="setup.nonatives"> <and> @@ -89,16 +75,14 @@ </and> </condition> - <echo message="setup.nonatives: ${setup.nonatives}" /> - <echo message="setup.nodesktop: ${setup.nodesktop}" /> - <echo message="setup.noCDC: ${setup.noCDC}" /> - <echo message="setup.noAWT: ${setup.noAWT}" /> <echo message="setup.noOpenGL: ${setup.noOpenGL}" /> - <echo message="javac.bootclasspath-cdc.jar: ${javac.bootclasspath-cdc.jar}" /> + <echo message="isWindows: ${isWindows}" /> + <echo message="isOSX: ${isOSX}" /> <echo message="isX11: ${isX11}" /> <echo message="useKD: ${useKD}" /> <echo message="useIntelGDL: ${useIntelGDL}" /> <echo message="useBroadcomEGL: ${useBroadcomEGL}" /> + <echo message="setup.nonatives: ${setup.nonatives}" /> <!-- partitioning --> @@ -145,127 +129,28 @@ <property name="java.excludes.all" value="${java.excludes.awt}, ${java.excludes.opengl} ${java.excludes.desktop}" /> <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="newt.sourcelevel" value="1.4" /> - </target> - - <!--target name="base.init.sourcelevel.2" if="gluegen.nsig"> - <property name="newt.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}/newt.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." /> </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" /> - - <!-- 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.newt" value="${rootrel.build}/newt" /> + <target name="declare.common" description="Declare properties" depends="base.init"> <property name="rootrel.src" value="src/newt" /> <property name="rootrel.src.java" value="${rootrel.src}/classes" /> <property name="rootrel.src.c" value="${rootrel.src}/native" /> - <property name="rootrel.obj" value="${rootrel.build.newt}/obj" /> - - <property name="gluegen-rt.jar" value="${gluegen.root}/${rootrel.build}/gluegen-rt.jar" /> - <property name="nativewindow.core.jar" value="../${rootrel.build}/nativewindow/nativewindow.core.jar" /> - <property name="nativewindow.os.x11.jar" value="../${rootrel.build}/nativewindow/nativewindow.os.x11.jar" /> - <property name="nativewindow.awt.jar" value="../${rootrel.build}/nativewindow/nativewindow.awt.jar" /> - <property name="jogl.core.jar" value="../${rootrel.build}/jogl/jogl.core.jar" /> - <property name="jogl.egl.jar" value="../${rootrel.build}/jogl/jogl.egl.jar" /> - - <property name="gluegen-rt-cdc.jar" value="${gluegen.root}/${rootrel.build}/gluegen-rt-cdc.jar" /> - <property name="nativewindow.core.cdc.jar" value="../${rootrel.build}/nativewindow/nativewindow.core.cdc.jar" /> - <property name="nativewindow.os.x11.cdc.jar" value="../${rootrel.build}/nativewindow/nativewindow.os.x11.cdc.jar" /> - <property name="jogl.core.cdc.jar" value="../${rootrel.build}/jogl/jogl.core.cdc.jar" /> - <property name="jogl.egl.cdc.jar" value="../${rootrel.build}/jogl/jogl.egl.cdc.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.newt}" /> <!-- The generated source directories. --> - <property name="src.generated" value="${build}/gensrc" /> + <property name="src.generated" value="${build.newt}/gensrc" /> <property name="src.generated.c" value="${src.generated}/native/newt" /> <!-- The compiler output directories. --> - <property name="classes" value="${build}/classes" /> - <property name="classes-cdc" value="${build}/classes-cdc" /> - <property name="obj" value="${project.root}/${rootrel.obj}" /> - - <path id="nativewindow_gluegen_jogl.classpath"> - <pathelement location="${gluegen-rt.jar}" /> - <pathelement location="${nativewindow.core.jar}" /> - <pathelement location="${nativewindow.os.x11.jar}" /> - <pathelement location="${nativewindow.awt.jar}" /> - <pathelement location="${jogl.core.jar}" /> - <pathelement location="${jogl.egl.jar}" /> - </path> - - <path id="nativewindow_gluegen_jogl.classpath-cdc"> - <pathelement location="${gluegen-rt-cdc.jar}" /> - <pathelement location="${nativewindow.core.cdc.jar}" /> - <pathelement location="${nativewindow.os.x11.cdc.jar}" /> - <pathelement location="${jogl.core.cdc.jar}" /> - <pathelement location="${jogl.egl.cdc.jar}" /> - </path> - - <!-- The resulting newt.jar. --> - <property name="newt.core.jar" value="${build}/newt.core.jar" /> - <property name="newt.os.x11.jar" value="${build}/newt.os.x11.jar" /> - <property name="newt.os.win.jar" value="${build}/newt.os.win.jar" /> - <property name="newt.os.osx.jar" value="${build}/newt.os.osx.jar" /> - <property name="newt.ogl.jar" value="${build}/newt.ogl.jar" /> - <property name="newt.broadcomegl.jar" value="${build}/newt.broadcomegl.jar" /> - <property name="newt.awt.jar" value="${build}/newt.awt.jar" /> - <property name="newt.all.jar" value="${build}/newt.all.jar" /> - <property name="newt.all-noawt.jar" value="${build}/newt.all-noawt.jar" /> - - <property name="newt.core.cdc.jar" value="${build}/newt.core.cdc.jar" /> - <property name="newt.os.x11.cdc.jar" value="${build}/newt.os.x11.cdc.jar" /> - <property name="newt.os.win.cdc.jar" value="${build}/newt.os.win.cdc.jar" /> - <property name="newt.os.osx.cdc.jar" value="${build}/newt.os.osx.cdc.jar" /> - <property name="newt.ogl.cdc.jar" value="${build}/newt.ogl.cdc.jar" /> - <property name="newt.broadcomegl.cdc.jar" value="${build}/newt.broadcomegl.cdc.jar" /> - <property name="newt.all.cdc.jar" value="${build}/newt.all.cdc.jar" /> + <property name="classes" value="${build.newt}/classes" /> + <property name="classes-cdc" value="${build.newt}/classes-cdc" /> <!-- The javadoc dirs. --> <property name="javadoc" value="${project.root}/javadoc_newt_public" /> @@ -288,9 +173,6 @@ - required directories. --> <target name="init" depends="declare.common"> - <!-- Call the external config validator script to make sure the config is ok and consistent --> - <ant antfile="${validate.user.properties}" inheritall="true"/> - <mkdir dir="${src.generated.c}" /> <mkdir dir="${src.generated.c}/X11" /> <mkdir dir="${src.generated.c}/MacOSX" /> @@ -300,7 +182,7 @@ <mkdir dir="${src.generated.c}/BroadcomEGL" /> <mkdir dir="${classes}" /> <mkdir dir="${classes-cdc}" /> - <mkdir dir="${obj}" /> + <mkdir dir="${obj.newt}" /> </target> <!-- ================================================================== --> @@ -311,9 +193,9 @@ <!-- Perform the second pass Java compile; everything. --> <javac destdir="${classes}" excludes="${java.excludes.all}" - source="${newt.sourcelevel}" + source="${target.sourcelevel}" fork="yes" - memoryMaximumSize="128m" + memoryMaximumSize="${javac.memorymax}" debug="${javacdebug}" debuglevel="${javacdebuglevel}"> <src path="${src.java}" /> <classpath refid="nativewindow_gluegen_jogl.classpath"/> @@ -324,10 +206,10 @@ <!-- Perform the first pass Java compile; everything --> <javac destdir="${classes-cdc}" excludes="${java.excludes.all} ${java.excludes.cdcfp}" - source="${newt.sourcelevel}" + source="${target.sourcelevel}" bootclasspath="${javac.bootclasspath-cdc.jar}" fork="yes" - memoryMaximumSize="128m" + memoryMaximumSize="${javac.memorymax}" debug="${javacdebug}" debuglevel="${javacdebuglevel}"> <classpath refid="nativewindow_gluegen_jogl.classpath-cdc"/> <src path="${src.java}" /> @@ -531,8 +413,8 @@ <echo message="Compiling @{output.lib.name}" /> <cc outtype="shared" - objdir="${obj}" - outfile="${obj}/@{output.lib.name}" + objdir="${obj.newt}" + outfile="${obj.newt}/@{output.lib.name}" optimize="${c.compiler.optimise}" debug="${c.compiler.debug}" multithreaded="true" @@ -568,24 +450,24 @@ </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"/> + <syslibset dir="${java.lib.platform}" libs="jawt" if="@{output.lib.name}.useLibJAWT"/> + <syslibset dir="${java.lib.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" /> - <param name="dest-cdc" value="${build}/obj/lib@{output.lib.name}.so" /> + <param name="src" value="${obj.newt}/lib@{output.lib.name}.dylib" /> + <param name="dest" value="${obj.newt}/lib@{output.lib.name}.jnilib" /> + <param name="dest-cdc" value="${obj.newt}/lib@{output.lib.name}.so" /> </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" /> + <param name="src" value="${obj.newt}/lib@{output.lib.name}.so" /> + <param name="dest" value="${obj.newt}/@{output.lib.name}.dll" /> </antcall> </sequential> </macrodef> @@ -621,7 +503,7 @@ <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="newt" /> + <msvc.manifest objdir="${obj.newt}" dllname="newt" /> </target> <target name="c.build.newt.natives" depends="c.build.newt.windowlib" unless="setup.nonatives"> @@ -629,18 +511,18 @@ <target name="c.build.newt" depends="c.configure,c.build.newt.prepare,c.build.newt.natives"> <antcall target="gluegen.cpptasks.striplibs" inheritRefs="true"> - <param name="libdir" value="${obj}"/> + <param name="libdir" value="${obj.newt}"/> </antcall> <antcall target="c.manifest" inheritRefs="true" /> <!-- Create the Java Web Start jar file for the built native code --> - <jar destfile="${build}/newt-natives-${os.and.arch}.jar" filesonly="true"> - <fileset dir="${obj}"> + <jar destfile="${build.newt}/newt-natives-${os.and.arch}.jar" filesonly="true"> + <fileset dir="${obj.newt}"> <include name="*.${native.library.suffix}" /> </fileset> </jar> - <jar destfile="${build}/newt-natives-${os.and.arch}-cdc.jar" filesonly="true"> - <fileset dir="${obj}"> + <jar destfile="${build.newt}/newt-natives-${os.and.arch}-cdc.jar" filesonly="true"> + <fileset dir="${obj.newt}"> <include name="*.${native.library.suffix-cdc}" /> </fileset> </jar> @@ -661,14 +543,11 @@ <isset property="newt.ri" /> </not> </condition> - <tstamp> - <format property="timestamp" pattern="yyyyMMdd-HH:mm:ss"/> - </tstamp> <copy file="${manifestfile}" tofile="tempversion" overwrite="true"> <filterset> - <filter token="VERSION" value="${newt_base_version}-pre-${timestamp}"/> + <filter token="VERSION" value="${newt.version}"/> <filter token="BASEVERSION" value="${newt_base_version}"/> </filterset> </copy> @@ -683,14 +562,11 @@ <isset property="newt.ri" /> </not> </condition> - <tstamp> - <format property="timestamp" pattern="yyyyMMdd-HH:mm:ss"/> - </tstamp> <copy file="${manifestfile}" tofile="tempversion-cdc" overwrite="true"> <filterset> - <filter token="VERSION" value="${newt_base_version}-pre-${timestamp}"/> + <filter token="VERSION" value="${newt.version}"/> <filter token="BASEVERSION" value="${newt_base_version}"/> </filterset> </copy> @@ -800,7 +676,7 @@ - on the platform specific build targets. To circumvent any - errors, ensure that the source is built first. --> - <target name="javadoc" depends="load.user.properties,init"> + <target name="javadoc" depends="init"> <!-- Build the general Javadoc --> <javadoc packagenames="${javadoc.packagenames}" excludepackagenames="${java.excludes.javadoc.packagenames}" @@ -814,7 +690,7 @@ </javadoc> </target> - <target name="javadoc.spec" depends="load.user.properties,init"> + <target name="javadoc.spec" depends="init"> <!-- Build the general Javadoc --> <javadoc packagenames="${javadoc.spec.packagenames}" excludepackagenames="${java.excludes.javadoc.packagenames}" @@ -828,7 +704,7 @@ </javadoc> </target> - <target name="javadoc.dev" depends="load.user.properties,init"> + <target name="javadoc.dev" depends="init"> <!-- Build the internal developer Javadoc --> <javadoc packagenames="${javadoc.dev.packagenames}" excludepackagenames="${java.excludes.javadoc.packagenames}" @@ -850,7 +726,7 @@ --> <target name="clean" description="Remove all build products" depends="declare.common"> <delete includeEmptyDirs="true" quiet="true"> - <fileset dir="${build}" /> + <fileset dir="${build.newt}" /> <fileset dir="${javadoc}" /> <fileset dir="${javadoc.spec}" /> <fileset dir="${javadoc.dev}" /> @@ -861,22 +737,11 @@ <!-- - Build everything. --> - <target name="all" description="Build NEWT JAR file(s) and native libraries." depends="load.user.properties,init,jar,c.build.newt,generate.version.txt" /> - - <target name="setup-version-RI" if="newt.ri"> - <property name="tmp.version" value="${newt_base_version}" /> - </target> - - <target name="setup-version-non-RI" unless="newt.ri"> - <tstamp> - <format property="version.timestamp" pattern="yyyyMMdd"/> - </tstamp> - <property name="tmp.version" value="${newt_base_version}-pre-${version.timestamp}" /> - </target> + <target name="all" description="Build NEWT JAR file(s) and native libraries." depends="init,jar,c.build.newt,generate.version.txt" /> - <target name="generate.version.txt" depends="setup-version-RI,setup-version-non-RI"> + <target name="generate.version.txt" depends="init"> <!-- Create a version.txt file indicating which version we just built --> - <echo message="${tmp.version}" file="${build}/version.txt" /> + <echo message="${newt.version}" file="${build.newt}/version.txt" /> </target> <!-- ================================================================== --> diff --git a/make/build.xml b/make/build.xml index 54b6a8e67..206d46d34 100644 --- a/make/build.xml +++ b/make/build.xml @@ -1,33 +1,9 @@ <project name="JOGL_ALL" basedir="." default="all"> - <import file="versions.xml" /> - - <!-- Pull in GlueGen cpptasks build file to pick up os.and.arch --> - <property name="gluegen.root" value="../../gluegen" /> - <import file="${gluegen.root}/make/gluegen-cpptasks.xml" /> - - <target name="init"> - <property name="project.root" value=".." /> - <condition property="rootrel.build" value="build"> - <not> - <isset property="rootrel.build"/> - </not> - </condition> - <property name="build" value="${project.root}/${rootrel.build}" /> - <property name="src" value="${project.root}/src" /> - - <property name="nativewindow.make.dir" value="." /> - <property name="nativewindow.build.xml" value="${nativewindow.make.dir}/build-nativewindow.xml" /> - <property name="jogl.make.dir" value="." /> - <property name="jogl.build.xml" value="${jogl.make.dir}/build-jogl.xml" /> - <property name="newt.make.dir" value="." /> - <property name="newt.build.xml" value="${newt.make.dir}/build-newt.xml" /> - - <property name="all.srcj.path" value="${src}/nativewindow/classes;${src}/jogl/classes;${src}/newt/classes" /> - <!-- No generated classes for Newt at the present time --> - <property name="all.genj.path" value="${build}/nativewindow/gensrc/classes;${build}/jogl/gensrc/classes" /> + <import file="build-common.xml"/> + <target name="init" depends="common.init"> <!-- The javadoc dirs. --> <property name="javadoc" value="${project.root}/javadoc_public" /> <property name="javadoc.link" value="http://java.sun.com/j2se/1.4.2/docs/api/" /> @@ -51,42 +27,28 @@ <property name="java.excludes.javadoc.packagenames" value="com.jogamp.opengl.impl.gl2.fixme.*,com.jogamp.audio.windows.waveout.TestSpatialization"/> <property name="javadoc.bottom" value="Copyright 2005 Sun Microsystems, Inc. All rights reserved. Use is subject to <a href="http://jcp.org/en/jsr/detail?id=231">license terms</a>." /> - <property name="gluegen.jar" value="${gluegen.root}/${rootrel.build}/gluegen.jar" /> - <property name="gluegen-rt.jar" value="${gluegen.root}/${rootrel.build}/gluegen-rt.jar" /> - <property name="nativewindow.all.jar" value="../${rootrel.build}/nativewindow/nativewindow.all.jar" /> - <property name="jogl.all.jar" value="../${rootrel.build}/jogl/jogl.all.jar" /> - <property name="newt.all.jar" value="../${rootrel.build}/newt/newt.all.jar" /> - - <path id="all.classpath"> - <pathelement location="${nativewindow.all.jar}" /> - <pathelement location="${gluegen-rt.jar}" /> - <pathelement location="${jogl.all.jar}" /> - <pathelement location="${newt.all.jar}" /> - </path> - </target> <target name="build.nativewindow" depends="init"> - <ant antfile="${nativewindow.build.xml}" dir="${nativewindow.make.dir}" target="all" inheritAll="false"/> + <ant antfile="${nativewindow.build.xml}" dir="${nativewindow.make}" target="all" inheritAll="false"/> </target> <target name="build.jogl" depends="init"> - <ant antfile="${jogl.build.xml}" dir="${jogl.make.dir}" target="all" inheritAll="false"/> + <ant antfile="${jogl.build.xml}" dir="${jogl.make}" target="all" inheritAll="false"/> </target> <target name="junit.run.jogl" depends="init"> - <ant antfile="${jogl.build.xml}" dir="${jogl.make.dir}" target="junit.run" inheritAll="false"/> + <ant antfile="${jogl.build.xml}" dir="${jogl.make}" target="junit.run" inheritAll="false"/> </target> <target name="build.newt" depends="init"> - <ant antfile="${newt.build.xml}" dir="${newt.make.dir}" target="all" inheritAll="false"/> + <ant antfile="${newt.build.xml}" dir="${newt.make}" target="all" inheritAll="false"/> </target> <target name="one-lib-dir" depends="init,gluegen.cpptasks.detect.os"> - <property name="lib.dir" value="${build}/lib" /> - <delete includeEmptyDirs="true" quiet="true" dir="${lib.dir}" failonerror="false" /> - <mkdir dir="${lib.dir}" /> - <copy todir="${lib.dir}"> + <delete includeEmptyDirs="true" quiet="true" dir="${lib}" failonerror="false" /> + <mkdir dir="${lib}" /> + <copy todir="${lib}"> <fileset dir="${gluegen.root}/${rootrel.build}/obj" includes="*.${native.library.suffix} *.${native.library.suffix-cdc}" /> <fileset dir="${build}/jogl/obj" includes="*.${native.library.suffix} *.${native.library.suffix-cdc}" /> <fileset dir="${build}/nativewindow/obj" includes="*.${native.library.suffix} *.${native.library.suffix-cdc}" /> @@ -100,36 +62,23 @@ - This must be called after all of the build targets complete. --> - <target name="setup-version-RI" if="jogl.ri"> - <property name="tmp.version" value="${jogl_base_version}" /> - </target> - - <target name="setup-version-non-RI" unless="jogl.ri"> - <tstamp> - <format property="timestamp" pattern="yyyyMMdd"/> - </tstamp> - <property name="tmp.version" value="${jogl_base_version}-pre-${timestamp}" /> - </target> - - <target name="developer-zip-archive" depends="gluegen.cpptasks.detect.os,setup-version-RI,setup-version-non-RI" unless="build.noarchives"> - <property name="archive.name" value="jogl-${tmp.version}-${os.and.arch}" /> - <property name="archive.dir" value="${build}/${archive.name}" /> - <delete includeEmptyDirs="true" quiet="true" dir="${archive.dir}" failonerror="false" /> - <mkdir dir="${archive.dir}" /> + <target name="developer-zip-archive" depends="init" unless="build.noarchives"> + <delete includeEmptyDirs="true" quiet="true" dir="${archive}" failonerror="false" /> + <mkdir dir="${archive}" /> <!-- Copy the appropriate pieces into the archive directory --> - <copy file="../CHANGELOG.txt" todir="${archive.dir}" /> - <copy file="../COPYRIGHT.txt" todir="${archive.dir}" /> - <copy file="../LICENSE.txt" todir="${archive.dir}" /> - <copy file="../doc/userguide/index.html" tofile="${archive.dir}/Userguide.html" /> + <copy file="../CHANGELOG.txt" todir="${archive}" /> + <copy file="../COPYRIGHT.txt" todir="${archive}" /> + <copy file="../LICENSE.txt" todir="${archive}" /> + <copy file="../doc/userguide/index.html" tofile="${archive}/Userguide.html" /> <copy file="README-zip-bundles.txt" - tofile="${archive.dir}/README.txt" + tofile="${archive}/README.txt" overwrite="true"> <filterset> - <filter token="VERSION" value="${tmp.version}"/> + <filter token="VERSION" value="${jogl.version}"/> </filterset> </copy> - <mkdir dir="${archive.dir}/lib" /> - <copy todir="${archive.dir}/lib"> + <mkdir dir="${archive}/lib" /> + <copy todir="${archive}/lib"> <fileset dir="${gluegen.root}/${rootrel.build}" includes="gluegen-rt.jar gluegen-rt-cdc.jar" /> <fileset dir="${gluegen.root}/${rootrel.build}/obj" includes="*.${native.library.suffix} *.${native.library.suffix-cdc}" /> <fileset dir="${build}/jogl" includes="*.jar" excludes="*natives*.jar" /> @@ -139,8 +88,8 @@ <fileset dir="${build}/newt" includes="*.jar" excludes="*natives*.jar" /> <fileset dir="${build}/newt/obj" includes="*.${native.library.suffix} *.${native.library.suffix-cdc}" /> </copy> - <mkdir dir="${archive.dir}/etc" /> - <copy todir="${archive.dir}/etc"> + <mkdir dir="${archive}/etc" /> + <copy todir="${archive}/etc"> <fileset dir="${project.root}/etc" includes="*" /> </copy> <delete quiet="true" file="${build}/${archive.name}.zip"/> @@ -148,7 +97,7 @@ basedir="${build}" includes="${archive.name}/**" /> <!-- Clean up after ourselves --> - <delete includeEmptyDirs="true" quiet="true" dir="${archive.dir}" failonerror="false" /> + <delete includeEmptyDirs="true" quiet="true" dir="${archive}" failonerror="false" /> </target> <!-- ================================================================== --> @@ -157,20 +106,20 @@ - This must be called after all of the build targets complete. --> - <target name="source-archive" depends="setup-version-RI,setup-version-non-RI" unless="build.noarchives"> + <target name="source-archive" depends="init" unless="build.noarchives"> <!-- NOTE that if you are using multiple rootrel.build directories within the same repository, the exclude lists here won't work well enough and you will wind up archiving binary bits from other rootrel.build settings in the source archive. This is inevitable given that we don't want to specialize this target to explicitly include top level files and directories, to make it future-proof. --> - <delete quiet="true" file="${build}/jogl-${tmp.version}-src.zip"/> - <zip destfile="${build}/jogl-${tmp.version}-src.zip" + <delete quiet="true" file="${build}/jogl-${jogl.version}-src.zip"/> + <zip destfile="${build}/jogl-${jogl.version}-src.zip" basedir="${project.root}/.." excludes="${gluegen.root}/${rootrel.build}/**,${gluegen.root}/build/**${gluegen.root}/build-temp/**,jogl/${rootrel.build}/**,jogl/build/**,jogl/build-temp/**,jogl/www/**" includes="${gluegen.root}/**, jogl/**" /> <!-- Now add in certain portions of the generated source code for developers --> <zip update="true" - destfile="${build}/jogl-${tmp.version}-src.zip" + destfile="${build}/jogl-${jogl.version}-src.zip" basedir="${project.root}/.." includes="jogl/${rootrel.build}/jogl/gensrc/classes/javax/media/opengl/**" /> </target> @@ -185,9 +134,9 @@ <target name="junit.run" description="Run JUNIT tests in nativewindow, jogl and newt projects" depends="init,junit.run.jogl" /> <target name="clean" depends="init"> - <ant antfile="${nativewindow.build.xml}" dir="${nativewindow.make.dir}" target="clean" inheritAll="false"/> - <ant antfile="${jogl.build.xml}" dir="${jogl.make.dir}" target="clean" inheritAll="false"/> - <ant antfile="${newt.build.xml}" dir="${newt.make.dir}" target="clean" inheritAll="false"/> + <ant antfile="${nativewindow.build.xml}" dir="${nativewindow.make}" target="clean" inheritAll="false"/> + <ant antfile="${jogl.build.xml}" dir="${jogl.make}" target="clean" inheritAll="false"/> + <ant antfile="${newt.build.xml}" dir="${newt.make}" target="clean" inheritAll="false"/> <delete includeEmptyDirs="true" quiet="true"> <fileset dir="${build}" /> </delete> @@ -203,7 +152,7 @@ source="1.4" maxmemory="512m" bottom="${javadoc.bottom}" > - <classpath refid="all.classpath"/> + <classpath refid="jogl_newt_all.classpath"/> <link offline="true" href="${javadoc.link}" packagelistLoc="142-packages" /> <arg line="-J-Dnativetaglet.mapping=${basedir}/native-taglet.properties"/> <taglet name="net.highteq.nativetaglet.NativeTaglet" path="${gluegen.jar}" /> @@ -220,7 +169,7 @@ source="1.4" maxmemory="512m" bottom="${javadoc.bottom}" > - <classpath refid="all.classpath"/> + <classpath refid="jogl_newt_all.classpath"/> <link offline="true" href="${javadoc.link}" packagelistLoc="142-packages" /> <arg line="-J-Dnativetaglet.mapping=${basedir}/native-taglet.properties"/> <link offline="false" href="${javadoc.nw.spec}" /> @@ -238,7 +187,7 @@ source="1.4" maxmemory="512m" bottom="${javadoc.bottom}" > - <classpath refid="all.classpath"/> + <classpath refid="jogl_newt_all.classpath"/> <link offline="true" href="${javadoc.link}" packagelistLoc="142-packages" /> <arg line="-J-Dnativetaglet.mapping=${basedir}/native-taglet.properties"/> <taglet name="net.highteq.nativetaglet.NativeTaglet" path="${gluegen.jar}" /> @@ -255,7 +204,7 @@ source="1.4" maxmemory="512m" bottom="${javadoc.bottom}" > - <classpath refid="all.classpath"/> + <classpath refid="jogl_newt_all.classpath"/> <link offline="true" href="${javadoc.link}" packagelistLoc="142-packages" /> <arg line="-J-Dnativetaglet.mapping=${basedir}/native-taglet.properties"/> <taglet name="net.highteq.nativetaglet.NativeTaglet" path="${gluegen.jar}" /> diff --git a/make/versions.xml b/make/versions.xml index 0ee07bfe0..75c035f5a 100644 --- a/make/versions.xml +++ b/make/versions.xml @@ -19,7 +19,6 @@ official release builds and intermediate release builds, but commented out for nightly builds. --> <!-- <property name="jogl.ri" value="true" /> --> - <property name="jogl.ri" value="true" /> <!-- Base version of the NativeWindow interface, following the same rules as above --> @@ -31,7 +30,6 @@ official release builds and intermediate release builds, but commented out for nightly builds. --> <!-- <property name="nativewindow.ri" value="true" /> --> - <property name="nativewindow.ri" value="true" /> <!-- Base version of the Newt library, following the same rules as above --> @@ -44,6 +42,5 @@ official release builds and intermediate release builds, but commented out for nightly builds. --> <!-- <property name="newt.ri" value="true" /> --> - <property name="newt.ri" value="true" /> </project> |