From 16c5ff859e1714be198432aaf4f5bd225e7f6d04 Mon Sep 17 00:00:00 2001
From: Sven Gothel <sgothel@jausoft.com>
Date: Fri, 9 Apr 2010 02:21:59 +0200
Subject: Cleanup ant files, intro: build-common.xml used for all targets;
 Extracting build-junit.xml

---
 make/build-jogl.xml | 614 +++++++++++++++-------------------------------------
 1 file changed, 172 insertions(+), 442 deletions(-)

(limited to 'make/build-jogl.xml')

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,47 +245,26 @@
             <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.
            -->
@@ -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,69 +1872,22 @@
     <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}" />
         </delete>
     </target>
 
-    <!-- ================================================================== -->
-    <!--
-       - 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>
 
     <!-- ================================================================== -->
-- 
cgit v1.2.3