--- a/sf-platform/build.xml Wed Mar 25 17:25:57 2009 +0000
+++ b/sf-platform/build.xml Fri Mar 27 13:13:04 2009 +0000
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project name="SF-PLATFORM-CONFIG">
+<project name="SF-PLATFORM-CONFIG" xmlns:hlm="http://www.nokia.com/helium">
<!-- location of this config -->
<dirname property="sf.platform.config.dir" file="${ant.file.SF-PLATFORM-CONFIG}"/>
@@ -15,6 +15,189 @@
-->
<loadproperties srcFile="${sf.platform.config.dir}/platform.properties"/>
+ <!-- workaround until GenXML can merge v2.0.0 fragments -->
+ <target name="create-canonical-sysdef-file">
+
+ <if>
+ <!-- TODO use scripting to match this -->
+ <equals arg1="${sf.spec.sysdef.version}" arg2="1.4.0" />
+ <then>
+ <echo message="Using System Definition v1.4.0 "/>
+ <runtarget target="compile.create-canonical-sysdef-file"/>
+ </then>
+ <else>
+ <runtarget target="preprocess-sysdef-files"/>
+ <echo message="Exporting preprocessed System Definition"/>
+
+ <!-- TODO use better method to export or wait for GenXML fix?-->
+ <copy file="${build.output.dir}\build\input\0000000000000001_system_definition.xml"
+ tofile="${canonical.sysdef.file}" failonerror="true" verbose="true"/>
+ </else>
+ </if>
+
+ </target>
+
+ <!--
+ == Name: PREPROCESS-SYSDEF-FILES
+ ==
+ == Desc: Override of default target in order to deal with symbian os
+ == system_definition.xml that does not have /sf source prefix
+ ==
+ == TODO get this moved as a Helium core target?
+ -->
+ <target name="preprocess-sysdef-files">
+ <mkdir dir="${build.output.dir}/build/input"/>
+ <delete verbose="true">
+ <fileset dir="${build.output.dir}/build/input/" includes="**"/>
+ </delete>
+
+ <for param="file">
+ <resources refid="system.definition.files"/>
+ <sequential>
+ <copy todir="${build.output.dir}/build/input" verbose="true">
+ <fileset file="@{file}"/>
+ <filterchain>
+ <replaceregex pattern="bldFile="os" replace="bldFile="sf\\\\os" flags="gi"/>
+ <replaceregex pattern="mrp="os" replace="mrp="sf\\\\os" flags="gi"/>
+ <replaceregex pattern="bldFile="mw" replace="bldFile="sf\\\\mw" flags="gi"/>
+ <replaceregex pattern="mrp="mw" replace="mrp="sf\\\\mw" flags="gi"/>
+ <replaceregex pattern="bldFile="app" replace="bldFile="sf\\\\app" flags="gi"/>
+ <replaceregex pattern="mrp="app" replace="mrp="sf\\\\app" flags="gi"/>
+ <expandproperties/>
+ </filterchain>
+ <mapper>
+ <scriptmapper language="jep" src="${helium.dir}/tools/common/jep/unique_filename.jep"/>
+ </mapper>
+ </copy>
+ </sequential>
+ </for>
+ </target>
+
+ <!--
+ == Name: SF-COMPILE
+ ==
+ == Desc: Override of common sf-compile target defined in
+ == common\build.xml
+ ==
+ == os build will be skipped if sf.spec.os.skipbuild=true
+ == s60 build will be skipped if sf.spec.s60.skipbuild=true
+ ==
+ -->
+ <target name="sf-compile">
+
+ <if><istrue value="${sf.spec.os.skipbuild}" />
+ <then><echo message="Skipping OS build"/></then>
+ <else><runtarget target="sf-os-compile"/></else></if>
+
+ <if><istrue value="${sf.spec.s60.skipbuild}" />
+ <then><echo message="Skipping S60 build"/></then>
+ <else><runtarget target="sf-s60-compile"/></else></if>
+
+ </target>
+
+ <!--
+ == Name: SF-OS-COMPILE
+ ==
+ == Desc: Compile OS part of build using the spec defined in:
+ ==
+ == - job_props.ant.xml
+ == - job_refs.ant.xml
+ ==
+ -->
+ <target name="sf-os-compile">
+
+ <hlm:argSet id="sbs.tools.var">
+ <hlm:arg name="config" value="${sf.spec.sbs.tools.config}" />
+ <hlm:arg name="singlejob" value="true" />
+ <hlm:arg name="enable-filter" value="true" />
+ </hlm:argSet>
+
+ <hlm:argSet id="sbs.main.sbs.var">
+ <hlm:arg name="config" value="${sf.spec.sbs.config}" />
+ <hlm:arg name="enable-filter" value="true" />
+ </hlm:argSet>
+
+ <hlm:sbsMakeOptions engine="gmake" id="sbs.toolsbuild.options" />
+ <hlm:sbsMakeOptions engine="gmake" id="sbs.fullbuild.options" />
+
+ <!-- OS tools build -->
+ <antcall target="compile-main" inheritAll="false" inheritRefs="true">
+ <param name="build.system" value="${sf.spec.build.system}" />
+ <param name="compile.sysdef.dtd.stub" value="${sf.spec.os.sysdef.dtd}" />
+ <param name="sysdef.configurations.list" value="${sf.spec.os.sysdef.clean.configurations.list}" />
+ <param name="sf.spec.sysdef.version" value ="${sf.spec.os.sysdef.version}"/>
+ <reference refid="sbs.tools.var" torefid="sbs.var" />
+ <reference refid="sbs.toolsbuild.options" torefid="sbs.make.options" />
+ <reference refid="sf.spec.os.system.definition.files" torefid="system.definition.files" />
+ </antcall>
+
+ <!-- OS main build -->
+ <antcall target="compile-main" inheritAll="false" inheritRefs="true">
+ <param name="build.system" value="${sf.spec.build.system}" />
+ <param name="compile.sysdef.dtd.stub" value="${sf.spec.os.sysdef.dtd}" />
+ <param name="sysdef.configurations.list" value="${sf.spec.os.sysdef.clean.configurations.list}" />
+ <param name="sf.spec.sysdef.version" value ="${sf.spec.os.sysdef.version}"/>
+ <reference refid="sbs.main.sbs.var" torefid="sbs.var" />
+ <reference refid="sbs.fullbuild.options" torefid="sbs.make.options" />
+ <reference refid="sf.spec.os.system.definition.files" torefid="system.definition.files" />
+ </antcall>
+ </target>
+
+ <!--
+ == Name: SF-S60-COMPILE
+ ==
+ == Desc: Compile S60 part of build using the spec defined in:
+ ==
+ == - job_props.ant.xml
+ == - job_refs.ant.xml
+ ==
+ -->
+ <target name="sf-s60-compile">
+
+ <hlm:argSet id="sbs.tools.var">
+ <hlm:arg name="config" value="${sf.spec.sbs.tools.config}" />
+ <hlm:arg name="singlejob" value="true" />
+ <hlm:arg name="enable-filter" value="true" />
+ </hlm:argSet>
+
+ <hlm:argSet id="sbs.main.sbs.var">
+ <hlm:arg name="config" value="${sf.spec.sbs.config}" />
+ <hlm:arg name="enable-filter" value="true" />
+ </hlm:argSet>
+
+ <hlm:sbsMakeOptions engine="gmake" id="sbs.toolsbuild.options" />
+ <hlm:sbsMakeOptions engine="gmake" id="sbs.fullbuild.options" />
+
+ <!-- s60 clean tools build -->
+ <antcall target="compile-main" inheritAll="false" inheritRefs="true">
+ <param name="build.system" value="${sf.spec.build.system}" />
+ <param name="sysdef.configurations.list" value="${sf.spec.s60.sysdef.clean.configurations.list}" />
+ <param name="sf.spec.sysdef.version" value ="${sf.spec.s60.sysdef.version}"/>
+
+ <reference refid="sbs.tools.var" torefid="sbs.var" />
+ <reference refid="sbs.toolsbuild.options" torefid="sbs.make.options" />
+ <reference refid="sf.spec.s60.system.definition.files" torefid="system.definition.files" />
+ </antcall>
+
+ <!-- s60 clean main build -->
+ <antcall target="compile-main" inheritAll="false" inheritRefs="true">
+ <param name="build.system" value="${sf.spec.build.system}" />
+ <param name="sysdef.configurations.list" value="${sf.spec.s60.sysdef.clean.configurations.list}" />
+ <param name="sf.spec.sysdef.version" value="${sf.spec.s60.sysdef.version}"/>
+ <reference refid="sbs.main.sbs.var" torefid="sbs.var" />
+ <reference refid="sbs.fullbuild.options" torefid="sbs.make.options" />
+ <reference refid="sf.spec.s60.system.definition.files" torefid="system.definition.files" />
+ </antcall>
+
+ <!-- s60 postbuild bldmelast using ebs -->
+ <antcall target="compile-main" inheritAll="false">
+ <param name="build.system" value="ebs" />
+ <param name="sysdef.configurations.list" value="S60_bldmelast" />
+ <reference refid="sf.spec.s60.system.definition.files" torefid="system.definition.files" />
+ </antcall>
+
+ </target>
+
<!-- import sf-common-config -->
<import file="../common/build.xml" />