diff options
Diffstat (limited to 'make/build-common.xml')
-rw-r--r-- | make/build-common.xml | 381 |
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> |