--- a/common/build.xml Wed Apr 15 14:30:07 2009 +0100
+++ b/common/build.xml Wed Apr 15 16:46:01 2009 +0100
@@ -155,7 +155,7 @@
</if>
</target>
- <target name="sf-postbuild">
+ <target name="sf-postbuild" depends="sf-zip-logs">
<echo>[SF-POSTBUILD]</echo>
<!-- TAG SOURCE CODE -->
@@ -177,7 +177,57 @@
</if>
</target>
-
+
+ <!-- package all logs into zipfile before publish -->
+ <target name="sf-zip-logs">
+ <if>
+ <istrue value="${sf.spec.logs.zip.enable}"/>
+ <then>
+ <property name="temp.log.zip" value="${env.TEMP}/build_logs_${sf.spec.job.name}_${build.number}.zip"/>
+ <echo message="Zip log requested, zipping logs..."/>
+ <zip destfile="${temp.log.zip}" basedir="${build.log.dir}"/>
+ <move file="${temp.log.zip}" todir="${build.log.dir}" failonerror="false"/>
+ </then>
+ </if>
+ </target>
+
+ <!-- generate dir list using passed location and name
+ if a baseline list is available then generate deltas too -->
+
+ <target name="sf-list-dir">
+ <property name="sf.currentlist.name" value="${sf.list.name}"/>
+ <property name="sf.dir.location" value="${build.drive}/epoc32"/>
+
+ <if>
+ <istrue value="${sf.spec.dirlist.enable}"/>
+ <then>
+ <echo message="Dirlist name: ${sf.currentlist.name} requested for ${sf.dir.location}"/>
+ <exec executable="perl" dir="${build.log.dir}/" failonerror="true" output="${build.log.dir}/listdir_${build.id}_${sf.currentlist.name}.log">
+ <arg value="${sf.common.config.dir}/tools/listdir.pl"/>
+ <arg value="${sf.dir.location}"/>
+ </exec>
+ </then>
+ </if>
+ </target>
+
+ <target name="sf-delta-dir">
+ <property name="sf.currentlist_a.name" value="${sf.list_b.name}"/>
+ <property name="sf.currentlist_b.name" value="${sf.list_b.name}"/>
+ <property name="sf.dir.location" value="${build.drive}/epoc32"/>
+
+ <if>
+ <istrue value="${sf.spec.dirdelta.enable}"/>
+ <then>
+ <echo message="Delta requested for ${sf.currentlist_a.name} vs ${sf.currentlist_b.name} "/>
+ <exec executable="perl" dir="${build.log.dir}/" failonerror="true" output="${build.log.dir}/listdir_${build.id}_${sf.currentlist_b.name}_delta.log">
+ <arg value="${sf.common.config.dir}/tools/difflist.pl"/>
+ <arg value="${build.log.dir}/listdir_${build.id}_${sf.currentlist_a.name}.log"/>
+ <arg value="${build.log.dir}/listdir_${build.id}_${sf.currentlist_b.name}.log"/>
+ </exec>
+ </then>
+ </if>
+ </target>
+
<target name="sf-build-noprep" depends="sf-compile">
<echo>[SF-BUILD-NOPREP]</echo>
</target>
--- a/common/common_props.ant.xml Wed Apr 15 14:30:07 2009 +0100
+++ b/common/common_props.ant.xml Wed Apr 15 16:46:01 2009 +0100
@@ -49,6 +49,19 @@
<property name="sf.spec.publish.rootdir" value="\\lon-engbuild87\d$\SF_builds"/>
<property name="sf.spec.tagafterbuild.enable" value="true"/>
+
+ <!-- if sf-list-dir called, generate dir list(s) of epoc32 tree -->
+ <property name="sf.spec.dirlist.enable" value="false"/>
+
+ <!-- if sf-list-dir called, generate delta of two epoc32 trees. note: this takes a while! -->
+ <property name="sf.spec.dirdelta.enable" value="false"/>
+
+ <!-- prefilter raptor logs -->
+ <property name="sf.spec.logs.raptorfilter.enable" value="true"/>
+
+ <!-- zip all logs before publish -->
+ <property name="sf.spec.logs.zip.enable" value="true"/>
+
</project>
--- a/common/templates/source-spec.ant.xml.ftl Wed Apr 15 14:30:07 2009 +0100
+++ b/common/templates/source-spec.ant.xml.ftl Wed Apr 15 16:46:01 2009 +0100
@@ -2,7 +2,7 @@
<project name="SF-SOURCESPEC" default="all" xmlns:hlm="http://www.nokia.com/helium">
<#assign fileset = "" />
-<#assign target_depends = "" />
+<#assign sync_list = "" />
<#assign dollar = "$"/>
<#assign count = 0 />
@@ -47,15 +47,9 @@
</sequential>
</target>
- <#assign fileset = "${fileset}" + "<fileset dir=\"${ant['build.drive']}${pkg_detail.dst}\" includes=\"${pkg_detail.pattern}\"/>" />
- <#if (count == 0) >
- <#assign target_depends = "reset-bom-sources-csv," + "sf-prebuild-${count}" />
- </#if>
- <#if (count > 0) >
- <#assign target_depends ="${target_depends}," + "sf-prebuild-${count}"/>
- </#if>
-
+ <#assign fileset = "${fileset}" + "<fileset dir=\"${ant['build.drive']}${pkg_detail.dst}\" includes=\"${pkg_detail.pattern}\"/>" />
+ <#assign sync_list = "${sync_list}" + "<runtarget target=\"sf-prebuild-${count}\"/>\n"/>
<#assign count = count + 1 />
</#list>
@@ -65,6 +59,11 @@
${fileset}
</path>
-<target name="all" depends="${target_depends}"/>
+<target name="all" depends="reset-bom-sources-csv">
+ <parallel>
+ ${sync_list}
+ </parallel>
+
+</target>
</project>
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/common/tools/difflist.pl Wed Apr 15 16:46:01 2009 +0100
@@ -0,0 +1,35 @@
+#! perl -w
+use strict;
+
+my $element;
+my @union = ();
+my @intersection = ();
+my @difference = ();
+my %count = ();
+
+my $file1 = shift or die "Usage: $0 file1 file2\n";
+my $file2 = shift or die "Usage: $0 file1 file2\n";
+
+open FILE1, "<$file1" or die "ERROR: Can't read $file1";
+open FILE2, "<$file2" or die "ERROR: Can't read $file2";
+
+my @file1_content = <FILE1>;
+my @file2_content = <FILE2>;
+
+close FILE1;
+close FILE2;
+
+print "* Comparing $file1 and $file2\n";
+foreach $element (@file1_content, @file2_content) { $count{$element}++ }
+foreach $element (keys %count) {
+ push @union, $element;
+ push @{ $count{$element} > 1 ? \@intersection : \@difference }, $element;
+}
+
+if (@difference > 0) {
+ foreach (@difference){
+ print $_;
+ }
+} else {
+ print "* Files are identical\n";
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/common/tools/listdir.pl Wed Apr 15 16:46:01 2009 +0100
@@ -0,0 +1,38 @@
+#!perl -w
+use strict;
+
+my $dir = shift or die "Usage: $0 <dir> \n"; # provided dir to traverse
+my $filelist = [];
+
+# fwd declaration to prevent warning
+sub recursedir($$);
+
+# run recurse and print
+recursedir ($dir, $filelist);
+print $_, "\n" for(@$filelist);
+
+sub recursedir($$) {
+
+ my $dir = shift @_;
+ my $list = shift @_;
+
+ if(opendir(DIR, "$dir")) {
+ # list dir
+ for my $file(grep { !/^\./ } readdir DIR) {
+ if(-d "$dir\\$file") {
+ # traverse subdirs
+ recursedir("$dir\\$file", $list);
+ }
+ elsif(-f "$dir\\$file") {
+ # if file then swap (any present) fwd to bkslash and add to list
+ $dir =~s/\//\\/;
+ $file =~s/\//\\/;
+ push @$list, "$dir\\$file";
+ }
+ }
+ closedir DIR;
+ }
+ else {
+ warn "Cannot open the directory '$dir' $!\n";
+ }
+}
--- a/sf-platform/build.xml Wed Apr 15 14:30:07 2009 +0100
+++ b/sf-platform/build.xml Wed Apr 15 16:46:01 2009 +0100
@@ -1,22 +1,406 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="SF-PLATFORM-CONFIG">
- <!-- location of this config -->
- <dirname property="sf.platform.config.dir" file="${ant.file.SF-PLATFORM-CONFIG}"/>
-
- <!--
- * Property defaults
- -->
-
- <!--
-
- * Load platform specific properties. Mandatory that this file exists otherwise
- * the target will fail.
-
- -->
- <loadproperties srcFile="${sf.platform.config.dir}/platform.properties"/>
-
- <!-- import sf-common-config -->
- <import file="../common/build.xml" />
-
-</project>
-
+<?xml version="1.0" encoding="UTF-8"?>
+<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}"/>
+
+ <!--
+ * Property defaults
+ -->
+
+ <!--
+ TODO if needed in future
+
+ * Load platform specific 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>
+
+ <target name="generate-layers">
+ <echo message="canno-file:${canonical.sysdef.file}"/>
+ <echo message="raptor-filters:raptor_${sysdef.configuration}"/>
+
+ <!-- split builds currently generate layer sysdef from original -->
+ <if><istrue value="${sf.spec.splitbuild}"/>
+ <then>
+ <hlm:compileGenxmlFilterMacro xmlns:hlm="http://www.nokia.com/helium" input="${canonical.sysdef.file}" filter="raptor_${sysdef.configuration}" output="${build.output.dir}/build/canonical_system_definition_${sysdef.configuration}_temp.xml"/>
+ </then>
+ <else>
+ <!-- but all we want is a sysdef with the config name appended, so just copy it -->
+ <echo message="INFO: skip genxml and copy sysdef to sysdef+config name"/>
+ <copy file="${canonical.sysdef.file}" tofile="${build.drive}/output/build/canonical_system_definition_${sysdef.configuration}_temp.xml"/>
+ </else>
+ </if>
+
+ <copy file="${build.drive}/output/build/canonical_system_definition_${sysdef.configuration}_temp.xml" tofile="${build.drive}/output/build/canonical_system_definition_${sysdef.configuration}.xml">
+ <filterchain>
+ <linecontainsregexp negate="true">
+ <regexp pattern="^\s*$"/>
+ </linecontainsregexp>
+ </filterchain>
+ </copy>
+ <delete file="${build.drive}/output/build/canonical_system_definition_${sysdef.configuration}_temp.xml"/>
+ </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">
+
+ <!-- TODO clean up to single target once genxml v2.0.0 merge is fixed -->
+ <if><istrue value="${sf.spec.splitbuild}"/>
+ <then>
+ <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>
+ </then>
+ <else>
+ <!-- TODO targets for single sysdef build -->
+ <runtarget target="sf-os-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.tools2.var">
+ <hlm:arg name="config" value="tools2_rel" />
+ <hlm:arg name="singlejob" value="false" />
+ <hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
+ </hlm:argSet>
+
+ <hlm:argSet id="sbs.tools2.clean.var">
+ <hlm:arg name="config" value="tools2_rel" />
+ <hlm:arg name="singlejob" value="false" />
+ <hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
+ <hlm:arg name="command" value="CLEAN" />
+ </hlm:argSet>
+
+ <hlm:argSet id="sbs.tools.var">
+ <hlm:arg name="config" value="tools_rel" />
+ <hlm:arg name="singlejob" value="true" />
+ <hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
+ </hlm:argSet>
+
+ <hlm:argSet id="sbs.tools.clean.var">
+ <hlm:arg name="config" value="tools_rel" />
+ <hlm:arg name="singlejob" value="true" />
+ <hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
+ <hlm:arg name="command" value="CLEAN" />
+ </hlm:argSet>
+
+ <hlm:argSet id="sbs.main.sbs.var">
+ <hlm:arg name="config" value="${sf.spec.sbs.config}" />
+ <hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
+ </hlm:argSet>
+
+ <hlm:argSet id="sbs.main.clean.sbs.var">
+ <hlm:arg name="config" value="${sf.spec.sbs.config}" />
+ <hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
+ <hlm:arg name="command" value="CLEAN" />
+ </hlm:argSet>
+
+ <hlm:argSet id="sbs.main.what.sbs.var">
+ <hlm:arg name="config" value="${sf.spec.sbs.config}" />
+ <hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
+ <hlm:arg name="command" value="WHAT" />
+ </hlm:argSet>
+
+ <hlm:sbsMakeOptions engine="gmake" id="sbs.toolsbuild.options" />
+ <hlm:sbsMakeOptions engine="gmake" id="sbs.fullbuild.options" />
+
+ <!-- generate baseline dir list to allow delta creation -->
+ <antcall target="sf-list-dir" inheritAll="false">
+ <param name="sf.list.name" value="baseline"/>
+ </antcall>
+
+ <!-- OS what -->
+ <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.what.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>
+
+ <!-- OS clean 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.clean.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>
+
+ <antcall target="sf-list-dir" inheritAll="false">
+ <param name="sf.list.name" value="post-clean"/>
+ </antcall>
+
+ <!-- what has been cleaned from baseline PDK by sos model -->
+ <antcall target="sf-delta-dir" inheritAll="false">
+ <param name="sf.list_a.name" value="baseline"/>
+ <param name="sf.list_b.name" value="post-clean"/>
+ </antcall>
+
+ <!-- OS tools2 build first-->
+ <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.tools2.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>
+
+ <antcall target="sf-list-dir" inheritAll="false">
+ <param name="sf.list.name" value="post-build-tools2"/>
+ </antcall>
+
+
+ <!-- OS tools build after tools2 -->
+ <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>
+
+ <antcall target="sf-list-dir" inheritAll="false">
+ <param name="sf.list.name" value="post-build-tools"/>
+ </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>
+
+ <antcall target="sf-list-dir" inheritAll="false">
+ <param name="sf.list.name" value="post-build-main"/>
+ </antcall>
+
+ <!-- what has been built in tools2+tools+main -->
+ <antcall target="sf-delta-dir" inheritAll="false">
+ <param name="sf.list_a.name" value="post-clean"/>
+ <param name="sf.list_b.name" value="post-build-main"/>
+ </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="${sf.spec.logs.raptorfilter.enable}" />
+ </hlm:argSet>
+
+ <hlm:argSet id="sbs.tools.clean.var">
+ <hlm:arg name="config" value="${sf.spec.sbs.tools.config}" />
+ <hlm:arg name="singlejob" value="true" />
+ <hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
+ </hlm:argSet>
+
+ <hlm:argSet id="sbs.main.sbs.var">
+ <hlm:arg name="config" value="${sf.spec.sbs.config}" />
+ <hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
+ </hlm:argSet>
+
+ <hlm:argSet id="sbs.main.clean.sbs.var">
+ <hlm:arg name="config" value="${sf.spec.sbs.config}" />
+ <hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
+ <hlm:arg name="command" value="CLEAN" />
+ </hlm:argSet>
+
+ <hlm:argSet id="sbs.main.what.sbs.var">
+ <hlm:arg name="config" value="${sf.spec.sbs.config}" />
+ <hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
+ <hlm:arg name="command" value="WHAT" />
+ </hlm:argSet>
+
+ <hlm:sbsMakeOptions engine="gmake" id="sbs.toolsbuild.options" />
+ <hlm:sbsMakeOptions engine="gmake" id="sbs.fullbuild.options" />
+
+ <antcall target="sf-list-dir" inheritAll="false">
+ <param name="sf.list.name" value="s60-baseline"/>
+ </antcall>
+
+ <!-- s60 what -->
+ <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.what.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 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.clean.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>
+
+ <antcall target="sf-list-dir" inheritAll="false">
+ <param name="sf.list.name" value="post-s60-clean"/>
+ </antcall>
+
+ <!-- what has been cleaned from baseline PDK by s60 model -->
+ <antcall target="sf-delta-dir" inheritAll="false">
+ <param name="sf.list_a.name" value="s60-baseline"/>
+ <param name="sf.list_b.name" value="post-s60-clean"/>
+ </antcall>
+
+
+ <!-- s60 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>
+
+ <antcall target="sf-list-dir" inheritAll="false">
+ <param name="sf.list.name" value="post-s60-build-tools"/>
+ </antcall>
+
+ <!-- s60 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>
+
+ <antcall target="sf-list-dir" inheritAll="false">
+ <param name="sf.list.name" value="post-s60-build-main"/>
+ </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>
+
+ <antcall target="sf-list-dir" inheritAll="false">
+ <param name="sf.list.name" value="post-s60-bldmelast"/>
+ </antcall>
+
+ <!-- what has been built by tools+2+main+bldmelast -->
+ <antcall target="sf-delta-dir" inheritAll="false">
+ <param name="sf.list_a.name" value="s60-baseline"/>
+ <param name="sf.list_b.name" value="post-s60-bldmelast"/>
+ </antcall>
+ </target>
+
+ <!-- import sf-common-config -->
+ <import file="../common/build.xml" />
+
+</project>
+
--- a/sf-platform/platform.properties Wed Apr 15 14:30:07 2009 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-base_release.getenv_options=emu
-hg.config=config/full-list.csv
-threads=1
\ No newline at end of file