aboutsummaryrefslogtreecommitdiffstats
path: root/make/build-common.xml
diff options
context:
space:
mode:
Diffstat (limited to 'make/build-common.xml')
-rw-r--r--make/build-common.xml381
1 files changed, 381 insertions, 0 deletions
diff --git a/make/build-common.xml b/make/build-common.xml
new file mode 100644
index 000000000..8f8f33d12
--- /dev/null
+++ b/make/build-common.xml
@@ -0,0 +1,381 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<project name="JOGLCommonStuff" basedir="." default="common.init">
+
+ <description>Common JOGL Stuff</description>
+
+ <fail message="Please build using Ant 1.8.0 or higher.">
+ <condition>
+ <not>
+ <antversion atleast="1.8.0"/>
+ </not>
+ </condition>
+ </fail>
+
+ <!-- Pull in GlueGen cpptasks build file -->
+ <property name="gluegen.root" value="../../gluegen" />
+ <import file="${gluegen.root}/make/gluegen-cpptasks.xml" />
+ <import file="${gluegen.root}/make/jogamp-archivetasks.xml" />
+ <import file="${gluegen.root}/make/jogamp-env.xml" />
+
+ <property name="ant-contrib.jar" value="${gluegen.root}/make/lib/ant-contrib-1.0b3.jar" />
+
+ <condition property="rootrel.build" value="build">
+ <not>
+ <isset property="rootrel.build"/>
+ </not>
+ </condition>
+
+ <import file="versions.xml" />
+
+ <!-- ================================================================== -->
+ <!--
+ - Base initialization of properties and detection of operating system.
+ -->
+ <target name="common.init" depends="jogamp.env.init, gluegen.cpptasks.detect.os" 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="jar" value="${build}/jar" />
+
+ <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}/gluegen" />
+
+ <tstamp>
+ <format property="version.timestamp" pattern="yyyyMMdd"/>
+ </tstamp>
+
+ <property file="${build}/artifact.properties"/>
+ <property name="jogl.build.number" value="manual"/>
+ <property name="jogl.build.id" value="${version.timestamp}"/>
+ <property name="jogl.build.branch" value="master"/>
+ <property name="jogl.build.commit" value="manual"/>
+
+ <property name="nativewindow.version" value="${nativewindow_base_version}-b${jogl.build.number}-${version.timestamp}" />
+ <property name="jogl.version" value="${jogl_base_version}-b${jogl.build.number}-${version.timestamp}" />
+ <property name="newt.version" value="${newt_base_version}-b${jogl.build.number}-${version.timestamp}" />
+
+ <property name="archive.name" value="jogl-${jogl.version}-${os.and.arch}" />
+ <property name="archive" value="${build}/${archive.name}" />
+
+ <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}" />
+
+ <!-- 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." />
+ <echo message="antlr.jar=${antlr.jar}" />
+ <echo message="junit.jar=${junit.jar}" />
+
+ <!-- Set swt.jar to the correct file for this platform. We point to the debug JARs to allow
+ stepping into SWT calls using the accompanying source code zip archives. -->
+ <condition property="swt.jar" value="${project.root}/make/lib/swt/win32-win32-x86_64/swt-debug.jar">
+ <istrue value="${isWindowsAMD64}" />
+ </condition>
+ <condition property="swt.jar" value="${project.root}/make/lib/swt/win32-win32-x86/swt-debug.jar">
+ <istrue value="${isWindowsX86}" />
+ </condition>
+ <condition property="swt.jar" value="${project.root}/make/lib/swt/gtk-linux-x86_64/swt-debug.jar">
+ <istrue value="${isLinuxAMD64}" />
+ </condition>
+ <condition property="swt.jar" value="${project.root}/make/lib/swt/gtk-linux-x86/swt-debug.jar">
+ <istrue value="${isLinuxX86}" />
+ </condition>
+ <condition property="swt.jar" value="${project.root}/make/lib/swt/cocoa-macosx-x86_64/swt-debug.jar">
+ <and>
+ <istrue value="${isOSX}" />
+ <or>
+ <os arch="AMD64" />
+ <os arch="x86_64" />
+ </or>
+ </and>
+ </condition>
+ <condition property="swt.jar" value="${project.root}/make/lib/swt/cocoa-macosx/swt-debug.jar">
+ <and>
+ <istrue value="${isOSX}" />
+ <or>
+ <os arch="i386" />
+ <os arch="x86" />
+ </or>
+ </and>
+ </condition>
+ <condition property="swt.jar" value="${project.root}/make/lib/swt/gtk-solaris-x86/swt-debug.jar">
+ <istrue value="${isSolarisX86}" />
+ </condition>
+ <condition property="swt.jar" value="${project.root}/make/lib/swt/gtk-solaris-x86/swt-debug.jar">
+ <istrue value="${isSolarisAMD64}" />
+ </condition>
+ <condition property="swt.jar" value="${project.root}/make/lib/swt/gtk-solaris-sparc/swt-debug.jar">
+ <istrue value="${isSolarisSparc}" />
+ </condition>
+ <condition property="swt.jar" value="${project.root}/make/lib/swt/gtk-solaris-sparc/swt-debug.jar">
+ <istrue value="${isSolarisSparcv9}" />
+ </condition>
+ <echo message="swt.jar=${swt.jar}" />
+
+ <property name="target.sourcelevel" value="1.5" />
+ <property name="host.sourcelevel" value="1.5" />
+
+ <!-- property name="javadoc.link" value="http://java.sun.com/j2se/1.4.2/docs/api/" /-->
+ <property name="javadoc.link" value="http://download.oracle.com/javase/1.5.0/docs/api/" />
+
+ <!-- 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="javacdebug" value="true" /-->
+ <!--property name="javacdebuglevel" value="source,lines,vars" /-->
+ <!-- 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 "/". -->
+
+ <!-- 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="ant.jar" value="${ant.home}/lib/ant.jar" />
+ <property name="ant-junit.jar" value="${ant.home}/lib/ant-junit.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="results.test" value="${build}/test/results" />
+ <property name="build.test" value="${build}/test/build" />
+ <property name="obj.test" value="${build.test}/obj"/>
+
+ <condition property="obj.custom" value="${custom.libdir}${path.separator}" else="">
+ <isset property="custom.libdir"/>
+ </condition>
+
+ <property name="obj.all.paths" value="${obj.custom}${obj.gluegen}${path.separator}${obj.nativewindow}${path.separator}${obj.jogl}${path.separator}${obj.newt}${path.separator}${obj.test}" />
+
+ <path id="gluegen.classpath">
+ <pathelement location="${gluegen.jar}" />
+ <pathelement location="${antlr.jar}" />
+ </path>
+
+ <property name="gluegen-gl.jar" value="${build.jogl}/gluegen-gl.jar" />
+
+ <path id="gluegen-gl.classpath">
+ <pathelement location="${gluegen.jar}" />
+ <pathelement location="${gluegen-gl.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" />
+ <property name="newt.event.jar" value="${build.newt}/newt.event.jar" />
+
+ <!-- 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="swt_gluegen.classpath">
+ <pathelement location="${gluegen-rt.jar}" />
+ <pathelement location="${swt.jar}" />
+ </path>
+
+ <path id="nativewindow_gluegen.classpath">
+ <pathelement location="${gluegen-rt.jar}" />
+ <pathelement location="${swt.jar}" />
+ <pathelement location="${nativewindow.all.jar}" />
+ </path>
+
+ <path id="nativewindow_gluegen_jogl.classpath">
+ <pathelement location="${gluegen-rt.jar}" />
+ <pathelement location="${swt.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="${swt.jar}" />
+ <pathelement location="${nativewindow.all.jar}" />
+ <pathelement location="${jogl.all.jar}" />
+ <pathelement location="${newt.all.jar}" />
+ </path>
+
+ <path id="jogl_newt_all-noawt.classpath">
+ <pathelement location="${gluegen-rt.jar}" />
+ <pathelement location="${swt.jar}" />
+ <pathelement location="${nativewindow.all-noawt.jar}" />
+ <pathelement location="${jogl.all-noawt.jar}" />
+ <pathelement location="${newt.all-noawt.jar}" />
+ </path>
+
+ <path id="junit_jogl_newt.compile.classpath">
+ <pathelement location="${junit.jar}" />
+ <pathelement location="${ant.jar}" />
+ <pathelement location="${ant-junit.jar}" />
+ <pathelement location="${gluegen-rt.jar}" />
+ <pathelement location="${nativewindow.all.jar}" />
+ <pathelement location="${jogl.all.jar}" />
+ <pathelement location="${newt.all.jar}" />
+ <pathelement location="${swt.jar}" />
+ </path>
+
+ <path id="junit_jogl_awt.run.classpath">
+ <pathelement location="${junit.jar}" />
+ <pathelement location="${ant.jar}" />
+ <pathelement location="${ant-junit.jar}" />
+ <pathelement location="${gluegen-rt.jar}" />
+ <pathelement location="${nativewindow.all.jar}" />
+ <pathelement location="${jogl.all.jar}" />
+ <pathelement location="${newt.event.jar}" />
+ <pathelement location="${jogl.test.jar}" />
+ </path>
+
+ <!-- classpath used when running SWT tests -->
+ <path id="junit_jogl_swt.run.classpath">
+ <pathelement location="${junit.jar}" />
+ <pathelement location="${ant.jar}" />
+ <pathelement location="${ant-junit.jar}" />
+ <pathelement location="${gluegen-rt.jar}" />
+ <pathelement location="${swt.jar}" />
+ <pathelement location="${nativewindow.all.jar}" />
+ <pathelement location="${jogl.all.jar}" />
+ <pathelement location="${newt.event.jar}" />
+ <pathelement location="${jogl.test.jar}" />
+ </path>
+ <property name="junit_jogl_swt.run.jars"
+ value="${junit.jar}${path.separator}${ant.jar}${path.separator}${ant-junit.jar}${path.separator}${gluegen-rt.jar}${path.separator}${swt.jar}${path.separator}${nativewindow.all.jar}${path.separator}${jogl.all.jar}${path.separator}${newt.all.jar}${path.separator}${jogl.test.jar}"/>
+
+ <path id="junit_jogl_newt.run.classpath">
+ <pathelement location="${junit.jar}" />
+ <pathelement location="${ant.jar}" />
+ <pathelement location="${ant-junit.jar}" />
+ <pathelement location="${gluegen-rt.jar}" />
+ <pathelement location="${nativewindow.all-noawt.jar}" />
+ <pathelement location="${jogl.all-noawt.jar}" />
+ <pathelement location="${newt.all-noawt.jar}" />
+ <pathelement location="${jogl.test.jar}" />
+ </path>
+ <property name="junit_jogl_newt.run.jars"
+ value="${junit.jar}${path.separator}${ant.jar}${path.separator}${ant-junit.jar}${path.separator}${gluegen-rt.jar}${path.separator}${nativewindow.all-noawt.jar}${path.separator}${jogl.all-noawt.jar}${path.separator}${newt.all-noawt.jar}${path.separator}${jogl.test.jar}"/>
+
+ <path id="junit_jogl_newt_awt.run.classpath">
+ <pathelement location="${junit.jar}" />
+ <pathelement location="${ant.jar}" />
+ <pathelement location="${ant-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>
+ <property name="junit_jogl_newt_awt.run.jars"
+ value="${junit.jar}${path.separator}${ant.jar}${path.separator}${ant-junit.jar}${path.separator}${gluegen-rt.jar}${path.separator}${nativewindow.all.jar}${path.separator}${jogl.all.jar}${path.separator}${newt.all.jar}${path.separator}${jogl.test.jar}"/>
+
+
+ <!-- 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="nativewindow.os.win.jar" value="${build.nativewindow}/nativewindow.os.win.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.glugldesktop.jar" value="${build.jogl}/jogl.glu.gldesktop.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.gldesktop.jar" value="${build.jogl}/jogl.gldesktop.jar" />
+ <property name="jogl.gldesktop.dbg.jar" value="${build.jogl}/jogl.gldesktop.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.gldesktop.jar" value="${build.jogl}/jogl.util.gldesktop.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.awt.jar" value="${build.newt}/newt.awt.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.hw.broadcomegl.jar" value="${build.newt}/newt.hw.broadcomegl.jar" />
+ <property name="newt.hw.intelgdl.jar" value="${build.newt}/newt.hw.intelgdl.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. -->
+ <ant antfile="${gluegen.build.xml}" dir="${gluegen.make}" target="base.compile" inheritAll="false"/>
+ </target>
+
+
+</project>