Catchup from main repo
authorDarioS@UK-DarioS.symbian.int
Wed, 15 Apr 2009 16:46:01 +0100
changeset 62 2771e394c9bd
parent 61 6066a7d39270 (current diff)
parent 40 54444a2ae2db (diff)
child 63 f5604d0e720a
child 169 6e35d3992e68
child 173 3957aa453061
Catchup from main repo
common/build.xml
common/common_props.ant.xml
common/templates/source-spec.ant.xml.ftl
sf-platform/platform.properties
--- 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=&quot;os" replace="bldFile=&quot;sf\\\\os" flags="gi"/>
+                        <replaceregex pattern="mrp=&quot;os" replace="mrp=&quot;sf\\\\os" flags="gi"/>
+                        <replaceregex pattern="bldFile=&quot;mw" replace="bldFile=&quot;sf\\\\mw" flags="gi"/>
+                        <replaceregex pattern="mrp=&quot;mw" replace="mrp=&quot;sf\\\\mw" flags="gi"/>
+                        <replaceregex pattern="bldFile=&quot;app" replace="bldFile=&quot;sf\\\\app" flags="gi"/>
+                        <replaceregex pattern="mrp=&quot;app" replace="mrp=&quot;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