diff options
author | Sven Gothel <[email protected]> | 2010-04-09 02:21:59 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2010-04-09 02:21:59 +0200 |
commit | 16c5ff859e1714be198432aaf4f5bd225e7f6d04 (patch) | |
tree | 3bd13ea41786b7a803ca53c1365ca060c96e5006 /make/build-newt.xml | |
parent | f8cbd63d360a8d138a82d31bb53e65485ae64b42 (diff) |
Cleanup ant files, intro: build-common.xml used for all targets; Extracting build-junit.xml
Diffstat (limited to 'make/build-newt.xml')
-rw-r--r-- | make/build-newt.xml | 211 |
1 files changed, 38 insertions, 173 deletions
diff --git a/make/build-newt.xml b/make/build-newt.xml index 782ff158d..d8f8c2b60 100644 --- a/make/build-newt.xml +++ b/make/build-newt.xml @@ -56,27 +56,13 @@ --> <project name="NEWT" basedir="." default="all"> - <import file="versions.xml" /> - - <!-- Pull in GlueGen cpptasks build file --> - <property name="gluegen.root" value="../../gluegen" /> - <import file="${gluegen.root}/make/gluegen-cpptasks.xml" /> + <import file="build-common.xml"/> <!-- ================================================================== --> <!-- - Base initialization and detection of operating system. --> - <target name="base.init" depends="gluegen.cpptasks.detect.os"> - - <property name="javac.bootclasspath-cdc.jar" value="${gluegen.root}/make/lib/cdc_fp.jar"/> - - <condition property="setup.nodesktop"> - <and> - <isfalse value="${isWindows}" /> - <isfalse value="${isOSX}" /> - <isfalse value="${isX11}" /> - </and> - </condition> + <target name="base.init" depends="common.init"> <condition property="setup.nonatives"> <and> @@ -89,16 +75,14 @@ </and> </condition> - <echo message="setup.nonatives: ${setup.nonatives}" /> - <echo message="setup.nodesktop: ${setup.nodesktop}" /> - <echo message="setup.noCDC: ${setup.noCDC}" /> - <echo message="setup.noAWT: ${setup.noAWT}" /> <echo message="setup.noOpenGL: ${setup.noOpenGL}" /> - <echo message="javac.bootclasspath-cdc.jar: ${javac.bootclasspath-cdc.jar}" /> + <echo message="isWindows: ${isWindows}" /> + <echo message="isOSX: ${isOSX}" /> <echo message="isX11: ${isX11}" /> <echo message="useKD: ${useKD}" /> <echo message="useIntelGDL: ${useIntelGDL}" /> <echo message="useBroadcomEGL: ${useBroadcomEGL}" /> + <echo message="setup.nonatives: ${setup.nonatives}" /> <!-- partitioning --> @@ -145,127 +129,28 @@ <property name="java.excludes.all" value="${java.excludes.awt}, ${java.excludes.opengl} ${java.excludes.desktop}" /> <echo message="java.excludes.all: ${java.excludes.all}" /> - - <!-- Set the project root directory to be up one directory. --> - <property name="project.root" value=".." /> - - <!-- Set the configuration and build files to this directory. --> - <property name="make" value="." /> - </target> - - <target name="base.init.sourcelevel.1"> - <property name="newt.sourcelevel" value="1.4" /> - </target> - - <!--target name="base.init.sourcelevel.2" if="gluegen.nsig"> - <property name="newt.sourcelevel" value="1.5" /> - </target--> - - <!-- ================================================================== --> - <!-- - - Load user properties which override build defaults. - --> - <target name="load.user.properties" depends="base.init,base.init.sourcelevel.1" unless="user.properties.file"> - <!-- Load the user specified properties file that defines various host - - specific paths. The user will be notified if this is does not - - exist. --> - <property name="user.properties.file" value="${user.home}/newt.properties" /> - <property file="${user.properties.file}" /> - <echo message="Loaded ${user.properties.file}." /> - <property file="${user.home}/gluegen.properties" /> - <echo message="Loaded ${user.home}/gluegen.properties." /> </target> <!-- ================================================================== --> <!-- - Declare all paths and user defined variables. --> - <target name="declare.common" description="Declare properties" depends="load.user.properties"> - <!-- The location and name of the configuration ANT file that will - - validate to ensure that all user-define variables are set. --> - <property name="validate.user.properties" value="${make}/validate-properties.xml" /> - - <!-- NOTE: the value of the debug and optimise attributes will not be overridden if already set externally --> - <property name="javacdebug" value="true" /> - <property name="javacdebuglevel" value="source,lines" /> - - <!-- Names of directories relative to the project root. - Some of these are used in FileMappers later for dependence information - and need exact string matching, which is why they use file.separator - instead of "/". --> - <condition property="rootrel.build" value="build"> - <not> - <isset property="rootrel.build"/> - </not> - </condition> - <property name="rootrel.build.newt" value="${rootrel.build}/newt" /> + <target name="declare.common" description="Declare properties" depends="base.init"> <property name="rootrel.src" value="src/newt" /> <property name="rootrel.src.java" value="${rootrel.src}/classes" /> <property name="rootrel.src.c" value="${rootrel.src}/native" /> - <property name="rootrel.obj" value="${rootrel.build.newt}/obj" /> - - <property name="gluegen-rt.jar" value="${gluegen.root}/${rootrel.build}/gluegen-rt.jar" /> - <property name="nativewindow.core.jar" value="../${rootrel.build}/nativewindow/nativewindow.core.jar" /> - <property name="nativewindow.os.x11.jar" value="../${rootrel.build}/nativewindow/nativewindow.os.x11.jar" /> - <property name="nativewindow.awt.jar" value="../${rootrel.build}/nativewindow/nativewindow.awt.jar" /> - <property name="jogl.core.jar" value="../${rootrel.build}/jogl/jogl.core.jar" /> - <property name="jogl.egl.jar" value="../${rootrel.build}/jogl/jogl.egl.jar" /> - - <property name="gluegen-rt-cdc.jar" value="${gluegen.root}/${rootrel.build}/gluegen-rt-cdc.jar" /> - <property name="nativewindow.core.cdc.jar" value="../${rootrel.build}/nativewindow/nativewindow.core.cdc.jar" /> - <property name="nativewindow.os.x11.cdc.jar" value="../${rootrel.build}/nativewindow/nativewindow.os.x11.cdc.jar" /> - <property name="jogl.core.cdc.jar" value="../${rootrel.build}/jogl/jogl.core.cdc.jar" /> - <property name="jogl.egl.cdc.jar" value="../${rootrel.build}/jogl/jogl.egl.cdc.jar" /> <!-- The source directories. --> <property name="src.java" value="${project.root}/${rootrel.src.java}" /> <property name="src.c" value="${project.root}/${rootrel.src.c}" /> - <property name="build" value="${project.root}/${rootrel.build.newt}" /> <!-- The generated source directories. --> - <property name="src.generated" value="${build}/gensrc" /> + <property name="src.generated" value="${build.newt}/gensrc" /> <property name="src.generated.c" value="${src.generated}/native/newt" /> <!-- The compiler output directories. --> - <property name="classes" value="${build}/classes" /> - <property name="classes-cdc" value="${build}/classes-cdc" /> - <property name="obj" value="${project.root}/${rootrel.obj}" /> - - <path id="nativewindow_gluegen_jogl.classpath"> - <pathelement location="${gluegen-rt.jar}" /> - <pathelement location="${nativewindow.core.jar}" /> - <pathelement location="${nativewindow.os.x11.jar}" /> - <pathelement location="${nativewindow.awt.jar}" /> - <pathelement location="${jogl.core.jar}" /> - <pathelement location="${jogl.egl.jar}" /> - </path> - - <path id="nativewindow_gluegen_jogl.classpath-cdc"> - <pathelement location="${gluegen-rt-cdc.jar}" /> - <pathelement location="${nativewindow.core.cdc.jar}" /> - <pathelement location="${nativewindow.os.x11.cdc.jar}" /> - <pathelement location="${jogl.core.cdc.jar}" /> - <pathelement location="${jogl.egl.cdc.jar}" /> - </path> - - <!-- The resulting newt.jar. --> - <property name="newt.core.jar" value="${build}/newt.core.jar" /> - <property name="newt.os.x11.jar" value="${build}/newt.os.x11.jar" /> - <property name="newt.os.win.jar" value="${build}/newt.os.win.jar" /> - <property name="newt.os.osx.jar" value="${build}/newt.os.osx.jar" /> - <property name="newt.ogl.jar" value="${build}/newt.ogl.jar" /> - <property name="newt.broadcomegl.jar" value="${build}/newt.broadcomegl.jar" /> - <property name="newt.awt.jar" value="${build}/newt.awt.jar" /> - <property name="newt.all.jar" value="${build}/newt.all.jar" /> - <property name="newt.all-noawt.jar" value="${build}/newt.all-noawt.jar" /> - - <property name="newt.core.cdc.jar" value="${build}/newt.core.cdc.jar" /> - <property name="newt.os.x11.cdc.jar" value="${build}/newt.os.x11.cdc.jar" /> - <property name="newt.os.win.cdc.jar" value="${build}/newt.os.win.cdc.jar" /> - <property name="newt.os.osx.cdc.jar" value="${build}/newt.os.osx.cdc.jar" /> - <property name="newt.ogl.cdc.jar" value="${build}/newt.ogl.cdc.jar" /> - <property name="newt.broadcomegl.cdc.jar" value="${build}/newt.broadcomegl.cdc.jar" /> - <property name="newt.all.cdc.jar" value="${build}/newt.all.cdc.jar" /> + <property name="classes" value="${build.newt}/classes" /> + <property name="classes-cdc" value="${build.newt}/classes-cdc" /> <!-- The javadoc dirs. --> <property name="javadoc" value="${project.root}/javadoc_newt_public" /> @@ -288,9 +173,6 @@ - required directories. --> <target name="init" depends="declare.common"> - <!-- Call the external config validator script to make sure the config is ok and consistent --> - <ant antfile="${validate.user.properties}" inheritall="true"/> - <mkdir dir="${src.generated.c}" /> <mkdir dir="${src.generated.c}/X11" /> <mkdir dir="${src.generated.c}/MacOSX" /> @@ -300,7 +182,7 @@ <mkdir dir="${src.generated.c}/BroadcomEGL" /> <mkdir dir="${classes}" /> <mkdir dir="${classes-cdc}" /> - <mkdir dir="${obj}" /> + <mkdir dir="${obj.newt}" /> </target> <!-- ================================================================== --> @@ -311,9 +193,9 @@ <!-- Perform the second pass Java compile; everything. --> <javac destdir="${classes}" excludes="${java.excludes.all}" - source="${newt.sourcelevel}" + source="${target.sourcelevel}" fork="yes" - memoryMaximumSize="128m" + memoryMaximumSize="${javac.memorymax}" debug="${javacdebug}" debuglevel="${javacdebuglevel}"> <src path="${src.java}" /> <classpath refid="nativewindow_gluegen_jogl.classpath"/> @@ -324,10 +206,10 @@ <!-- Perform the first pass Java compile; everything --> <javac destdir="${classes-cdc}" excludes="${java.excludes.all} ${java.excludes.cdcfp}" - source="${newt.sourcelevel}" + source="${target.sourcelevel}" bootclasspath="${javac.bootclasspath-cdc.jar}" fork="yes" - memoryMaximumSize="128m" + memoryMaximumSize="${javac.memorymax}" debug="${javacdebug}" debuglevel="${javacdebuglevel}"> <classpath refid="nativewindow_gluegen_jogl.classpath-cdc"/> <src path="${src.java}" /> @@ -531,8 +413,8 @@ <echo message="Compiling @{output.lib.name}" /> <cc outtype="shared" - objdir="${obj}" - outfile="${obj}/@{output.lib.name}" + objdir="${obj.newt}" + outfile="${obj.newt}/@{output.lib.name}" optimize="${c.compiler.optimise}" debug="${c.compiler.debug}" multithreaded="true" @@ -568,24 +450,24 @@ </compiler> <linker extends="@{linker.cfg.id}"> - <syslibset dir="${java.lib.dir.platform}" libs="jawt" if="@{output.lib.name}.useLibJAWT"/> - <syslibset dir="${java.lib.dir.platform}/server" libs="jvm" if="@{output.lib.name}.useLibJVM"/> + <syslibset dir="${java.lib.platform}" libs="jawt" if="@{output.lib.name}.useLibJAWT"/> + <syslibset dir="${java.lib.platform}/server" libs="jvm" if="@{output.lib.name}.useLibJVM"/> </linker> </cc> <!-- FIXME: this is a hack; the cpptask should have an option to change the suffix or at least understand the override from dylib to jnilib --> <antcall target="rename.dylib" inheritRefs="true"> - <param name="src" value="${build}/obj/lib@{output.lib.name}.dylib" /> - <param name="dest" value="${build}/obj/lib@{output.lib.name}.jnilib" /> - <param name="dest-cdc" value="${build}/obj/lib@{output.lib.name}.so" /> + <param name="src" value="${obj.newt}/lib@{output.lib.name}.dylib" /> + <param name="dest" value="${obj.newt}/lib@{output.lib.name}.jnilib" /> + <param name="dest-cdc" value="${obj.newt}/lib@{output.lib.name}.so" /> </antcall> <!-- FIXME: this is a hack; the cpptask should have an option to change the suffix or at least understand the override from dylib to jnilib --> <antcall target="rename.mingw.dll" inheritRefs="true"> - <param name="src" value="${build}/obj/lib@{output.lib.name}.so" /> - <param name="dest" value="${build}/obj/@{output.lib.name}.dll" /> + <param name="src" value="${obj.newt}/lib@{output.lib.name}.so" /> + <param name="dest" value="${obj.newt}/@{output.lib.name}.dll" /> </antcall> </sequential> </macrodef> @@ -621,7 +503,7 @@ <target name="c.manifest" if="isVC8Family"> <!-- exec mt, the Microsoft Manifest Tool, to include DLL manifests in order to resolve the location of msvcr80.dll --> - <msvc.manifest objdir="${obj}" dllname="newt" /> + <msvc.manifest objdir="${obj.newt}" dllname="newt" /> </target> <target name="c.build.newt.natives" depends="c.build.newt.windowlib" unless="setup.nonatives"> @@ -629,18 +511,18 @@ <target name="c.build.newt" depends="c.configure,c.build.newt.prepare,c.build.newt.natives"> <antcall target="gluegen.cpptasks.striplibs" inheritRefs="true"> - <param name="libdir" value="${obj}"/> + <param name="libdir" value="${obj.newt}"/> </antcall> <antcall target="c.manifest" inheritRefs="true" /> <!-- Create the Java Web Start jar file for the built native code --> - <jar destfile="${build}/newt-natives-${os.and.arch}.jar" filesonly="true"> - <fileset dir="${obj}"> + <jar destfile="${build.newt}/newt-natives-${os.and.arch}.jar" filesonly="true"> + <fileset dir="${obj.newt}"> <include name="*.${native.library.suffix}" /> </fileset> </jar> - <jar destfile="${build}/newt-natives-${os.and.arch}-cdc.jar" filesonly="true"> - <fileset dir="${obj}"> + <jar destfile="${build.newt}/newt-natives-${os.and.arch}-cdc.jar" filesonly="true"> + <fileset dir="${obj.newt}"> <include name="*.${native.library.suffix-cdc}" /> </fileset> </jar> @@ -661,14 +543,11 @@ <isset property="newt.ri" /> </not> </condition> - <tstamp> - <format property="timestamp" pattern="yyyyMMdd-HH:mm:ss"/> - </tstamp> <copy file="${manifestfile}" tofile="tempversion" overwrite="true"> <filterset> - <filter token="VERSION" value="${newt_base_version}-pre-${timestamp}"/> + <filter token="VERSION" value="${newt.version}"/> <filter token="BASEVERSION" value="${newt_base_version}"/> </filterset> </copy> @@ -683,14 +562,11 @@ <isset property="newt.ri" /> </not> </condition> - <tstamp> - <format property="timestamp" pattern="yyyyMMdd-HH:mm:ss"/> - </tstamp> <copy file="${manifestfile}" tofile="tempversion-cdc" overwrite="true"> <filterset> - <filter token="VERSION" value="${newt_base_version}-pre-${timestamp}"/> + <filter token="VERSION" value="${newt.version}"/> <filter token="BASEVERSION" value="${newt_base_version}"/> </filterset> </copy> @@ -800,7 +676,7 @@ - on the platform specific build targets. To circumvent any - errors, ensure that the source is built first. --> - <target name="javadoc" depends="load.user.properties,init"> + <target name="javadoc" depends="init"> <!-- Build the general Javadoc --> <javadoc packagenames="${javadoc.packagenames}" excludepackagenames="${java.excludes.javadoc.packagenames}" @@ -814,7 +690,7 @@ </javadoc> </target> - <target name="javadoc.spec" depends="load.user.properties,init"> + <target name="javadoc.spec" depends="init"> <!-- Build the general Javadoc --> <javadoc packagenames="${javadoc.spec.packagenames}" excludepackagenames="${java.excludes.javadoc.packagenames}" @@ -828,7 +704,7 @@ </javadoc> </target> - <target name="javadoc.dev" depends="load.user.properties,init"> + <target name="javadoc.dev" depends="init"> <!-- Build the internal developer Javadoc --> <javadoc packagenames="${javadoc.dev.packagenames}" excludepackagenames="${java.excludes.javadoc.packagenames}" @@ -850,7 +726,7 @@ --> <target name="clean" description="Remove all build products" depends="declare.common"> <delete includeEmptyDirs="true" quiet="true"> - <fileset dir="${build}" /> + <fileset dir="${build.newt}" /> <fileset dir="${javadoc}" /> <fileset dir="${javadoc.spec}" /> <fileset dir="${javadoc.dev}" /> @@ -861,22 +737,11 @@ <!-- - Build everything. --> - <target name="all" description="Build NEWT JAR file(s) and native libraries." depends="load.user.properties,init,jar,c.build.newt,generate.version.txt" /> - - <target name="setup-version-RI" if="newt.ri"> - <property name="tmp.version" value="${newt_base_version}" /> - </target> - - <target name="setup-version-non-RI" unless="newt.ri"> - <tstamp> - <format property="version.timestamp" pattern="yyyyMMdd"/> - </tstamp> - <property name="tmp.version" value="${newt_base_version}-pre-${version.timestamp}" /> - </target> + <target name="all" description="Build NEWT JAR file(s) and native libraries." depends="init,jar,c.build.newt,generate.version.txt" /> - <target name="generate.version.txt" depends="setup-version-RI,setup-version-non-RI"> + <target name="generate.version.txt" depends="init"> <!-- Create a version.txt file indicating which version we just built --> - <echo message="${tmp.version}" file="${build}/version.txt" /> + <echo message="${newt.version}" file="${build.newt}/version.txt" /> </target> <!-- ================================================================== --> |