sbs version 2.14.2
authorRichard Taylor <richard.i.taylor@nokia.com>
Wed, 14 Jul 2010 14:50:01 +0100
changeset 616 24e4ef208cca
parent 613 839712f5a78c
child 617 3a747a240983
sbs version 2.14.2
sbsv2/raptor/RELEASE-NOTES.html
sbsv2/raptor/bin/recipestats.py
sbsv2/raptor/bin/sbs_check_exports.py
sbsv2/raptor/bin/sbs_filter
sbsv2/raptor/bin/sbs_filter.bat
sbsv2/raptor/bin/sbs_filter.py
sbsv2/raptor/bin/timelines.py
sbsv2/raptor/group/bld.inf
sbsv2/raptor/group/checkexports.sh
sbsv2/raptor/group/exports.inf
sbsv2/raptor/group/exports.sh
sbsv2/raptor/group/exports.sh2
sbsv2/raptor/group/raptor.mrp
sbsv2/raptor/group/release.txt
sbsv2/raptor/lib/config/arm.xml
sbsv2/raptor/lib/config/gcce.xml
sbsv2/raptor/lib/config/rvct.xml
sbsv2/raptor/lib/config/winscw.xml
sbsv2/raptor/lib/flm/e32abiv2.flm
sbsv2/raptor/lib/flm/e32abiv2stddll.flm
sbsv2/raptor/lib/flm/e32abiv2stdexe.flm
sbsv2/raptor/lib/flm/e32abiv2stdlib.flm
sbsv2/raptor/lib/flm/e32postlink.mk
sbsv2/raptor/lib/flm/resource.flm
sbsv2/raptor/lib/flm/standard.xml
sbsv2/raptor/lib/flm/taggedrules.mk
sbsv2/raptor/lib/flm/tracecompiler.mk
sbsv2/raptor/lib/flm/win32.flm
sbsv2/raptor/lib/flm/win32stddll.flm
sbsv2/raptor/lib/flm/win32stdexe.flm
sbsv2/raptor/linux-i386/bin/bash
sbsv2/raptor/linux-i386/bin/bashbug
sbsv2/raptor/linux-i386/bin/make
sbsv2/raptor/linux-i386/bin/sh
sbsv2/raptor/linux-i386/bin/unzip
sbsv2/raptor/linux-i386/bin/zip
sbsv2/raptor/notes/emulatorstacksize.txt
sbsv2/raptor/notes/tcom_allbefore.txt
sbsv2/raptor/python/plugins/filter_terminal.py
sbsv2/raptor/python/raptor.py
sbsv2/raptor/python/raptor_make.py
sbsv2/raptor/python/raptor_meta.py
sbsv2/raptor/python/raptor_utilities.py
sbsv2/raptor/python/raptor_version.py
sbsv2/raptor/python/raptor_xml.py
sbsv2/raptor/python/sbs_dist.py
sbsv2/raptor/test/cluster/headtest.sh
sbsv2/raptor/test/cluster/nodetest.sh
sbsv2/raptor/test/cluster/pvmtest.sh
sbsv2/raptor/test/common/run_tests.py
sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun01/testrig01.bat
sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun02/testrig02.bat
sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun03/testrig03.bat
sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun04/testrig04.bat
sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun05/testrig05.bat
sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun06/testrig06.bat
sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun07/testrig07.bat
sbsv2/raptor/test/core_utils/GeneratedMakefiles/TestRun08/testrig08.bat
sbsv2/raptor/test/custom_options/default/.sbs_init.xml
sbsv2/raptor/test/custom_options/dfsconfig/.sbs_init.xml
sbsv2/raptor/test/custom_options/emake/.sbs_init.xml
sbsv2/raptor/test/custom_options/rvct31/.sbs_init.xml
sbsv2/raptor/test/custom_options/rvct40/.sbs_init.xml
sbsv2/raptor/test/custom_options/talon/.sbs_init.xml
sbsv2/raptor/test/envelope/2quarter.xml
sbsv2/raptor/test/envelope/preexport.xml
sbsv2/raptor/test/metadata/system/system_definition_3.0.0.xml
sbsv2/raptor/test/run
sbsv2/raptor/test/run.bat
sbsv2/raptor/test/smoke_suite/missing_keywords.py
sbsv2/raptor/test/smoke_suite/mmp_keywords.py
sbsv2/raptor/test/smoke_suite/qt_helloworld.py
sbsv2/raptor/test/smoke_suite/resource.py
sbsv2/raptor/test/smoke_suite/stringtable_zip_whatlog.py
sbsv2/raptor/test/smoke_suite/test_resources/asmtest/asmtest.mmp
sbsv2/raptor/test/smoke_suite/test_resources/bv/invariant/CreateStaticDLL_invariant.mmp
sbsv2/raptor/test/smoke_suite/test_resources/bv/variant1/CreateStaticDLL_variant1.mmp
sbsv2/raptor/test/smoke_suite/test_resources/bv/variant2/CreateStaticDLL_variant2.mmp
sbsv2/raptor/test/smoke_suite/test_resources/bv/variant3/CreateEXE_variant3.mmp
sbsv2/raptor/test/smoke_suite/test_resources/configpathtest/home/.sbs_init.xml
sbsv2/raptor/test/smoke_suite/test_resources/defs/group/deftest.mmp
sbsv2/raptor/test/smoke_suite/test_resources/dependencies/dependencies.mmp
sbsv2/raptor/test/smoke_suite/test_resources/inc/macrotests.h
sbsv2/raptor/test/smoke_suite/test_resources/invalid_metadata/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/invalid_metadata/missing_keywords.mmp
sbsv2/raptor/test/smoke_suite/test_resources/long/paths/deftest.mmp
sbsv2/raptor/test/smoke_suite/test_resources/metadep.sh
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp1/group/shutdownsrv.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp1/inc/ssmgracefulshutdown_patch.h
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp2/group/ImageProcessorPerf.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp3/dfpaeabi_common.mmh
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp3/t_oom.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp3/tbm.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/group/d_newldd.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/group/t_rbuf.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/group/t_sharedio3.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/mmu/t_sharedio.cpp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp5/fuzzlib.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp6_7/diagsuppress.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp6_7/diagsuppress_noarmlibs.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp9_10/armfpu_soft+vfpv2.mmp
sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp9_10/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/oe/group/oe_exe_without_stdcpp.mmp
sbsv2/raptor/test/smoke_suite/test_resources/oe/group/symbian_lib.mmp
sbsv2/raptor/test/smoke_suite/test_resources/oe/group/t_oedll.mmp
sbsv2/raptor/test/smoke_suite/test_resources/oe/group/t_oeexe.mmp
sbsv2/raptor/test/smoke_suite/test_resources/oe/group/wrong_newlib_oe_exe.mmp
sbsv2/raptor/test/smoke_suite/test_resources/oe/t_oedll.cpp
sbsv2/raptor/test/smoke_suite/test_resources/oe/t_oeexe.cpp
sbsv2/raptor/test/smoke_suite/test_resources/oe/t_oelib.cpp
sbsv2/raptor/test/smoke_suite/test_resources/refilter/testfilterterminal
sbsv2/raptor/test/smoke_suite/test_resources/refilter/testfilterterminal.bat
sbsv2/raptor/test/smoke_suite/test_resources/resource/group/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/resource/group/bld2.inf
sbsv2/raptor/test/smoke_suite/test_resources/resource/group/notargetkeyword.mmp
sbsv2/raptor/test/smoke_suite/test_resources/resource/group/onelang.mmp
sbsv2/raptor/test/smoke_suite/test_resources/resource/group/resourcenolang.mmp
sbsv2/raptor/test/smoke_suite/test_resources/resource/group/testresource.mmp
sbsv2/raptor/test/smoke_suite/test_resources/resource/onelang.rss
sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CreateStaticDLL.cpp
sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CreateStaticDLL.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CreateStaticPDLL.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_export/executable_file
sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorld.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorldVar2.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorldstdcpp.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_lib/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/simple_lib/simple.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_lib/test_lib.cpp
sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/default.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/paged.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/paged_unpaged.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/pagedcode_defaultdata.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/pagedcode_unpageddata.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/unpaged.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/unpagedcode_pageddata.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/plugin.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/plugin3.mmp
sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/plugin_with_deffile.mmp
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/HelloWorld.mmp
sbsv2/raptor/test/smoke_suite/test_resources/sysdef/metadata_export/exported.mmh
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/child1.mmp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/child2.mmp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/child3.mmp
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child1_exe/OstTraceDefinitions.h
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child2_exe/OstTraceDefinitions.h
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child3_exe/OstTraceDefinitions.h
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces_child1_exe/OstTraceDefinitions.h
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces_child2_exe/OstTraceDefinitions.h
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces_child3_exe/OstTraceDefinitions.h
sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/inc/wlanhwinitpermparser.h
sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/exeusingunfrozen.mmp
sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/frozen_with_removed_export.mmp
sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/unfrozensymbols.mmp
sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/unfrozensymbols_for_freeze.mmp
sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/unfrozensymbols_with_deffile.mmp
sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/testver.mmp
sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/testver_20.mmp
sbsv2/raptor/test/smoke_suite/tracecompiler_variants.py
sbsv2/raptor/test/smoke_suite/winscw_resource.py
sbsv2/raptor/test/smoke_suite/zip_export_plus_clean.py
sbsv2/raptor/test/smoke_suite/zip_export_what.py
sbsv2/raptor/test/unit_suite/data/ignore.xml
sbsv2/raptor/test/unit_suite/data/old_bad.xml
sbsv2/raptor/test/unit_suite/data/old_ok.xml
sbsv2/raptor/test/unit_suite/raptor_meta_unit.py
sbsv2/raptor/test/unit_suite/raptor_xml_unit.py
sbsv2/raptor/util/install-linux/package_sbs.sh
--- a/sbsv2/raptor/RELEASE-NOTES.html	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/RELEASE-NOTES.html	Wed Jul 14 14:50:01 2010 +0100
@@ -6,6 +6,40 @@
 
 <h1>Release Notes for Symbian Build System v2</h1>
 
+<h2>version 2.14.2</h2>
+
+<h3>Defect Fixes</h3>
+<ul>
+<li>Fix: minor change: tracecompiler trace folder rename</li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2886">SF Bug 2886</a> - [Raptor] STDEXE targets cannot be built with GCC-E</li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2713">SF Bug 2713</a> - [Raptor] Terminal filter needs to allow more make errors through</li>
+<li>Fix: smoketests fail for emake and rvct 4</li>
+<li>Fix permissions for exported files with group ownership on Linux</li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2697">SF Bug 2697</a> - [Raptor] Macro __SYMBIAN_STDCPP_SUPPORT__ not automatically defined for STD targets</li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2712">SF Bug 2712</a> - [Raptor] STDEXE and STDDLL targets: euser.lib not automatically included for UDEB builds</li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2735">SF Bug 2735</a> - [Raptor] Relative unit paths in pkgdefs are not handled correctly</li>
+<li>Fix: resources with headeronly can fail because of an invalid dependency</li>
+<li>Fix: ARMFPU softvfp+vfpv2 for postlinker and RVCT only</li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2276">SF Bug 2276</a> - [Raptor] ZIP exports from deep directory hierarchies fail</li>
+<li><a href="notes/emulatorstacksize.txt"> Reduction of emulator stack size to 512KB </a>; see also the enhancement <a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2605"> SF Bug 2606 </a> - [Raptor] Can we use a smaller stack size for the emulator </li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=3091">SF Bug 3091</a> - [Raptor] When reporting missing bld.inf's from a Sys def a / can be missing</li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2825">SF Bug 2825</a> - [Raptor] Meta elements should be ignored when processing a sysdef</li>
+<li><a href="notes/tcom_allbefore.txt">Trace all source files in a component before compiling any file</a>. Helps prevent build breaks in some situations where an asset change is really needed.</li>
+</ul>
+
+<h2>version 2.14.1</h2>
+
+<h3>Defect Fixes</h3>
+<ul>
+
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2203"> SF Bug 2203 </a> - [Raptor] Building extension makefile with SBS_BUILD_DIR set to another drive</li>
+<li>Fix : tracecompiler.mk caused poor makefile parse performance due to use of $(shell)</li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2561">SF Bug 2561</a> - [Raptor] creates incorrect .iby files w.r.t target file versions &amp; ramtargets</li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2562">SF Bug 2562</a> - [Raptor] adds incorrect entries into .iby files w.r.t file paths</li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2809">SF Bug 2809</a> - [Raptor] Intermediate Resource Filenames not unique (2.14.0 only), rom fails to boot</li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=1859">SF Bug 1859</a> - [Raptor] Traceback when TARGET missing from MMP file</li>
+</ul>
+
 <h2>version 2.14.0</h2>
 
 <h3>New Features</h3>
@@ -31,7 +65,6 @@
 <li><a href="notes/localresourcecopying.txt">Fix: (performance in cluster builds) do resource copying on local host.</a></li>
 <li>Fix: don't generate multiple copies of the same resource just because there are several target paths. Generate it once and copy that to the different target paths. Helps when winscw is built after an arm build.</li>
 <li>Fix: (performance) remove unnecessary copying of rpp files into epoc32\localisation as they are not used.</li>
-<li>Fix: (performance) remove -C option when preprocessing rpp files - causes comments to be stripped from the rpp resulting in smaller files that improves performance.</li>
 
 </ul>
 
@@ -74,10 +107,10 @@
 
 Defect Fixes:
 - Fix: Workaround for emake engine log corruption when clockskew errors occur (annofile2log).
-  Allow Raptor to obtain log from emake annotation file where it is uncorrupted.  A new 
+  Allow Raptor to obtain log from emake annotation file where it is uncorrupted.  A new
   Make engine option "copylogfromannofile" enables/disables this mode for emake. If this option is disabled
   or if no annotation file is specified for the build then Raptor reads logs directly as normal.
-- SF Bug 2125 - [Raptor] - tracecompiler what output incorrect if mmp basename contains '.' e.g. fred.prd.mmp 
+- SF Bug 2125 - [Raptor] - tracecompiler what output incorrect if mmp basename contains '.' e.g. fred.prd.mmp
 - SF Bug 2191 - [Raptor] - When forcesuccess is enabled, exit status for a failed recipe is "retry" but should be "failed"
 - Fix: extend tracecompiler tests to Linux
 - Fix: Amendment to SF Bug 1511 fix - removal of blanked DEFFILE keyword from e32abiv2ani.flm
@@ -115,7 +148,7 @@
 Defect Fixes:
 - SF Bug 1569 - excessive recompilation in incremental tracecompiler builds
 - Better error messages for make-engine selection.
-  e.g. "sbs -e arm" will now produce a useful error message rather than 
+  e.g. "sbs -e arm" will now produce a useful error message rather than
   a traceback. "arm" is a real variant but it's not a make engine.  In
   the past sbs would have tried to use it and would have failed with a
   complicated traceback. Also doesn't traceback for non-existent make engines.
@@ -139,11 +172,11 @@
 - New 'Patchable Constants' target type: TARGETTYPE pdll
 - Combine Linking and Postlinking into a single step - performance improvement.
 - Support exit codes from next version of the trace compiler which will issue them
-- New sbs_filter script and batchfile to ease the use of sbs_filter.py.  
+- New sbs_filter script and batchfile to ease the use of sbs_filter.py.
   Allows filters to be executed over a log after a build has been done.
     e.g.
 
-  	sbs_filter --filters=FilterWhat < logfile.log 
+  	sbs_filter --filters=FilterWhat < logfile.log
 
     (This runs a "--what" without regenerating any makefiles or reparsing
     the matadata.)
@@ -152,40 +185,40 @@
   uses the incoming epocroot value.  i.e. if epocroot is relative then so is
   the what output.  e.g. if EPOCROOT=\ then the output will be of the form:
 
-	"\epoc32\release\armv5\...."  
+	"\epoc32\release\armv5\...."
 
   If it's "..\myepocroot" then the output will be:
 
-	"..\myepocroot\epoc32\release\armv5".  
+	"..\myepocroot\epoc32\release\armv5".
 
   If it's absolute then the what output will also be absolute.
-- New FilterCheck filter.  This can be used with sbs_filter to perform the 
+- New FilterCheck filter.  This can be used with sbs_filter to perform the
   equivalent of --check using the log output from a build.  It is more
   efficient than --check because the metadata is not parsed and no makefiles
   are generated. e.g.
 
-	sbs_filter --filters=FilterCheck < logfile.log 
+	sbs_filter --filters=FilterCheck < logfile.log
 
-- New (beta) graphical build visualisation tool (bin/timelines.py). 
+- New (beta) graphical build visualisation tool (bin/timelines.py).
   Requires pygame and PyOpenGL. e.g.
 
 	python timelines.py < filename.log
 
-- New (beta) log analyser (recipestats.py) for recording the total time spent 
+- New (beta) log analyser (recipestats.py) for recording the total time spent
   in each type of recipe in the build. e.g.
 
 	python recipestats.py < filename.log > stats.csv
 
-  The output is in CSV format.  
+  The output is in CSV format.
 
 Defect Fixes:
 - fix for ARM9E + ARMV5 pre-processing confusion
 - SF bug 1606: template_ext.flm wrongly creates dependencies to OTHER_CFG targets
-- SF bug 1570: Adding then removing a capability can produce incorrect 
+- SF bug 1570: Adding then removing a capability can produce incorrect
   result: e.g. ALL TCB -TCB becomes ALL -TCB but it should be just ALL
 
 Other Changes:
-- Default to using Python 2.6.4 on windows (no change in compatibility with 
+- Default to using Python 2.6.4 on windows (no change in compatibility with
   older versions of Python).
 
 
@@ -270,7 +303,7 @@
 DPDEF141533 Inconsistent log output
 DPDEF141604 file winscw.auto.bat is released two times
 DPDEF141787 Raptor treats EFREEZE info message as warnings
-	
+
 Other Changes:
 talon can read commands from a temporary file as well as with -c
 
@@ -295,7 +328,7 @@
 Defect Fixes:
 DPDEF141503 RMTPClient::StartTransport Panic when using emulated test tranport plugin
 DPDEF141688 ARMV6 builds with SBSv2 have problems with missing DEF files
-	
+
 
 version 2.9.0
 
@@ -311,7 +344,7 @@
 DPDEF141523 Raptor links kernel-side components to scppnwdl.dso
 DPDEF141418 Raptor turns echo on
 DPDEF141495 Raptor doesn't deal correctly with SOURECEPATH beginning with '/'
-DPDEF141388 raptor inserts epoc32\include at start of systeminclude path	
+DPDEF141388 raptor inserts epoc32\include at start of systeminclude path
 
 
 version 2.8.6
@@ -468,7 +501,7 @@
 
 Defect Fixes:
 DPDEF133508 Number of errors is counted wrong
-DPDEF138098 UID issue in Trace Compiler for Raptor 
+DPDEF138098 UID issue in Trace Compiler for Raptor
 DPDEF138296 SBSV2 disables all TOOLS2 compiler warnings
 
 
@@ -477,7 +510,7 @@
 Defect Fixes:
 DPDEF135330 Raptor Rollout: bangalore messaging winscw udeb test code
 DPDEF137726 Missing mscvr_readme.txt from the SBSv2 drop
-DPDEF137739 SBSv2: rollout - .cia object files can conflict with .cpp object files 
+DPDEF137739 SBSv2: rollout - .cia object files can conflict with .cpp object files
 
 
 version 2.6.1
@@ -507,7 +540,7 @@
 DPDEF136719 Raptor: sbsv2cache.py cache file generation fails with very large log files
 DPDEF136715 On Linux the shipped python 2.5.2 is not found
 DPDEF132996 SBSv2 doesn't generate AUTO.BAT file
-DPDEF136382 SBSv2: explicit dll versioning not supported on arm platforms 	
+DPDEF136382 SBSv2: explicit dll versioning not supported on arm platforms
 DPDEF135843 [Raptor Rollout] Raptor does not support OPTION_REPLACE ARMASM/OPTION ARMASM
 DPDEF136693 makesis fails when multiple instances are run concurrently with the same target
 
@@ -545,7 +578,7 @@
 version 2.4.3
 
 Defect Fixes:
-DPDEF134322 SBSV2 uses the wrong library when building STDCPP targets 	
+DPDEF134322 SBSV2 uses the wrong library when building STDCPP targets
 DPDEF132923 SBSv2 freeze don't add Vtable and RTTI information into def file for arm dll
 DPDEF133775 SBSv2: ARMFPU is not passed to compiler
 DPDEF134023 case inconsistency with libOpenVG.lib
@@ -576,7 +609,7 @@
 
 New Features:
 DS.1475 Pluggable Log Summariser
-DS.1476 Use FLMs from the source tree  
+DS.1476 Use FLMs from the source tree
 
 Defect Fixes:
 DPDEF133417 SBSv2: tmp mounting errors on startup
@@ -611,7 +644,7 @@
 version 2.3.0
 
 New Features:
-DS.1424 Support for ARMV5SMP platform  
+DS.1424 Support for ARMV5SMP platform
 
 Defect Fixes:
 DPDEF129804 SBSv2 crashes when there are double \\ in prj_mmpfiles in bld.inf
@@ -713,7 +746,7 @@
 version 2.2.0
 
 New Features:
-DS.1347 SBSv2 Compiler Selection  
+DS.1347 SBSv2 Compiler Selection
 DS.1348 SBSv2 allow mixed slashes
 
 Defect Fixes:
@@ -799,7 +832,7 @@
 CR1413 Support for different toolchains to be called by SBSv1 and SBSv2
 
 
-version 2.1.1	
+version 2.1.1
 
 Defect Fixes:
 DEF124748 GCCXML errors in Raptor related to missing arm lib files
--- a/sbsv2/raptor/bin/sbs_check_exports.py	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/bin/sbs_check_exports.py	Wed Jul 14 14:50:01 2010 +0100
@@ -3,9 +3,9 @@
 # Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
 # All rights reserved.
 # This component and the accompanying materials are made available
-# under the terms of the License "Eclipse Public License v1.0"
+# under the terms of the License "Symbian Foundation License v1.0"
 # which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+# at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
 #
 # Initial Contributors:
 # Nokia Corporation - initial contribution.
--- a/sbsv2/raptor/bin/sbs_filter.py	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/bin/sbs_filter.py	Wed Jul 14 14:50:01 2010 +0100
@@ -3,9 +3,9 @@
 # Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
 # All rights reserved.
 # This component and the accompanying materials are made available
-# under the terms of the License "Eclipse Public License v1.0"
+# under the terms of the License "Symbian Foundation License v1.0"
 # which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+# at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
 #
 # Initial Contributors:
 # Nokia Corporation - initial contribution.
@@ -46,7 +46,7 @@
 	sys.exit(1)
 
 # construct a Raptor object from our command-line (less the name of this script)
-the_raptor = raptor.Raptor.CreateCommandlineBuild(sys.argv[1:])
+the_raptor = raptor.Raptor.CreateCommandlineAnalysis(sys.argv[1:])
 
 # from Raptor.OpenLog()
 try:
--- a/sbsv2/raptor/group/bld.inf	Wed Jul 14 16:22:24 2010 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/*
-* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-
-PRJ_PLATFORMS
-TOOLS TOOLS2
-
-PRJ_EXPORTS
-#include "exports.inf"
-
--- a/sbsv2/raptor/group/checkexports.sh	Wed Jul 14 16:22:24 2010 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-#!/bin/bash
-
-for dir in . cpp-raptor cygwin-1.5.25 mingw-5.1.4 python-2.5.2; do
-	echo testing exports.inf in $dir
-	(cd $dir; ./exports.sh2; sort exports.inf > t1; sort exports.inf2 > t2; diff t1 t2)
-done
-
--- a/sbsv2/raptor/group/exports.inf	Wed Jul 14 16:22:24 2010 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,223 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-../RELEASE-NOTES.txt /tools/sbs/RELEASE-NOTES.txt
-../bin/sbs /tools/sbs/bin/sbs
-../bin/fixmeta.py /tools/sbs/bin/fixmeta.py
-../bin/codetest_osbuild.sh /tools/sbs/bin/codetest_osbuild.sh
-../bin/countbinaries.sh /tools/sbs/bin/countbinaries.sh
-../bin/gethost.sh /tools/sbs/bin/gethost.sh
-../bin/failedstats.py /tools/sbs/bin/failedstats.py
-../bin/sbs.bat /tools/sbs/bin/sbs.bat
-../bin/unsplitdirs.py /tools/sbs/bin/unsplitdirs.py
-../bin/buildstats.py /tools/sbs/bin/buildstats.py
-../bin/speedtest_osbuild.sh /tools/sbs/bin/speedtest_osbuild.sh
-../bin/sbsv2cache.py /tools/sbs/bin/sbsv2cache.py
-../bin/whatsource.py /tools/sbs/bin/whatsource.py
-../bin/oby2linux.py /tools/sbs/bin/oby2linux.py
-../bin/createrfifile.pl /tools/sbs/bin/createrfifile.pl
-../bin/vartoxml.py /tools/sbs/bin/vartoxml.py
-../bin/readme.txt /tools/sbs/bin/readme.txt
-../bin/squashlog.py /tools/sbs/bin/squashlog.py
-../bin/statcollate.py /tools/sbs/bin/statcollate.py
-../bin/createvmap.py /tools/sbs/bin/createvmap.py
-../bin/raptorlog.py /tools/sbs/bin/raptorlog.py
-../bin/osbuild.sh /tools/sbs/bin/osbuild.sh
-../bin/setup_user.sh /tools/sbs/bin/setup_user.sh
-../bin/msvcr71.dll /tools/sbs/bin/msvcr71.dll
-../bin/install_raptor.sh /tools/sbs/bin/install_raptor.sh
-../bin/mkgetfailed.py /tools/sbs/bin/mkgetfailed.py
-../examples/os_properties.xml /tools/sbs/examples/os_properties.xml
-../examples/sbs_init.xml /tools/sbs/examples/sbs_init.xml
-../lib/flm/e32abiv2stdexe.flm /tools/sbs/lib/flm/e32abiv2stdexe.flm
-../lib/flm/user/default.flm_ex /tools/sbs/lib/flm/user/default.flm_ex
-../lib/flm/user/globals.mk_ex /tools/sbs/lib/flm/user/globals.mk_ex
-../lib/flm/e32abiv2dll.flm /tools/sbs/lib/flm/e32abiv2dll.flm
-../lib/flm/tracecompiler.mk /tools/sbs/lib/flm/tracecompiler.mk
-../lib/flm/win32exe.flm /tools/sbs/lib/flm/win32exe.flm
-../lib/flm/template_ext.flm /tools/sbs/lib/flm/template_ext.flm
-../lib/flm/e32abiv2ani.flm /tools/sbs/lib/flm/e32abiv2ani.flm
-../lib/flm/converged-comms/createcommdbs.flm /tools/sbs/lib/flm/converged-comms/createcommdbs.flm
-../lib/flm/converged-comms/installdefaultcommdb.flm /tools/sbs/lib/flm/converged-comms/installdefaultcommdb.flm
-../lib/flm/win32plugin.flm /tools/sbs/lib/flm/win32plugin.flm
-../lib/flm/win32klib.flm /tools/sbs/lib/flm/win32klib.flm
-../lib/flm/extensions.xml /tools/sbs/lib/flm/extensions.xml
-../lib/flm/stack.mk /tools/sbs/lib/flm/stack.mk
-../lib/flm/globals.mk /tools/sbs/lib/flm/globals.mk
-../lib/flm/win32stdexe.flm /tools/sbs/lib/flm/win32stdexe.flm
-../lib/flm/e32abiv2lib.flm /tools/sbs/lib/flm/e32abiv2lib.flm
-../lib/flm/win32resource.flm /tools/sbs/lib/flm/win32resource.flm
-../lib/flm/config/default.flm /tools/sbs/lib/flm/config/default.flm
-../lib/flm/win32lib.flm /tools/sbs/lib/flm/win32lib.flm
-../lib/flm/null.flm /tools/sbs/lib/flm/null.flm
-../lib/flm/tools/test_command_diff.sh /tools/sbs/lib/flm/tools/test_command_diff.sh
-../lib/flm/tools/stlport.flm /tools/sbs/lib/flm/tools/stlport.flm
-../lib/flm/tools/buildstubsis.flm /tools/sbs/lib/flm/tools/buildstubsis.flm
-../lib/flm/msvctools.xml /tools/sbs/lib/flm/msvctools.xml
-../lib/flm/tools2lib.flm /tools/sbs/lib/flm/tools2lib.flm
-../lib/flm/win32ldd.flm /tools/sbs/lib/flm/win32ldd.flm
-../lib/flm/tools.xml /tools/sbs/lib/flm/tools.xml
-../lib/flm/metaflm.mk /tools/sbs/lib/flm/metaflm.mk
-../lib/flm/e32abiv2ldd.flm /tools/sbs/lib/flm/e32abiv2ldd.flm
-../lib/flm/e32abiv2pdl.flm /tools/sbs/lib/flm/e32abiv2pdl.flm
-../lib/flm/e32abiv2stdlib.flm /tools/sbs/lib/flm/e32abiv2stdlib.flm
-../lib/flm/config.xml /tools/sbs/lib/flm/config.xml
-../lib/flm/win32stddll.flm /tools/sbs/lib/flm/win32stddll.flm
-../lib/flm/gccxmlresource.flm /tools/sbs/lib/flm/gccxmlresource.flm
-../lib/flm/e32abiv2textnotifier2.flm /tools/sbs/lib/flm/e32abiv2textnotifier2.flm
-../lib/flm/e32abiv2implib.flm /tools/sbs/lib/flm/e32abiv2implib.flm
-../lib/flm/e32abiv2exe.flm /tools/sbs/lib/flm/e32abiv2exe.flm
-../lib/flm/win32pdl.flm /tools/sbs/lib/flm/win32pdl.flm
-../lib/flm/win32.flm /tools/sbs/lib/flm/win32.flm
-../lib/flm/base.xml /tools/sbs/lib/flm/base.xml
-../lib/flm/grouping.flm /tools/sbs/lib/flm/grouping.flm
-../lib/flm/e32abiv2.flm /tools/sbs/lib/flm/e32abiv2.flm
-../lib/flm/e32abiv2exexp.flm /tools/sbs/lib/flm/e32abiv2exexp.flm
-../lib/flm/e32abiv2defaults.mk /tools/sbs/lib/flm/e32abiv2defaults.mk
-../lib/flm/e32abiv2fsy.flm /tools/sbs/lib/flm/e32abiv2fsy.flm
-../lib/flm/final.mk /tools/sbs/lib/flm/final.mk
-../lib/flm/none.flm /tools/sbs/lib/flm/none.flm
-../lib/flm/analysis.xml /tools/sbs/lib/flm/analysis.xml
-../lib/flm/e32abiv2var2.flm /tools/sbs/lib/flm/e32abiv2var2.flm
-../lib/flm/msvctools.flm /tools/sbs/lib/flm/msvctools.flm
-../lib/flm/win32kdll.flm /tools/sbs/lib/flm/win32kdll.flm
-../lib/flm/win32ani.flm /tools/sbs/lib/flm/win32ani.flm
-../lib/flm/e32abiv2plugin.flm /tools/sbs/lib/flm/e32abiv2plugin.flm
-../lib/flm/win32bitmap.flm /tools/sbs/lib/flm/win32bitmap.flm
-../lib/flm/tools2common.flm /tools/sbs/lib/flm/tools2common.flm
-../lib/flm/win32fsy.flm /tools/sbs/lib/flm/win32fsy.flm
-../lib/flm/readme.txt /tools/sbs/lib/flm/readme.txt
-../lib/flm/e32abiv2kext.flm /tools/sbs/lib/flm/e32abiv2kext.flm
-../lib/flm/e32abiv2stddll.flm /tools/sbs/lib/flm/e32abiv2stddll.flm
-../lib/flm/win32exexp.flm /tools/sbs/lib/flm/win32exexp.flm
-../lib/flm/stringtable.flm /tools/sbs/lib/flm/stringtable.flm
-../lib/flm/utils/utility.xml /tools/sbs/lib/flm/utils/utility.xml
-../lib/flm/utils/prebuilt.flm /tools/sbs/lib/flm/utils/prebuilt.flm
-../lib/flm/utils/copydir.flm /tools/sbs/lib/flm/utils/copydir.flm
-../lib/flm/win32pdd.flm /tools/sbs/lib/flm/win32pdd.flm
-../lib/flm/taggedrules.mk /tools/sbs/lib/flm/taggedrules.mk
-../lib/flm/booleanlogic.mk /tools/sbs/lib/flm/booleanlogic.mk
-../lib/flm/emulator.xml /tools/sbs/lib/flm/emulator.xml
-../lib/flm/win32kext.flm /tools/sbs/lib/flm/win32kext.flm
-../lib/flm/test/exeabiv2_2/test.cpp /tools/sbs/lib/flm/test/exeabiv2_2/test.cpp
-../lib/flm/test/exeabiv2_2/test_function.cpp /tools/sbs/lib/flm/test/exeabiv2_2/test_function.cpp
-../lib/flm/test/exeabiv2_2/exeabiv2_2.mk /tools/sbs/lib/flm/test/exeabiv2_2/exeabiv2_2.mk
-../lib/flm/test/templateext/temex.mk /tools/sbs/lib/flm/test/templateext/temex.mk
-../lib/flm/test/templateext/Makefile /tools/sbs/lib/flm/test/templateext/Makefile
-../lib/flm/test/Makefile /tools/sbs/lib/flm/test/Makefile
-../lib/flm/test/exeabiv2_4/test.cpp /tools/sbs/lib/flm/test/exeabiv2_4/test.cpp
-../lib/flm/test/exeabiv2_4/exeabiv2_4.mk /tools/sbs/lib/flm/test/exeabiv2_4/exeabiv2_4.mk
-../lib/flm/test/exeabiv2_4/test_big.cpp /tools/sbs/lib/flm/test/exeabiv2_4/test_big.cpp
-../lib/flm/test/flmtests.mk /tools/sbs/lib/flm/test/flmtests.mk
-../lib/flm/test/ciaabiv2_1/uc_exe.cia /tools/sbs/lib/flm/test/ciaabiv2_1/uc_exe.cia
-../lib/flm/test/ciaabiv2_1/uc_exe.cpp /tools/sbs/lib/flm/test/ciaabiv2_1/uc_exe.cpp
-../lib/flm/test/ciaabiv2_1/ciaabiv2_1.mk /tools/sbs/lib/flm/test/ciaabiv2_1/ciaabiv2_1.mk
-../lib/flm/test/export1/Makefile /tools/sbs/lib/flm/test/export1/Makefile
-../lib/flm/test/export1/t1e.h /tools/sbs/lib/flm/test/export1/t1e.h
-../lib/flm/test/export1/t4e.h /tools/sbs/lib/flm/test/export1/t4e.h
-../lib/flm/test/export1/t2e.h /tools/sbs/lib/flm/test/export1/t2e.h
-../lib/flm/test/export1/t3e.h /tools/sbs/lib/flm/test/export1/t3e.h
-../lib/flm/test/dllabiv2_1/test.cpp /tools/sbs/lib/flm/test/dllabiv2_1/test.cpp
-../lib/flm/test/dllabiv2_1/dllabiv2_1.mk /tools/sbs/lib/flm/test/dllabiv2_1/dllabiv2_1.mk
-../lib/flm/test/raptorglue/raptorglue.mk /tools/sbs/lib/flm/test/raptorglue/raptorglue.mk
-../lib/flm/test/dllbasictests.mk /tools/sbs/lib/flm/test/dllbasictests.mk
-../lib/flm/test/exeabiv2_1/test.cpp /tools/sbs/lib/flm/test/exeabiv2_1/test.cpp
-../lib/flm/test/exeabiv2_1/exeabiv2_1.mk /tools/sbs/lib/flm/test/exeabiv2_1/exeabiv2_1.mk
-../lib/flm/test/dllabiv2_defaults.mk /tools/sbs/lib/flm/test/dllabiv2_defaults.mk
-../lib/flm/test/exeperftests.mk /tools/sbs/lib/flm/test/exeperftests.mk
-../lib/flm/test/ciatests.mk /tools/sbs/lib/flm/test/ciatests.mk
-../lib/flm/test/environment/pvm/pvmtest.mk /tools/sbs/lib/flm/test/environment/pvm/pvmtest.mk
-../lib/flm/test/environment/make/test_variable_restore.mk /tools/sbs/lib/flm/test/environment/make/test_variable_restore.mk
-../lib/flm/test/exebasictests.mk /tools/sbs/lib/flm/test/exebasictests.mk
-../lib/flm/test/exeabiv2_defaults.mk /tools/sbs/lib/flm/test/exeabiv2_defaults.mk
-../lib/flm/test/exeabiv2_3/exeabiv2_3.mk /tools/sbs/lib/flm/test/exeabiv2_3/exeabiv2_3.mk
-../lib/flm/test/exeabiv2_3/test_big.cpp /tools/sbs/lib/flm/test/exeabiv2_3/test_big.cpp
-../lib/flm/win32stdlib.flm /tools/sbs/lib/flm/win32stdlib.flm
-../lib/flm/win32var2.flm /tools/sbs/lib/flm/win32var2.flm
-../lib/flm/win32implib.flm /tools/sbs/lib/flm/win32implib.flm
-../lib/flm/bitmap.flm /tools/sbs/lib/flm/bitmap.flm
-../lib/flm/build.flm /tools/sbs/lib/flm/build.flm
-../lib/flm/build.xml /tools/sbs/lib/flm/build.xml
-../lib/flm/tools2exe.flm /tools/sbs/lib/flm/tools2exe.flm
-../lib/flm/e32abiv2klib.flm /tools/sbs/lib/flm/e32abiv2klib.flm
-../lib/flm/standard.xml /tools/sbs/lib/flm/standard.xml
-../lib/flm/win32var.flm /tools/sbs/lib/flm/win32var.flm
-../lib/flm/e32abiv2pdd.flm /tools/sbs/lib/flm/e32abiv2pdd.flm
-../lib/flm/e32abiv2none.flm /tools/sbs/lib/flm/e32abiv2none.flm
-../lib/flm/romfile.mk /tools/sbs/lib/flm/romfile.mk
-../lib/flm/win32textnotifier2.flm /tools/sbs/lib/flm/win32textnotifier2.flm
-../lib/flm/resource.flm /tools/sbs/lib/flm/resource.flm
-../lib/flm/flmtools.mk /tools/sbs/lib/flm/flmtools.mk
-../lib/flm/gnumakefile.flm /tools/sbs/lib/flm/gnumakefile.flm
-../lib/flm/e32abiv2kdll.flm /tools/sbs/lib/flm/e32abiv2kdll.flm
-../lib/flm/e32abiv2var.flm /tools/sbs/lib/flm/e32abiv2var.flm
-../lib/flm/win32dll.flm /tools/sbs/lib/flm/win32dll.flm
-../lib/flm/gccxml.flm /tools/sbs/lib/flm/gccxml.flm
-../lib/flm/e32postlink.mk /tools/sbs/lib/flm/e32postlink.mk
-../lib/config/default.xml /tools/sbs/lib/config/default.xml
-../lib/config/build.xml /tools/sbs/lib/config/build.xml
-../lib/config/interfaces.xml /tools/sbs/lib/config/interfaces.xml
-../lib/config/gcc.xml /tools/sbs/lib/config/gcc.xml
-../lib/config/variants.xml /tools/sbs/lib/config/variants.xml
-../lib/config/coverity.xml /tools/sbs/lib/config/coverity.xml
-../lib/config/meta.xml /tools/sbs/lib/config/meta.xml
-../lib/config/locations.xml /tools/sbs/lib/config/locations.xml
-../lib/config/gccxml.xml /tools/sbs/lib/config/gccxml.xml
-../lib/config/carbide.xml /tools/sbs/lib/config/carbide.xml
-../lib/config/msvc.xml /tools/sbs/lib/config/msvc.xml
-../lib/config/make.xml /tools/sbs/lib/config/make.xml
-../lib/config/root.xml /tools/sbs/lib/config/root.xml
-../lib/config/winscw.xml /tools/sbs/lib/config/winscw.xml
-../lib/config/arm.xml /tools/sbs/lib/config/arm.xml
-../lib/config/gcce.xml /tools/sbs/lib/config/gcce.xml
-../lib/config/rvct.xml /tools/sbs/lib/config/rvct.xml
-../python/raptor_makefile.py /tools/sbs/python/raptor_makefile.py
-../python/filter_interface.py /tools/sbs/python/filter_interface.py
-../python/raptor_start.py /tools/sbs/python/raptor_start.py
-../python/pyparsing.py /tools/sbs/python/pyparsing.py
-../python/raptor_cli.py /tools/sbs/python/raptor_cli.py
-../python/raptor_cache.py /tools/sbs/python/raptor_cache.py
-../python/raptor_meta.py /tools/sbs/python/raptor_meta.py
-../python/raptor_xml.py /tools/sbs/python/raptor_xml.py
-../python/raptor_version.py /tools/sbs/python/raptor_version.py
-../python/generic_path.py /tools/sbs/python/generic_path.py
-../python/raptor_make.py /tools/sbs/python/raptor_make.py
-../python/plugins/filter_logfile.py /tools/sbs/python/plugins/filter_logfile.py
-../python/plugins/filter_terminal.py /tools/sbs/python/plugins/filter_terminal.py
-../python/plugins/filter_carbide.py /tools/sbs/python/plugins/filter_carbide.py
-../python/plugins/filter_what.py /tools/sbs/python/plugins/filter_what.py
-../python/plugins/dummyplugin.py /tools/sbs/python/plugins/dummyplugin.py
-../python/plugins/filter_clean.py /tools/sbs/python/plugins/filter_clean.py
-../python/plugins/filter_squashlog.py /tools/sbs/python/plugins/filter_squashlog.py
-../python/plugins/filter_checksource.py /tools/sbs/python/plugins/filter_checksource.py
-../python/plugins/filter_splitlog.py /tools/sbs/python/plugins/filter_splitlog.py
-../python/sbs_dist.py /tools/sbs/python/sbs_dist.py
-../python/raptor_utilities.py /tools/sbs/python/raptor_utilities.py
-../python/pluginbox.py /tools/sbs/python/pluginbox.py
-../python/dos2unix.py /tools/sbs/python/dos2unix.py
-../python/raptor_data.py /tools/sbs/python/raptor_data.py
-../python/filter_list.py /tools/sbs/python/filter_list.py
-../python/raptor.py /tools/sbs/python/raptor.py
-../python/mmpparser.py /tools/sbs/python/mmpparser.py
-../python/filter_utils.py /tools/sbs/python/filter_utils.py
-../schema/build/2_0.xsd /tools/sbs/schema/build/2_0.xsd
-../schema/build/log/1_0.xsd /tools/sbs/schema/build/log/1_0.xsd
-../schema/build/1_0.xsd /tools/sbs/schema/build/1_0.xsd
-../win32/bin/ransleep.exe /tools/sbs/win32/bin/ransleep.exe
-../win32/bin/sbs_descramble.exe /tools/sbs/win32/bin/sbs_descramble.exe
-../win32/bin/talonctl.exe /tools/sbs/win32/bin/talonctl.exe
-../win32/bin/talon.exe /tools/sbs/win32/bin/talon.exe
--- a/sbsv2/raptor/group/exports.sh	Wed Jul 14 16:22:24 2010 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-#!/bin/bash
-
-# script to generate exports for this component
-
-# copy ../* to /tools/sbs
-
-find .. -maxdepth 1 -type f -not -name "distribution.policy*" -print | sed 's!\.\.\(.*\)!\.\.\1 /tools/sbs\1!' > exports.inf
-
-for i in bin lib python schema util; do
-    find ../$i -type f -not -name "distribution.policy*" -not -name "*.pyc" -print | sed 's!\.\.\(.*\)!\.\.\1 /tools/sbs\1!' >> exports.inf
-done
-
--- a/sbsv2/raptor/group/exports.sh2	Wed Jul 14 16:22:24 2010 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-#!/bin/bash
-
-# script to generate exports for this component to compare with the existing exports.inf
-
-# copy ../* to /tools/sbs
-
-find .. -maxdepth 1 -type f -not -name "distribution.policy*" -print | sed 's!\.\.\(.*\)!\.\.\1 /tools/sbs\1!' > exports.inf2
-
-for i in bin examples lib python schema win32/bin; do
-    find ../$i -type f -not -name "distribution.policy*" -not -name "*.pyc" -print | sed 's!\.\.\(.*\)!\.\.\1 /tools/sbs\1!' >> exports.inf2
-done
-
--- a/sbsv2/raptor/group/raptor.mrp	Wed Jul 14 16:22:24 2010 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-component dev_build_sbsv2_raptor
-
-
-source /src/tools/dev/build/sbsv2/raptor
-exports /src/tools/dev/build/sbsv2/raptor/group
-
-ipr T
-ipr B ../python/pyparsing.py
-
-notes_source release.txt
-
--- a/sbsv2/raptor/group/release.txt	Wed Jul 14 16:22:24 2010 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-NOTESRC_RELEASER
-Symbian Software Ltd. (kits.notify@symbian.com)
-
-NOTESRC_RELEASE_REASON
-Symbian Build System release.
--- a/sbsv2/raptor/lib/config/arm.xml	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/lib/config/arm.xml	Wed Jul 14 14:50:01 2010 +0100
@@ -53,6 +53,7 @@
 		<set name="PERTURBMSECS" value="500"/>
 		<!-- the maximum time to delay in milliseconds -->
 		<set name="POSTLINKER_COMPRESSION_DEFAULT" value="inflate"/>
+		<set name="POSTLINKER_FPU_MAPPING" value="softvfp>softvfp vfpv2>vfpv2 softvfp+vfpv2>vfpv2"/>
 		<set name="RELEASEPATH" value="$(EPOCROOT)/epoc32/release"/>
 		<set name="RESOLVED_DEFFILE" value=""/>
 		<set name="RUNTIME_LIBS_PATH" value="$(EPOCROOT)/epoc32/release/armv5/lib"/>
--- a/sbsv2/raptor/lib/config/gcce.xml	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/lib/config/gcce.xml	Wed Jul 14 14:50:01 2010 +0100
@@ -16,7 +16,7 @@
 		<set name="LD" value="$(GCCELD)"/>
 		<set name="ASM" value="$(GCCEASM)"/>
 		<set name="AR" value="$(GCCEAR)"/>
-		
+
 		<set name="AAPCS_OPTION" value="-mapcs -mthumb-interwork"/>
 		<set name="ARCHIVER_CREATE_OPTION" value="cr"/>
 		<set name="ARM_INSTRUCTION_SET" value="-marm"/>
@@ -43,9 +43,10 @@
 		<set name="COMMANDFILE_OPTION" value="@"/>
 		<set name="COMPILE_ONLY_OPTION" value="-c"/>
 		<set name="COMPILER_CIA_FLAGS" value="-marm"/>
-		<set name="COMPILER_DEFINES" value="-D__GCCE__"/>		
-		<set name="COMPILER_FPU_OPTION" value="-mfloat-abi="/>		
+		<set name="COMPILER_DEFINES" value="-D__GCCE__"/>
+		<set name="COMPILER_FPU_OPTION" value="-mfloat-abi="/>
 		<set name="COMPILER_INTERWORK_DEFINES" value="__MARM_INTERWORK__"/>
+        <set name="COMPILER_NO_HIDE_ALL_OPTION" value="-fvisibility=default"/>
 		<set name="COMPILER_SYSTEM_INCLUDE_OPTION" value="-I"/>
 		<set name="COMPILER_THUMB_DEFINES" value="__MARM_THUMB__"/>
 		<set name="CPP_LANG_OPTION" value="-x c++ -Wno-ctor-dtor-privacy"/>
@@ -108,13 +109,13 @@
 		<set name="STATIC_LIBS_PATH" value="" />
 		<set name="STDCPP_INCLUDE" value="$(EPOCINCLUDE)/stdapis"/>
 		<set name="STDLIB_OPTION" value="-nodefaultlibs"/>
-		<set name="SUPPORTS_ABIV1_IMPLIBS" value=""/>	
+		<set name="SUPPORTS_ABIV1_IMPLIBS" value=""/>
 		<set name="SYMBIAN_LD_MESSAGE_OPTION" value="$(LD_WARNINGS_CONTROL_OPTION) $(LD_ERRORS_CONTROL_OPTION)"/>
 		<set name="SYMVER_OPTION" value="-Wl,--default-symver"/>
 		<set name="TARGET_RELOCATION_OPTION" value="--target1-rel" />
 		<set name="TEMP_FILES_OPTION" value="-pipe"/>
 		<set name="THUMB_INSTRUCTION_SET" value="-mthumb"/>
-		<set name="TRANSFORM_CIA" value=""/>		
+		<set name="TRANSFORM_CIA" value=""/>
 		<set name="UNDEFINED_SYMBOL_REF_OPTION" value="-u"/>
 		<set name="UNRESOLVED_SYMBOL_REF_OPTION" value=""/>
 		<set name="USER_LIBS_PATH_OPTION" value="--userlibpath"/>
--- a/sbsv2/raptor/lib/config/rvct.xml	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/lib/config/rvct.xml	Wed Jul 14 14:50:01 2010 +0100
@@ -4,19 +4,19 @@
 	<var name="rvct">
 		<set name="TOOLCHAIN" value="RVCT"/>
 		<set name="PLATMACROS.TOOLCHAIN" value="ARMCC"/>
-	
+
 		<!-- toolchain tools -->
 		<set name="ARMAR" value="$(RVCTBIN)/armar$(DOTEXE)"/>
 		<set name="ARMASM" value="$(RVCTBIN)/armasm$(DOTEXE)"/>
 		<set name="ARMCC" value="$(RVCTBIN)/armcc$(DOTEXE)"/>
 		<set name="ARMLD" value="$(RVCTBIN)/armlink$(DOTEXE)"/>
 		<set name="FROMELF" value="$(RVCTBIN)/fromelf$(DOTEXE)"/>
-		
+
 		<set name="CC" value="$(ARMCC)"/>
 		<set name="LD" value="$(ARMLD)"/>
 		<set name="ASM" value="$(ARMASM)"/>
-		<set name="AR" value="$(ARMAR)"/>	
-	
+		<set name="AR" value="$(ARMAR)"/>
+
 		<set name="AAPCS_OPTION" value="--apcs /inter"/>
 		<set name="ARCHIVER_CREATE_OPTION" value="--create"/>
 		<set name="ARM_INSTRUCTION_SET" value="--arm"/>
@@ -35,6 +35,7 @@
 		<set name="COMPILER_DEFINES" value=""/>
 		<set name="COMPILER_FPU_OPTION" value="--fpu "/>
 		<set name="COMPILER_INTERWORK_DEFINES" value="__MARM_INTERWORK__"/>
+        <set name="COMPILER_NO_HIDE_ALL_OPTION" value="--no_hide_all"/>
 		<set name="COMPILER_SYSTEM_INCLUDE_OPTION" value="-J"/>
 		<set name="COMPILER_THUMB_DEFINES" value="__MARM_THUMB__"/>
 		<set name="COMPILE_ONLY_OPTION" value="-c"/>
@@ -60,7 +61,7 @@
 		<set name="LIBPATH" value=""/>
 		<set name="LIBRARY" value=""/>
 		<set name="LICENSERETRY_OPTION" value=""/>
-		<set name="LINKER_ADD_STATIC_RUNTIME" value=""/>		
+		<set name="LINKER_ADD_STATIC_RUNTIME" value=""/>
 		<set name="LINKER_DEBUG_OPTION" value="--debug"/>
 		<set name="LINKER_DEFAULT_LIBS" value=""/>
 		<set name="LINKER_DEFAULT_LIB_PATHS" value=""/>
@@ -71,7 +72,7 @@
 		<set name="LINKER_NODEBUG_OPTION" value=""/>
 		<set name="LINKER_SCRIPT_FILE_OPTION" value=""/>
 		<set name="LINKER_SYMBOLS_FILE_OPTION" value="--list"/>
-		<set name="LINKER_SYMBOLS_OPTION" value="--symbols"/> 
+		<set name="LINKER_SYMBOLS_OPTION" value="--symbols"/>
 		<set name="LISTING_OPTION" value="-S"/>
 		<set name="NO_EXCEPTIONS" value="--no_exceptions --no_exceptions_unwind"/>
 		<set name="NO_UNALIGNED_ACCESS" value="$(CC.NO_UNALIGNED_ACCESS)"/>
@@ -81,13 +82,13 @@
 		<set name="REL_OPTIMISATION" value="-O2"/>
 		<set name="RUNTIME_SYMBOL_VISIBILITY_OPTION" value="--dllimport_runtime"/>
 		<set name="RW_BASE" value="$(RW_BASE_OPTION) 0x400000"/>
-		<set name="RW_BASE_OPTION" value="--rw-base"/> 
+		<set name="RW_BASE_OPTION" value="--rw-base"/>
 		<set name="SHARED_OBJECT_OPTION" value="--dll"/>
 		<set name="SID" value=""/>
 		<set name="SO_NAME_OPTION" value="--soname"/>
 		<set name="STATIC_LIBS_PATH" value="$(RVCTLIB)/armlib"/>
 		<set name="STDCPP_INCLUDE" value="$(EPOCINCLUDE)/stdapis"/>
-		<set name="STDLIB_OPTION" value="--no_scanlib"/>	
+		<set name="STDLIB_OPTION" value="--no_scanlib"/>
 		<set name="SYMBIAN_LD_MESSAGE_OPTION" value="$(LD_WARNINGS_CONTROL_OPTION) $(LD_ERRORS_CONTROL_OPTION)"/>
 		<set name="SYMVER_OPTION" value="--symver_soname"/>
 		<set name="TARGET_RELOCATION_OPTION" value=""/>
@@ -104,7 +105,7 @@
 		<set name="USERINCLUDE" value=""/>
 		<set name="USER_LIBS_PATH_OPTION" value="--userlibpath"/>
 		<set name="VFE_OPTION" value="--no_vfe"/>
-		
+
 		<append name="CDEFS" value="__ARMCC__"/>
 	</var>
 </build>
--- a/sbsv2/raptor/lib/config/winscw.xml	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/lib/config/winscw.xml	Wed Jul 14 14:50:01 2010 +0100
@@ -63,7 +63,7 @@
 		<set name="DEFAULT_SYSTEM_NEWLIB" value="scppnwdl_kern.lib"/>
 		<set name="EPOCSTACKSIZE" value=""/>
 		<set name="EXPORT_TYPE" value="dllexport"/>
-		<set name="LFLAGS" value="-msgstyle gcc -stdlib -subsystem windows"/>
+		<set name="LFLAGS" value="-msgstyle gcc -stdlib -subsystem windows -stackreserve 512"/>
 		<set name="LFLAGS_INFGEN" value="-S -show only,names,unmangled,verbose "/>
 		<set name="LFLAGS_SYMGEN" value="-S -show only,names,verbose "/>
 		<set name="LINKPATH" value="winscw/udeb"/>
--- a/sbsv2/raptor/lib/flm/e32abiv2.flm	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/lib/flm/e32abiv2.flm	Wed Jul 14 14:50:01 2010 +0100
@@ -514,7 +514,7 @@
 # Determine what object files will be linked by using the source files.
 CPPFILES_LINKOBJECTS:=$(call mapcpp2object,$(CPPFILES))
 CFILES_LINKOBJECTS:=$(call mapc2object,$(CFILES))
-ifeq ($(TRANSFORM_CIA),1) 
+ifeq ($(TRANSFORM_CIA),1)
   CIAFILES_LINKOBJECTS:=$(patsubst %_.cpp,%_.o,$(CIA_CPPFILES))
 else
   CIAFILES_LINKOBJECTS:=$(call mapcia2object,$(CIAFILES))
@@ -553,6 +553,12 @@
 endef
 
 ################################################
+## ARMFPU postlinker option
+#
+POSTLINKER_FPU:=$(patsubst $(ARMFPU)>%,%,$(filter $(ARMFPU)>%,$(POSTLINKER_FPU_MAPPING)))
+POSTLINKER_FPU:=$(if $(POSTLINKER_FPU),$(POSTLINKER_FPU),$(POSTLINKER_FPU_DEFAULT))
+
+################################################
 
 
 ## Link-type selection:
@@ -654,7 +660,7 @@
 	  --version=$(VERSION) \
 	  --capability=$(FINAL_CAPABILITIES) \
 	  --linkas=$(call dblquote,$(LINKASVERSIONED)) \
-	  --fpu=$(if $(ARMFPU),$(ARMFPU),$(POSTLINKER_FPU_DEFAULT)) \
+	  --fpu=$(POSTLINKER_FPU) \
 	  --targettype=$(POSTLINKTARGETTYPE) \
 	  --output=$$(call dblquote,$$@) \
 	  --elfinput=$(call dblquote,$(LINK_TARGET)) \
@@ -704,6 +710,14 @@
 
 
 ## Run trace compiler ##############################################
+# The following variable defines a prereq that source code will 
+# depend on so that tracing happens before compilation.  Must be 
+# blank by default so that if tracing is off then there will be
+# no dependency.  The tracecompiler code will set it if this
+# project actually does depend on trace-generated headers:
+TRACE_THISCOMPONENT_ALLRULE:=
+
+# Tracing requires a UID to make uniquely numbered trace points
 ifeq ($(UID3),)
  ifeq ($(UID2),)
   USE_TRACE_COMPILER:=
@@ -779,7 +793,7 @@
 $(eval DEPENDFILE:=$(wildcard $(DEPENDFILENAME)))
 
 # $4 is for language specific options (e.g. C++ vs C)
-$(1): $(2) $(PROJECT_META) $(if $(MULTIFILE_ENABLED),,$(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT)) $(if $(LINKERFEEDBACK_STAGE2),$(FEEDBACKFILE),) | $(if $(USE_TRACE_COMPILER),$(TRACE_MARKER),)  
+$(1): $(2) $(PROJECT_META) $(if $(MULTIFILE_ENABLED),,$(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT)) $(if $(LINKERFEEDBACK_STAGE2),$(FEEDBACKFILE),) | $(TRACE_THISCOMPONENT_ALLRULE) 
 	$(call startrule,compile,,$(2))		\
 		$(if $(PERTURBSTARTTIME), $(RANSLEEP) $(PERTURBMSECS) ;,) \
 		$(if $(MULTIFILE_ENABLED), echo $(2) $(3) > $(MULTIFILE_VIAFILE) ;,) \
@@ -794,7 +808,7 @@
 			$(COMPILER_SYSTEM_INCLUDE_OPTION)$$(call dblquote,$$(<D))                                                      \
 			$(if $(USERINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(USERINCLUDE)))      \
 			$(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(SYSTEMINCLUDE)))  \
-			$(if $(NOHIDEALL),--no_hide_all,) \
+			$(if $(NOHIDEALL),$(COMPILER_NO_HIDE_ALL_OPTION),) \
 			$(if $(NO_DEPEND_GENERATE),,$(DEPEND_OPTION) $(call dblquote,$(1).d)) \
 			$(if $(LINKERFEEDBACK_STAGE2),$(FEEDBACK_OPTION)$(call dblquote,$(FEEDBACKFILE))) \
 			$(if $(MULTIFILE_ENABLED),--multifile $(OUTPUT_OPTION) $(MULTIFILEOBJECT) \
@@ -856,7 +870,7 @@
 			$(COMPILER_SYSTEM_INCLUDE_OPTION)$$(call dblquote,$$(<D))                                                   \
 			$(if $(USERINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(USERINCLUDE)))      \
 			$(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(SYSTEMINCLUDE)))  \
-			$(if $(NOHIDEALL),--no_hide_all,) \
+			$(if $(NOHIDEALL),$(COMPILER_NO_HIDE_ALL_OPTION),) \
 			$$(call dblquote, $$<) $(OUTPUT_OPTION) $$(@) $(if $(USE_RVCT22_DELETE_WORKAROUND),$(RVCT22_DELETE_WORKAROUND)) \
 	$(call endrule,e32cpponly)
 
@@ -890,7 +904,7 @@
 			$(COMPILER_SYSTEM_INCLUDE_OPTION)$$(call dblquote,$$(<D))                                                   \
 			$(if $(USERINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(USERINCLUDE)))      \
 			$(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(SYSTEMINCLUDE)))  \
-			$(if $(NOHIDEALL),--no_hide_all,) \
+			$(if $(NOHIDEALL),$(COMPILER_NO_HIDE_ALL_OPTION),) \
 			$(if $(NO_DEPEND_GENERATE),,$(DEPEND_OPTION) $(call dblquote,$(DEPENDFILENAME))) \
 			$$(call dblquote, $$<) $(OUTPUT_OPTION) $$(@) $(if $(USE_RVCT22_DELETE_WORKAROUND),$(RVCT22_DELETE_WORKAROUND)) \
 	$(call endrule,e32listing)
@@ -1102,7 +1116,7 @@
         # Default values
         ROMFILETYPE:=file
         ROMFILE:=$(TARGET).$(REQUESTEDTARGETEXT)
-        ROMPATH:=sys/bin/
+        ROMPATH:=$(if $(TARGETPATH),$(TARGETPATH)/,sys/bin/)
         ROMDECORATIONS:=
         ROMFILETYPE_RAM:=data
         ROMFILE_RAM:=$(TARGET).$(REQUESTEDTARGETEXT)
@@ -1179,8 +1193,8 @@
 	        $(call startrule,rombuild)	\
 	        $(GNUMKDIR) -p $(ROMDIR) \
             $(if $(ROMFILE_CREATED_$(TOBLDINF)),,&& echo -e "// $(subst $(EPOC_ROOT)/,,$(ROMFILENAME))\n//\n$(DATATEXT)" > $(ROMFILENAME)) \
-            $(if $(BUILDROMTARGET),&& echo "$(ROMFILETYPE)=/epoc32/release/##$(ABIDIR)##/##BUILD##/$(TARGET).$(REQUESTEDTARGETEXT)   $(1)$(ROMDECORATIONS)" >> $(ROMFILENAME))	\
-	        $(if $(RAMTARGET),&& echo "$(ROMFILETYPE_RAM)=/epoc32/release/##$(ABIDIR)##/##BUILD##/$(TARGET).$(REQUESTEDTARGETEXT)   $(ROMPATH_RAM)$(ROMFILE_RAM)$(ROMDECORATIONS_RAM)" >> $(ROMFILENAME))	\
+            $(if $(BUILDROMTARGET),&& echo "$(ROMFILETYPE)=/epoc32/release/##$(ABIDIR)##/##BUILD##/$(TARGET)$(if $(EXPLICITVERSION),{$(VERSIONHEX)},).$(REQUESTEDTARGETEXT)   $(1)$(ROMDECORATIONS)" >> $(ROMFILENAME))	\
+	        $(if $(RAMTARGET),&& echo "$(ROMFILETYPE_RAM)=/epoc32/release/##$(ABIDIR)##/##BUILD##/$(TARGET)$(if $(EXPLICITVERSION),{$(VERSIONHEX)},).$(REQUESTEDTARGETEXT)   $(ROMPATH_RAM)$(ROMFILE_RAM)$(ROMDECORATIONS_RAM)" >> $(ROMFILENAME))	\
 	        $(call endrule,buildromfiletarget)
     endef
 
--- a/sbsv2/raptor/lib/flm/e32abiv2stddll.flm	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/lib/flm/e32abiv2stddll.flm	Wed Jul 14 14:50:01 2010 +0100
@@ -1,4 +1,4 @@
-# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
 # All rights reserved.
 # This component and the accompanying materials are made available
 # under the terms of the License "Eclipse Public License v1.0"
@@ -39,6 +39,7 @@
 LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib
 STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
 LIBRARY:=$(LIBRARY) euser.dso
+LIBRARY_DEBUG:=$(LIBRARY_DEBUG) euser.dso
 
 
 # Default Postlinker settings
@@ -58,7 +59,7 @@
 #compile options
 SYSTEMINCLUDE:=$(SYSTEMINCLUDE) $(EPOCROOT)/epoc32/include/stdapis
 NOHIDEALL:=1
-CDEFS:=$(CDEFS) __DLL__
+CDEFS:=$(CDEFS) __DLL__ __SYMBIAN_STDCPP_SUPPORT__
 
 include $(FLMHOME)/e32abiv2.flm
 $(call vrestore)
--- a/sbsv2/raptor/lib/flm/e32abiv2stdexe.flm	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/lib/flm/e32abiv2stdexe.flm	Wed Jul 14 14:50:01 2010 +0100
@@ -43,6 +43,7 @@
 
 NAMEDSYMLKUP:=1
 LIBRARY:=$(LIBRARY) euser.dso
+LIBRARY_DEBUG:=$(LIBRARY_DEBUG) euser.dso
 
 $(call vsave,CDEFS SYSTEMINCLUDE STATICLIBRARY)
 
@@ -54,7 +55,7 @@
 endif
 
 SYSTEMINCLUDE:=$(SYSTEMINCLUDE) $(EPOCROOT)/epoc32/include/stdapis
-CDEFS:=$(CDEFS) __EXE__
+CDEFS:=$(CDEFS) __EXE__ __SYMBIAN_STDCPP_SUPPORT__
 NOHIDEALL:=1
 
 include $(FLMHOME)/e32abiv2.flm
--- a/sbsv2/raptor/lib/flm/e32abiv2stdlib.flm	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/lib/flm/e32abiv2stdlib.flm	Wed Jul 14 14:50:01 2010 +0100
@@ -1,4 +1,4 @@
-# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
 # All rights reserved.
 # This component and the accompanying materials are made available
 # under the terms of the License "Eclipse Public License v1.0"
@@ -25,6 +25,8 @@
 
 NOHIDEALL:=1
 
+CDEFS:=$(CDEFS) __SYMBIAN_STDCPP_SUPPORT__
+
 include $(FLMHOME)/e32abiv2.flm
 
 else
--- a/sbsv2/raptor/lib/flm/e32postlink.mk	Wed Jul 14 16:22:24 2010 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of the License "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-# ARMv5 e32 postlinking FLM
-# Knows how to postlink all possible ABIV2 executables for ARM
-#
-
-# Interface
-#
-#  Metadata supplied (or deduced from)
-#
-#   BYTEPAIRCOMPRESS
-#   CAPABILITY
-#   DEBUGGABLE                     Can be "udeb" or "urel" or "udeb urel" or ""
-#   E32TARGET
-#   EPOCALLOWDLLDATA
-#   EPOCFIXEDPROCESS
-#   EPOCHEAPSIZEMAX
-#   EPOCHEAPSIZEMIN
-#   EPOCPROCESSPRIORITY
-#   EPOCSTACKSIZE
-#   EXPORTUNFROZEN
-#   INFLATECOMPRESS
-#   POSTLINKFPU
-#   POSTLINKTARGETTYPE
-#   SID
-#   SMPSAFE
-#   UID2
-#   UID3
-#   VERSION
-#   VENDORID
-#
-#  Other
-#
-#   ARMLIBS
-#   AUTOEXPORTS                    Symbols that must be assumed to exist for this TARGETTYPE in the format: export,ordinal;export,ordinal;..
-#   CANIGNORENONCALLABLE           If the TARGETTYPE allows it, disregard non-callable exports (v-tables, type information, etc.)
-#   CANHAVEEXPORTS
-#   CLEANTARGETS
-#   ELF2E32
-#   EPOCDATALINKADDRESS            Redundant?
-#   EPOCROOT
-#   EXPTARGET
-#   GENERATED_DEFFILE
-#   GENERATED_DSO
-#   HAVE_ORDERONLY
-#   IMPORTLIBRARYREQUIRED
-#   INTERMEDIATEPATH
-#   LINKASVERSIONED
-#   LINK_TARGET                    Postlinker elf input
-#   NAMEDSYMLKUP
-#   PAGEDCODE_OPTION
-#   POSTLINKDEFFILE
-#   POSTLINKER_SUPPORTS_WDP
-#   RUNTIME_LIBS_PATH
-#   SAVESPACE
-#   STATIC_LIBS_PATH
-#   UID1
-#   VARIANTTYPE
-
-
-# Capabilities
-ADDED_CAPABILITIES:=$(subst $(CHAR_SPACE),+,$(filter-out -%,$(CAPABILITY)))
-SUBTRACTED_CAPABILITIES:=$(subst $(CHAR_SPACE),,$(filter -%,$(CAPABILITY)))
-FINAL_CAPABILITIES:=$(if $(ADDED_CAPABILITIES),$(ADDED_CAPABILITIES)$(SUBTRACTED_CAPABILITIES),NONE)
-
-# Paging options for the old postlinker
-POSTLINKER_PAGEDOPTION:=--defaultpaged
-ifeq ($(PAGED),1)
-  POSTLINKER_PAGEDOPTION:=--paged
-endif
-ifeq ($(PAGED),0)
-  POSTLINKER_PAGEDOPTION:--unpaged
-endif
-
-# Postlink target
-define e32postlink
-$(E32TARGET): $(LINK_TARGET) $(POSTLINKDEFFILE) $(ELF2E32) $(if $(HAVE_ORDERONLY),|,) $(EPOCROOT)/epoc32/build/TEM_LIB
-	$(call startrule,postlink) \
-	$(ELF2E32) \
-	  --sid=0x$(if $(SID),$(SID),$(if $(UID3),$(UID3),0)) \
-	  --version=$(VERSION) \
-	  --capability=$(FINAL_CAPABILITIES) \
-	  --linkas=$(call dblquote,$(LINKASVERSIONED)) \
-	  --fpu=$(POSTLINKFPU) \
-	  --targettype=$(POSTLINKTARGETTYPE) \
-	  --output=$$(call dblquote,$$@) \
-	  --elfinput=$(call dblquote,$(LINK_TARGET)) \
-	  $(if $(UID1),--uid1=0x$(UID1),) \
-	  $(if $(UID2),--uid2=0x$(UID2),) \
-	  $(if $(UID3),--uid3=0x$(UID3),) \
-	  $(if $(VENDORID),--vid=0x$(VENDORID),) \
-	  $(if $(EXPTARGET),--customdlltarget,) \
-	  $(if $(ARMLIBS),--excludeunwantedexports,) \
-	  $(if $(EPOCALLOWDLLDATA),--dlldata,) \
-	  $(if $(EPOCPROCESSPRIORITY),--priority=$(EPOCPROCESSPRIORITY),) \
-	  $(if $(EPOCSTACKSIZE),--stack=0x$(EPOCSTACKSIZE),) \
-	  $(if $(EPOCHEAPSIZEMIN),--heap=0x$(EPOCHEAPSIZEMIN)$(CHAR_COMMA)0x$(EPOCHEAPSIZEMAX),) \
-	  $(if $(EPOCFIXEDPROCESS),--fixedaddress,) \
-	  $(if $(EPOCDATALINKADDRESS),--datalinkaddress=$(EPOCDATALINKADDRESS),) \
-	  $(if $(NAMEDSYMLKUP),--namedlookup,) \
-	  $(if $(SMPSAFE),--smpsafe,) \
-	  $(if $(POSTLINKDEFFILE),--definput=$(POSTLINKDEFFILE),) \
-	  $(if $(EXPORTUNFROZEN),--unfrozen,) \
-	  $(if $(AUTOEXPORTS),--sysdef=$(call dblquote,$(AUTOEXPORTS)),) \
-	  $(if $(CANIGNORENONCALLABLE), \
-	    $(if $(IMPORTLIBRARYREQUIRED),,--ignorenoncallable),) \
-	  $(if $(CANHAVEEXPORTS), --defoutput="$(GENERATED_DEFFILE)" --dso=$(GENERATED_DSO)) \
-	  $(if $(filter $(VARIANTTYPE),$(DEBUGGABLE)),--debuggable,) \
-	  $(if $(POSTLINKER_SUPPORTS_WDP), \
-	    --codepaging=$(PAGEDCODE_OPTION) --datapaging=$(PAGEDDATA_OPTION), \
-	    $(POSTLINKER_PAGEDOPTION)) \
-	  $(if $(NOCOMPRESSTARGET), \
-	    --uncompressed, \
-	    $(if $(INFLATECOMPRESS),--compressionmethod inflate,$(if $(BYTEPAIRCOMPRESS),--compressionmethod bytepair,))) \
-	  --libpath="$(call concat,$(PATHSEP)$(CHAR_SEMIC),$(strip $(RUNTIME_LIBS_PATH) $(STATIC_LIBS_PATH)))" \
-	  $(if $(SAVESPACE),$(if $(EXPORTUNFROZEN),,;$(GNURM) -rf $(INTERMEDIATEPATH); true)) \
-	$(call endrule,postlink)
-endef
-$(eval $(e32postlink))
-
-CLEANTARGETS:=$(CLEANTARGETS) $(E32TARGET)
-CLEANTARGETS:=$(CLEANTARGETS) $(GENERATED_DEFFILE)
-CLEANTARGETS:=$(CLEANTARGETS) $(GENERATED_DSO)
--- a/sbsv2/raptor/lib/flm/resource.flm	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/lib/flm/resource.flm	Wed Jul 14 14:50:01 2010 +0100
@@ -65,7 +65,6 @@
 
 # we create intermediate .rpp and .d files
 INTERBASE_TMP:=$(OUTPUTPATH)/$(TARGET_lower)_$(notdir $(basename $(SOURCE)))
-INTERBASE:=$(OUTPUTPATH)/$(TARGET_lower)
 
 
 # common pre-processor options
@@ -94,14 +93,13 @@
 
 
 define preprocessresource
-# $(1) is the RPPFILE		(eg. /epoc32/build/xxx/b_sc.rpp)
-# $(2) is the related RESOURCEFILE if any (eg. /a/b.rsc)
-# $(3) is the LANGUAGE		(eg. sc or 01 or 02 ...)
-# $(4) is the "primary" language on which all the others depend
+# $1 is the RPPFILE		(eg. /epoc32/build/xxx/b_sc.rpp)
+# $2 is the LANGUAGE		(eg. sc or 01 or 02 ...)
+# $3 is the "primary" language on which all the others depend
 
   ifeq ($(TARGET_$(call sanitise,$1)),)
     TARGET_$(call sanitise,$1):=1
-    $(if $(FLMDEBUG),$$(info <debug>preprocessresource: $(1) for $(2) LANG:$(3) dep $(4)</debug>))
+    $(if $(FLMDEBUG),$$(info <debug>preprocessresource: $1 LANG:$2 dep $3</debug>))
 
 
     # Correct dependency information when a header file can't be found.
@@ -126,12 +124,12 @@
 endif
 
 
-    ifeq "$1" "$4"
+    ifeq "$1" "$3"
         RESOURCE_DEPS:: $1.d
 
         $1.d: $(SOURCE)
 	  $(call startrule,resourcedependencies,FORCESUCCESS) \
-	  $(GNUCPP) -DLANGUAGE_$(3) -DLANGUAGE_$(subst sc,SC,$3) $(call makemacrodef,-D,$(MMPDEFS))\
+	  $(GNUCPP) -DLANGUAGE_$2 -DLANGUAGE_$(subst sc,SC,$2) $(call makemacrodef,-D,$(MMPDEFS))\
 	  $(CPPOPT) $(SOURCE) -M -MG -MT"$1" | \
 	  $$(DEPENDENCY_CORRECTOR) >$$@ \
 	  $(call endrule,resourcedependencies)
@@ -139,12 +137,12 @@
          $1 : $1.d
 
     else
-         $1 : $4
+         $1 : $3
     endif
 
     $1:
 	  $(call startrule,resourcepreprocess,FORCESUCCESS) \
-	  $(GNUCPP) -C -DLANGUAGE_$3 -DLANGUAGE_$(subst sc,SC,$(3)) $(call makemacrodef,-D,$(MMPDEFS))\
+	  $(GNUCPP) -C -DLANGUAGE_$2 -DLANGUAGE_$(subst sc,SC,$2) $(call makemacrodef,-D,$(MMPDEFS))\
 	  $(CPPOPT) $(SOURCE) -o $$@ \
 	  $(call endrule,resourcepreprocess)
     endif
@@ -152,7 +150,7 @@
     CLEANTARGETS:= $$(CLEANTARGETS) $1
 
     ifeq "$(MAKEFILE_GROUP)" "RESOURCE"
-    ifeq "$1" "$4"
+    ifeq "$1" "$3"
       $(eval DEPENDFILENAME:=$1.d)
       $(eval DEPENDFILE:=$(wildcard $(DEPENDFILENAME)))
       
@@ -183,9 +181,10 @@
 ###############################################################################
 define generateresource
 
-# $(1) is the resource filename e.g. /a/b/resource.rsc
+# $(1) is the intermediate resource filename with path e.g. /a/b/resource.rsc
 # $(2) is the preprocessed resource to make it from
 # $(3) is the language e.g. sc or 01 or 02
+# $(4) is the target resource filename without path
 
 
         ifeq ($(TARGET_$(call sanitise,$1)),)
@@ -211,7 +210,7 @@
 #       targets for the sake of dependencies or, for example, if someone merely adds a new copy 
 #       when the resource is up-to-date
 
-        $(call copyresource,$1,$(sort $(patsubst %,%/$(notdir $1),$(RSCCOPYDIRS))))
+        $(call copyresource,$1,$(sort $(patsubst %,%/$4,$(RSCCOPYDIRS))))
 
 
         # individual source file compilation
@@ -265,16 +264,16 @@
 ifeq ($(HEADERONLY),)
         # generate a resource file for each language
         # For sc we generate $(RESBASE).rsc and define LANGUAGE_SC and LANGUAGE_sc.
-        $(foreach L,$(LANGUAGES:SC=sc),$(eval $(call preprocessresource,$(INTERBASE_TMP)_$(L).rpp,$(INTERBASE).r$(L),$(L),$(PRIMARYRPPFILE))))
+        $(foreach L,$(LANGUAGES:SC=sc),$(eval $(call preprocessresource,$(INTERBASE_TMP)_$(L).rpp,$(L),$(PRIMARYRPPFILE))))
 
         ifeq "$(MAKEFILE_GROUP)" "RESOURCE"
-            $(foreach L,$(LANGUAGES:SC=sc),$(eval $(call generateresource,$(INTERBASE).r$(L),$(INTERBASE_TMP)_$(L).rpp,$(L))))
+            $(foreach L,$(LANGUAGES:SC=sc),$(eval $(call generateresource,$(INTERBASE_TMP).r$(L),$(INTERBASE_TMP)_$(L).rpp,$(L),$(TARGET_lower).r$(L))))
         endif
 else
         # No resources are going to be made so unless we specifically ask for it, there will be no
         # preprocessed file from which to create the header:
 
-        $(eval $(call preprocessresource,$(INTERBASE_TMP)_$(HEADLANG).rpp,,$(HEADLANG),$(PRIMARYRPPFILE)))
+        $(eval $(call preprocessresource,$(INTERBASE_TMP)_$(HEADLANG).rpp,$(HEADLANG),$(PRIMARYRPPFILE)))
 
 endif
 
--- a/sbsv2/raptor/lib/flm/standard.xml	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/lib/flm/standard.xml	Wed Jul 14 14:50:01 2010 +0100
@@ -40,6 +40,7 @@
 		<param name='SOURCE' default=''/>
 		<param name='TARGET'/>
 		<param name='TARGET_lower'/>
+		<param name='TARGETPATH' default=''/>
 		<param name='LTCG' default=''/>
 		<param name='LTCG_OPTION' default='--ltcg'/>
 		<param name='TARGETTYPE'/>
@@ -96,6 +97,7 @@
 		<param name='COMPILE_ONLY_OPTION'/>
 		<param name='COMPILER_FPU_DEFAULT'/>
 		<param name='COMPILER_FPU_OPTION'/>
+		<param name='COMPILER_NO_HIDE_ALL_OPTION'/>
 		<param name='COMPILER_CIA_FLAGS'/>
 		<param name='COMPILER_INTERWORK_DEFINES'/>
 		<param name='COMPILER_SYSTEM_INCLUDE_OPTION'/>
@@ -149,6 +151,7 @@
 		<param name='PERTURBMSECS' default='500'/>
 		<param name='POSTLINKER_COMPRESSION_DEFAULT'/>
 		<param name='POSTLINKER_FPU_DEFAULT'/>
+		<param name='POSTLINKER_FPU_MAPPING'/>
 		<param name='PREPDEF'/>
 		<param name='PREINCLUDE'/>
 		<param name='PREINCLUDE_OPTION'/>
--- a/sbsv2/raptor/lib/flm/taggedrules.mk	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/lib/flm/taggedrules.mk	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 # All rights reserved.
 # This component and the accompanying materials are made available
 # under the terms of the License "Eclipse Public License v1.0"
@@ -107,14 +107,14 @@
  component='$$COMPONENT_NAME'\
  bldinf='$$COMPONENT_META' mmp='$$PROJECT_META'\
  config='$$SBS_CONFIGURATION' platform='$$PLATFORM'\
- phase='$$MAKEFILE_GROUP' source='$$SOURCE'
+ phase='$$MAKEFILE_GROUP' source='$$SOURCE' $(if i$(FLMDEBUG),prereqs='$$RECIPE_PREREQS',)
 
 export TALON_RECIPEATTRIBUTES
 export TALON_RETRIES
 export TALON_DESCRAMBLE
 
 define startrule
-	@|RECIPE=$1;TARGET=$$@;COMPONENT_LAYER=$(COMPONENT_LAYER);COMPONENT_NAME=$(COMPONENT_NAME);COMPONENT_META=$(COMPONENT_META);PROJECT_META=$(PROJECT_META);SBS_CONFIGURATION=$(SBS_CONFIGURATION);PLATFORM=$(PLATFORM);MAKEFILE_GROUP=$(MAKEFILE_GROUP);SOURCE=$3;TALON_FLAGS=$2;|
+	@|RECIPE=$1;TARGET=$$@;COMPONENT_LAYER=$(COMPONENT_LAYER);COMPONENT_NAME=$(COMPONENT_NAME);COMPONENT_META=$(COMPONENT_META);PROJECT_META=$(PROJECT_META);SBS_CONFIGURATION=$(SBS_CONFIGURATION);PLATFORM=$(PLATFORM);MAKEFILE_GROUP=$(MAKEFILE_GROUP);SOURCE=$3;TALON_FLAGS=$2;$(if $(FLMDEBUG),RECIPE_PREREQS=$$^;,)|
 endef
 
 define endrule
--- a/sbsv2/raptor/lib/flm/tracecompiler.mk	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/lib/flm/tracecompiler.mk	Wed Jul 14 14:50:01 2010 +0100
@@ -28,9 +28,9 @@
 $(if $(FLMDEBUG),$(info <debug>INCLUDES=$(USERINCLUDE) $(SYSTEMINCLUDE)</debug>))
 $(if $(FLMDEBUG),$(info <debug>TARGET=$(TARGET) TARGETEXT=$(TARGETEXT)</debug>))
 
-# Find out TRACE_PATH  by looking for the trace folder in SYSTEMINCLUDE and USERINCLUDES
-# traces/traces_<target_name>_<target_extension>
-TRACE_PATH:=$(call get_trace_path,/traces/traces_$(TRACE_RELEASABLE_ID))
+# Find out TRACE_PATH by looking for the trace folder in SYSTEMINCLUDE and USERINCLUDES
+# traces/<target_name>_<target_extension>
+TRACE_PATH:=$(call get_trace_path,/traces/$(TRACE_RELEASABLE_ID))
 ifneq ($(TRACE_PATH),)
   TRACE_PRJNAME:=$(TRACE_RELEASABLE_ID)
 else # obsolete forms for compatibility
@@ -63,20 +63,58 @@
 # initialise (so what output will be correct if we don't actually run the TC)
 TRACE_DICTIONARY:=
 AUTOGEN_HEADER:=
-$(if $(FLMDEBUG),$(info <debug>TRACE_PATH='$(TRACE_PATH)'   TRACE_RELEASABLE_ID='$(TRACE_RELEASABLE_ID)'</debug>))
+$(if $(FLMDEBUG),$(info <debug>TRACE_PATH='$(TRACE_PATH)' TRACE_RELEASABLE_ID='$(TRACE_RELEASABLE_ID)'</debug>))
 
 # Run trace compiler only if TRACE_PATH exists
 ifneq ($(TRACE_PATH),)
 TRACE_MARKER:=$(TRACE_MARKER_PATH)/tracecompile_$(TRACE_RELEASABLE_ID)_$(UID_TC).done
+TRACE_THISCOMPONENT_ALLRULE:=$(call sanitise,$(COMPONENT_META))_alltracedone
 TRACE_HEADERS:=
 
 TRACE_SOURCE_LIST:=$(TRACE_MARKER_PATH)/tracecompile_$(TRACE_RELEASABLE_ID)_$(UID_TC).sourcelist
+$(if $(FLMDEBUG),$(info <debug>TRACE_SOURCE_LIST=$(TRACE_SOURCE_LIST)</debug>))
+TRACE_VARIANT_SOURCE_LIST:=$(OUTPUTPATH)/$(VARIANTPLATFORM)/$(VARIANTTYPE)/tracecompile_$(TRACE_RELEASABLE_ID)_$(UID_TC).sourcelist
+$(if $(FLMDEBUG),$(info <debug>TRACE_VARIANT_SOURCE_LIST=$(TRACE_VARIANT_SOURCE_LIST)</debug>))
 
-# 1. Append to or create the list of source files for trace compiler to process
-# 2. Check if the hash in trace marker remain unchanged. If not, remove marker so trace compiler will run again. 
-X:=$(shell set -x ; $(GNUMKDIR) -p $(TRACE_MARKER_PATH) ; $(GNUTOUCH) $(TRACE_SOURCE_LIST) ; echo -e "$(subst $(CHAR_SPACE),\\n,$(SOURCE))" | $(GNUSORT) -u $(TRACE_SOURCE_LIST) - > $(TRACE_SOURCE_LIST).tmp && $(GNUMV) $(TRACE_SOURCE_LIST).tmp $(TRACE_SOURCE_LIST) ; $(GNUMD5SUM) -c $(TRACE_MARKER) || $(GNURM) $(TRACE_MARKER))
+# The sourcelist_grouped_write macro allows us to construct a source list file, 10 objects at a time
+# to avoid limits on argument lengths and sizes on Windows.
+# $1 = list of source files
+# $2 = ">" or ">>" i.e. for creating the file.
+define sourcelist_grouped_write
+	$(call startrule,sourcelist_write) \
+	$(if $1,echo -en '$(subst $(CHAR_SPACE),\n,$(strip $(wordlist 1,10,$1)))\n' $2 $$@,true) \
+	$(call endrule,sourcelist_write) 
+	$(if $1,$(call sourcelist_grouped_write,$(wordlist 11,$(words $1),$1),>>),)
+endef
 
-$(if $(FLMDEBUG),$(info <debug>Trace Compiler sourcelist generation output: $(X)</debug>))
+# Write the list of sources for this variant to a file
+# Make the combined sourcelist for this target depend on it
+# It's all to do with how make treats this file when it 
+# does exist. We are forcing it evaluate the target rule here 
+# even if the file is in place by making it PHONY. In other 
+# words, this is forcing the variant source list to always 
+# be written but later on we might not write to the combined 
+# source list if it isn't going to change.
+define sourcelist_write
+$(TRACE_SOURCE_LIST): $(TRACE_VARIANT_SOURCE_LIST)
+
+.PHONY:: $(TRACE_VARIANT_SOURCE_LIST)
+
+$(TRACE_VARIANT_SOURCE_LIST): $(SOURCE) 
+	$(call sourcelist_grouped_write,$(SOURCE),>)
+
+endef
+
+$(eval $(sourcelist_write))
+$(eval $(call GenerateStandardCleanTarget,$(TRACE_VARIANT_SOURCE_LIST),,))
+
+
+$(if $(FLMDEBUG),$(info <debug>Trace Compiler SOURCES: $(SOURCE)</debug>))
+
+
+.PHONY:: $(TRACE_THISCOMPONENT_ALLRULE)
+
+$(TRACE_THISCOMPONENT_ALLRULE):: $(TRACE_MARKER)
 
 $(TRACE_MARKER) : $(SOURCE)
 
@@ -84,10 +122,13 @@
 
 $(TRACE_HEADERS): $(TRACE_MARKER)
 
-ifeq ($(GUARD_$(call sanitise,$(TRACE_MARKER))),)
-GUARD_$(call sanitise,$(TRACE_MARKER)):=1
+TRACE_GUARD:=GUARD_$(call sanitise,$(TRACE_MARKER))
+$(if $(FLMDEBUG),$(info <debug>TRACE GUARD for '$(TRACE_RELEASABLE_ID)' is:  $(TRACE_GUARD)=$($(TRACE_GUARD))</debug>))
 
-$(if $(FLMDEBUG),$(info <debug>PAST MARKER='$(TRACE_RELEASABLE_ID)'</debug>))
+ifeq ($($(TRACE_GUARD)),)
+$(TRACE_GUARD):=1
+
+$(if $(FLMDEBUG),$(info <debug>PAST GUARD (unique trace) for '$(TRACE_RELEASABLE_ID)'</debug>))
 # The trace compiler likes to change . into _ so we must do the same in the case of mmps with a name like
 # fred.prd.mmp we want fred_prd
 TRACE_PRJNAME_SANITISED:=$(subst .,_,$(TRACE_PRJNAME))
@@ -116,14 +157,33 @@
 endif
 $(if $(FLMDEBUG),$(info <debug>TRACE_VSTR=$(TRACE_VSTR) TRACE_VER=$(TRACE_VER)</debug>))
 
+
+# 0. Generate a combined sourcelist from all variants. 
+# 0.1 Write the combined list to a temporary file
+# 0.2 Check if there are new files since the last build
+#      md5 stored in the trace marker.
+# 0.3 Rewrite the combined sourcelist if new sourcefiles have appeared
+#      since the last build
+# 1. Use pipe to send inputs to trace compiler to process
+# 2. Create a hash regarding to source names and put it in marker.
+# 3. Show source names that are processed by trace compiler
+
 ifeq ($(TRACE_VER),new)
 define trace_compile
-$(TRACE_MARKER) : $(PROJECT_META)
+
+$(TRACE_SOURCE_LIST):
+	$(call startrule,sourcelist_combine) \
+	$(GNUCAT) $(TRACE_SOURCE_LIST) $$^ 2>/dev/null | $(GNUSORT) -u > $$@.new && \
+	$(GNUMD5SUM) -c $(TRACE_MARKER) 2>/dev/null ||  \
+	  $(GNUCP) $$@.new $$@ \
+	$(call endrule,sourcelist_combine)
+
+$(TRACE_MARKER) : $(PROJECT_META) $(TRACE_SOURCE_LIST)
 	$(call startrule,tracecompile) \
 	( $(GNUCAT) $(TRACE_SOURCE_LIST); \
 	  echo -en "*ENDOFSOURCEFILES*\n" ) | \
 	$(JAVA_COMMAND) $(TRACE_COMPILER_START) $(if $(FLMDEBUG),-d,) --uid=$(UID_TC) --project=$(TRACE_PRJNAME) --mmp=$(PROJECT_META) --traces=$(TRACE_PATH) &&  \
-	$(GNUMD5SUM) $(TRACE_SOURCE_LIST) > $(TRACE_MARKER) && \
+	$(GNUMD5SUM) $(TRACE_SOURCE_LIST).new > $$@ 2>/dev/null && \
 	{ $(GNUTOUCH) $(TRACE_DICTIONARY) $(AUTOGEN_HEADER); \
 	 $(GNUCAT) $(TRACE_SOURCE_LIST) ; true ; } \
 	$(call endrule,tracecompile)
@@ -131,17 +191,23 @@
 
 else # Old inteface
 TRACE_COMPILER_START:=-classpath $(TRACE_COMPILER_PATH)/tracecompiler com.nokia.tracecompiler.TraceCompiler
-# 1. Use pipe to send inputs to trace compiler to process
-# 2. Create a hash regarding to source names and put it in marker.
-# 3. Show source names that are processed by trace compiler
+
 define trace_compile
-$(TRACE_MARKER) : $(PROJECT_META)
+
+$(TRACE_SOURCE_LIST):
+	$(call startrule,sourcelist_combine) \
+	$(GNUCAT) $(TRACE_SOURCE_LIST) $$^ 2>/dev/null | $(GNUSORT) -u > $$@.new && \
+	$(GNUMD5SUM) -c $(TRACE_MARKER) 2>/dev/null ||  \
+	  $(GNUCP) $$@.new $$@ \
+	$(call endrule,sourcelist_combine)
+
+$(TRACE_MARKER) : $(PROJECT_META) $(TRACE_SOURCE_LIST)
 	$(call startrule,tracecompile) \
 	( echo -en "$(OLDTC_TRACE_PRJNAME)\n$(PROJECT_META)\n"; \
 	  $(GNUCAT) $(TRACE_SOURCE_LIST); \
 	  echo -en "*ENDOFSOURCEFILES*\n" ) | \
 	$(JAVA_COMMAND) $(TRACE_COMPILER_START) $(UID_TC) &&  \
-	$(GNUMD5SUM) $(TRACE_SOURCE_LIST) > $(TRACE_MARKER) && \
+	$(GNUMD5SUM) $(TRACE_SOURCE_LIST).new > $$@ 2>/dev/null && \
 	{ $(GNUTOUCH) $(TRACE_DICTIONARY) $(AUTOGEN_HEADER); \
 	 $(GNUCAT) $(TRACE_SOURCE_LIST) ; true ; } \
 	$(call endrule,tracecompile)
--- a/sbsv2/raptor/lib/flm/win32.flm	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/lib/flm/win32.flm	Wed Jul 14 14:50:01 2010 +0100
@@ -204,8 +204,15 @@
 
 
 # Run trace compiler #####################################
+# The following variable defines a prereq that source code will 
+# depend on so that tracing happens before compilation.  Must be 
+# blank by default so that if tracing is off then there will be
+# no dependency.  The tracecompiler code will set it if this
+# project actually does depend on trace-generated headers:
+TRACE_THISCOMPONENT_ALLRULE:=
 TRACE_MARKER_PATH:=$(OUTPUTPATH)
 
+# Tracing requires a UID to make uniquely numbered trace points
 ifeq ($(subst 0,,$(UID3)),)
   ifeq ($(UID2),)
     USE_TRACE_COMPILER:=
@@ -377,7 +384,7 @@
     $(eval DEPENDFILENAME:=$(call mapwin32file,$(1),.o.d))
     $(eval DEPENDFILE:=$(wildcard $(DEPENDFILENAME)))
 
-    $(call mapwin32file,$(1),.o): $(1) $(PROJECT_META) $(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT) | $(if $(USE_TRACE_COMPILER),$(TRACE_MARKER))
+    $(call mapwin32file,$(1),.o): $(1) $(PROJECT_META) $(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT) | $(TRACE_THISCOMPONENT_ALLRULE) 
 	  $(call startrule,win32compile2object,,$(1)) \
 	  $(CC) $$(if $$(filter %.C,$(1)),-lang c) $(CFLAGS) $(OPTION_CW) \
 	  $(if $(STDCPP_BUILD),$$(if $$(filter %.c %.C,$(1)),,$$(call makemacrodef,$(OPT.DEFINE),$(STDCPP_WCHAR_DEF))),) \
--- a/sbsv2/raptor/lib/flm/win32stddll.flm	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/lib/flm/win32stddll.flm	Wed Jul 14 14:50:01 2010 +0100
@@ -1,4 +1,4 @@
-# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
 # All rights reserved.
 # This component and the accompanying materials are made available
 # under the terms of the License "Eclipse Public License v1.0"
@@ -26,6 +26,7 @@
 FIXED_EXPORT:=
 LFLAGS:=$(subst -nostdlib,-stdlib,$(LFLAGS))
 LIBRARY:=$(LIBRARY) euser.lib backend.lib
+LIBRARY_DEBUG:=$(LIBRARY_DEBUG) euser.lib backend.lib
 NAME_LOOKUP:=-sym_name_lkup -export_entrypoint_E32Dll
 OPEN_ENVIRONMENT:=1
 SUPPORTS_IMPORT_LIBRARY:=1
--- a/sbsv2/raptor/lib/flm/win32stdexe.flm	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/lib/flm/win32stdexe.flm	Wed Jul 14 14:50:01 2010 +0100
@@ -1,4 +1,4 @@
-# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
 # All rights reserved.
 # This component and the accompanying materials are made available
 # under the terms of the License "Eclipse Public License v1.0"
@@ -26,11 +26,14 @@
 FIXED_EXPORT:=
 LFLAGS:=$(subst -nostdlib,-stdlib,$(LFLAGS))
 LIBRARY:=$(LIBRARY) euser.lib backend.lib
-  
+LIBRARY_DEBUG:=$(LIBRARY_DEBUG) euser.lib backend.lib
+
 ifeq ($(WCHARENTRYPOINT),)
   LIBRARY:=$(LIBRARY) libcrt0.lib
+  LIBRARY_DEBUG:=$(LIBRARY_DEBUG) libcrt0.lib
 else
   LIBRARY:=$(LIBRARY) libwcrt0.lib
+  LIBRARY_DEBUG:=$(LIBRARY_DEBUG) libwcrt0.lib
 endif
   
 OPEN_ENVIRONMENT:=1
Binary file sbsv2/raptor/linux-i386/bin/bash has changed
--- a/sbsv2/raptor/linux-i386/bin/bashbug	Wed Jul 14 16:22:24 2010 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,272 +0,0 @@
-#!/bin/sh -
-#
-# bashbug - create a bug report and mail it to the bug address
-#
-# The bug address depends on the release status of the shell.  Versions
-# with status `devel', `alpha', `beta', or `rc' mail bug reports to
-# chet@cwru.edu and, optionally, to bash-testers@cwru.edu.
-# Other versions send mail to bug-bash@gnu.org.
-#
-# Copyright (C) 1996-2004 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
-
-#
-# configuration section:
-#	these variables are filled in by the make target in Makefile
-#
-MACHINE="i686"
-OS="linux-gnu"
-CC="gcc"
-CFLAGS=" -DPROGRAM='bash' -DCONF_HOSTTYPE='i686' -DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='i686-pc-linux-gnu' -DCONF_VENDOR='pc' -DLOCALEDIR='/opt/symbian/linux-i386/share/locale' -DPACKAGE='bash' -DSHELL -DHAVE_CONFIG_H   -I.  -I. -I./include -I./lib   -O2 -mtune=i686 -s"
-RELEASE="3.2"
-PATCHLEVEL="39"
-RELSTATUS="release"
-MACHTYPE="i686-pc-linux-gnu"
-
-PATH=/bin:/usr/bin:/usr/local/bin:$PATH
-export PATH
-
-# Check if TMPDIR is set, default to /tmp
-: ${TMPDIR:=/tmp}
-
-#Securely create a temporary directory for the temporary files
-TEMPDIR=$TMPDIR/bbug.$$
-(umask 077 && mkdir $TEMPDIR) || {
-	echo "$0: could not create temporary directory" >&2
-	exit 1
-}
-
-TEMPFILE1=$TEMPDIR/bbug1
-TEMPFILE2=$TEMPDIR/bbug2
-        
-USAGE="Usage: $0 [--help] [--version] [bug-report-email-address]"
-VERSTR="GNU bashbug, version ${RELEASE}.${PATCHLEVEL}-${RELSTATUS}"
-
-do_help= do_version=
-
-while [ $# -gt 0 ]; do
-	case "$1" in
-	--help)		shift ; do_help=y ;;
-	--version)	shift ; do_version=y ;;
-	--)		shift ; break ;;
-	-*)		echo "bashbug: ${1}: invalid option" >&2
-			echo "$USAGE" >& 2
-			exit 2 ;;
-	*)		break ;;
-	esac
-done
-
-if [ -n "$do_version" ]; then
-	echo "${VERSTR}"
-	exit 0
-fi
-
-if [ -n "$do_help" ]; then
-	echo "${VERSTR}"
-	echo "${USAGE}"
-	echo
-	cat << HERE_EOF
-Bashbug is used to send mail to the Bash maintainers
-for when Bash doesn't behave like you'd like, or expect.
-
-Bashbug will start up your editor (as defined by the shell's
-EDITOR environment variable) with a preformatted bug report
-template for you to fill in. The report will be mailed to the
-bash maintainers by default. See the manual for details.
-
-If you invoke bashbug by accident, just quit your editor without
-saving any changes to the template, and no bug report will be sent.
-HERE_EOF
-	exit 0
-fi
-
-# Figure out how to echo a string without a trailing newline
-N=`echo 'hi there\c'`
-case "$N" in
-*c)	n=-n c= ;;
-*)	n= c='\c' ;;
-esac
-
-BASHTESTERS="bash-testers@cwru.edu"
-
-case "$RELSTATUS" in
-alpha*|beta*|devel*|rc*)	BUGBASH=chet@cwru.edu ;;
-*)				BUGBASH=bug-bash@gnu.org ;;
-esac
-
-case "$RELSTATUS" in
-alpha*|beta*|devel*|rc*)
-		echo "$0: This is a testing release.  Would you like your bug report"
-		echo "$0: to be sent to the bash-testers mailing list?"
-		echo $n "$0: Send to bash-testers? $c"
-		read ans
-		case "$ans" in
-		y*|Y*)	BUGBASH="${BUGBASH},${BASHTESTERS}" ;;
-		esac ;;
-esac
-
-BUGADDR="${1-$BUGBASH}"
-
-if [ -z "$DEFEDITOR" ] && [ -z "$EDITOR" ]; then
-	if [ -x /usr/bin/editor ]; then
-		DEFEDITOR=editor
-	elif [ -x /usr/local/bin/ce ]; then
-		DEFEDITOR=ce
-	elif [ -x /usr/local/bin/emacs ]; then
-		DEFEDITOR=emacs
-	elif [ -x /usr/contrib/bin/emacs ]; then
-		DEFEDITOR=emacs
-	elif [ -x /usr/bin/emacs ]; then
-		DEFEDITOR=emacs
-	elif [ -x /usr/bin/xemacs ]; then
-		DEFEDITOR=xemacs
-	elif [ -x /usr/contrib/bin/jove ]; then
-		DEFEDITOR=jove
-	elif [ -x /usr/local/bin/jove ]; then
-		DEFEDITOR=jove
-	elif [ -x /usr/bin/vi ]; then
-		DEFEDITOR=vi
-	else
-		echo "$0: No default editor found: attempting to use vi" >&2
-		DEFEDITOR=vi
-	fi
-fi
-
-
-: ${EDITOR=$DEFEDITOR}
-
-: ${USER=${LOGNAME-`whoami`}}
-
-trap 'rm -rf "$TEMPDIR"; exit 1' 1 2 3 13 15
-trap 'rm -rf "$TEMPDIR"' 0
-
-UN=
-if (uname) >/dev/null 2>&1; then
-	UN=`uname -a`
-fi
-
-if [ -f /usr/lib/sendmail ] ; then
-	RMAIL="/usr/lib/sendmail"
-	SMARGS="-i -t"
-elif [ -f /usr/sbin/sendmail ] ; then
-	RMAIL="/usr/sbin/sendmail"
-	SMARGS="-i -t"
-else
-	RMAIL=rmail
-	SMARGS="$BUGADDR"
-fi
-
-INITIAL_SUBJECT='[50 character or so descriptive subject here (for reference)]'
-
-cat > "$TEMPFILE1" <<EOF
-From: ${USER}
-To: ${BUGADDR}
-Subject: ${INITIAL_SUBJECT}
-
-Configuration Information [Automatically generated, do not change]:
-Machine: $MACHINE
-OS: $OS
-Compiler: $CC
-Compilation CFLAGS: $CFLAGS
-uname output: $UN
-Machine Type: $MACHTYPE
-
-Bash Version: $RELEASE
-Patch Level: $PATCHLEVEL
-Release Status: $RELSTATUS
-
-Description:
-	[Detailed description of the problem, suggestion, or complaint.]
-
-Repeat-By:
-	[Describe the sequence of events that causes the problem
-	to occur.]
-
-Fix:
-	[Description of how to fix the problem.  If you don't know a
-	fix for the problem, don't include this section.]
-EOF
-
-cp "$TEMPFILE1" "$TEMPFILE2"
-chmod u+w "$TEMPFILE1"
-
-trap '' 2		# ignore interrupts while in editor
-
-edstat=1
-while [ $edstat -ne 0 ]; do
-	$EDITOR "$TEMPFILE1"
-	edstat=$?
-
-	if [ $edstat -ne 0 ]; then
-		echo "$0: editor \`$EDITOR' exited with nonzero status."
-		echo "$0: Perhaps it was interrupted."
-		echo "$0: Type \`y' to give up, and lose your bug report;"
-		echo "$0: type \`n' to re-enter the editor."
-		echo $n "$0: Do you want to give up? $c"
-
-		read ans
-		case "$ans" in
-		[Yy]*) exit 1 ;;
-		esac
-
-		continue
-	fi
-
-	# find the subject from the temp file and see if it's been changed
-	CURR_SUB=`grep '^Subject: ' "$TEMPFILE1" | sed 's|^Subject:[ 	]*||' | sed 1q`
-
-	case "$CURR_SUB" in
-	"${INITIAL_SUBJECT}")
-		echo
-		echo "$0: You have not changed the subject from the default."
-		echo "$0: Please use a more descriptive subject header."
-		echo "$0: Type \`y' to give up, and lose your bug report;"
-		echo "$0: type \`n' to re-enter the editor."
-		echo $n "$0: Do you want to give up? $c"
-
-		read ans
-		case "$ans" in
-		[Yy]*) exit 1 ;;
-		esac
-
-		echo "$0:  The editor will be restarted in five seconds."
-		sleep 5
-		edstat=1
-		;;
-	esac
-
-done
-
-trap 'rm -rf "$TEMPDIR"; exit 1' 2	# restore trap on SIGINT
-
-if cmp -s "$TEMPFILE1" "$TEMPFILE2"
-then
-	echo "File not changed, no bug report submitted."
-	exit
-fi
-
-echo $n "Send bug report? [y/n] $c"
-read ans
-case "$ans" in
-[Nn]*)	exit 0 ;;
-esac
-
-${RMAIL} $SMARGS < "$TEMPFILE1" || {
-	cat "$TEMPFILE1" >> $HOME/dead.bashbug
-	echo "$0: mail failed: report saved in $HOME/dead.bashbug" >&2
-}
-
-exit 0
Binary file sbsv2/raptor/linux-i386/bin/make has changed
Binary file sbsv2/raptor/linux-i386/bin/sh has changed
Binary file sbsv2/raptor/linux-i386/bin/unzip has changed
Binary file sbsv2/raptor/linux-i386/bin/zip has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/notes/emulatorstacksize.txt	Wed Jul 14 14:50:01 2010 +0100
@@ -0,0 +1,5 @@
+Each thread or virtual "process" that is launched on the emulator gets a 1 MB 
+stack. 1MB is much too large and 512 KB is more than sufficient. This 
+reduction in stack size will help the emulator to fit into Windows virtual 
+address space and improve its performance.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/notes/tcom_allbefore.txt	Wed Jul 14 14:50:01 2010 +0100
@@ -0,0 +1,20 @@
+This change causes trace compilation to be performed for all source files in a 
+component before any of those files is compiled.
+
+This should reduce the impact of clashes where the tracecompiler ends up writing the same
+trace headers twice if two mmps in a component share source code.  The reduced impact is 
+that the clash can be detected before any dependent object files are built thus the
+rebuilding that normally happens after a clash detection is not necessary.
+
+There is another problem where some components have static libraries and dlls 
+that share common source files.  If tracing is enabled for the DLL these common 
+files try to include their trace headers.  When the source files are being built
+into the static library they also try to include trace headers which may not have 
+been generated yet because tracing is not enabled for static libraries at this time
+since they don't have UIDs or any unique id to associate any trace points with.
+
+This change cannot fix this problem just as it doesn't prevent clashes but it at
+least makes sure that all trace headers exist before anything could possibly try 
+to use them. This helps the build succeed while work is done to remove clashes and the static
+library tracing problem and it is no more incorrect than the current situation.
+
--- a/sbsv2/raptor/python/plugins/filter_terminal.py	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/python/plugins/filter_terminal.py	Wed Jul 14 14:50:01 2010 +0100
@@ -154,7 +154,8 @@
 				"error:",
 				": ***",
 				"make: interrupt/exception caught (code =",
-				"make.exe: interrupt/exception caught (code ="
+				"make.exe: interrupt/exception caught (code =",
+				"command returned code"
 				])
 		# list of strings to catch make warnings (must be lowercase)
 		self.make_warning_expr = ["warning:"]
--- a/sbsv2/raptor/python/raptor.py	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/python/raptor.py	Wed Jul 14 14:50:01 2010 +0100
@@ -799,8 +799,10 @@
 		self.args = args
 
 		# assuming self.CLI = "raptor_cli"
-		more_to_do = raptor_cli.GetArgs(self, args)
+		if not raptor_cli.GetArgs(self, args):
+			self.skipAll = True		# nothing else to do
 
+	def ParseCommandLineTargets(self):
 		# resolve inter-argument dependencies.
 		# --what or --check implies the WHAT target and FilterWhat Filter
 		if self.doWhat or self.doCheck:
@@ -840,8 +842,6 @@
 				"""
 				self.filterList += ",filtercopyfile"
 
-		if not more_to_do:
-			self.skipAll = True		# nothing else to do
 
 	def ProcessConfig(self):
 		# this function will perform additional processing of config
@@ -1353,9 +1353,21 @@
 		build.ConfigFile()
 		build.ProcessConfig()
 		build.CommandLine(argv)
+		build.ParseCommandLineTargets()
 
 		return build
+	
+	@classmethod
+	def CreateCommandlineAnalysis(cls, argv):
+		""" Perform an analysis run where a build is not performed. """
+		build = Raptor()
+		build.AssertBuildOK()
+		build.ConfigFile()
+		build.ProcessConfig()
+		build.CommandLine(argv)
+		# Don't parse command line targets - they don't make any sense if you're not doing a build
 
+		return build
 
 
 # Class for passing constricted parameters to filters
--- a/sbsv2/raptor/python/raptor_make.py	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/python/raptor_make.py	Wed Jul 14 14:50:01 2010 +0100
@@ -270,6 +270,14 @@
 				time="$(shell date +%s.%N)").rstrip("\n") + ")"
 
 
+		# Debugging on or off for make:
+		# We need it at the very top level so that it can be used
+		# to determine what extra info to put in recipe tags
+		try:
+			flmdebug_setting = os.environ["FLMDEBUG"]
+		except KeyError:
+			flmdebug_setting = ""
+
 		self.makefile_prologue = """
 
 # generated by %s %s
@@ -283,6 +291,7 @@
 DELETE_ON_FAILED_COMPILE:=%s 
 
 %s
+FLMDEBUG:=%s
 
 include %s
 
@@ -294,6 +303,7 @@
 			 self.shellpath,
 			 self.delete_on_failed_compile,
 			 talon_settings,
+			 flmdebug_setting,
 			 self.raptor.systemFLM.Append('globals.mk') )
 
 		# Unless dependency processing has been eschewed via the CLI, use a .DEFAULT target to
--- a/sbsv2/raptor/python/raptor_meta.py	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/python/raptor_meta.py	Wed Jul 14 14:50:01 2010 +0100
@@ -35,6 +35,7 @@
 from mmpparser import *
 
 import time
+import generic_path
 
 
 PiggyBackedBuildPlatforms = {'ARMV5':['GCCXML']}
@@ -768,9 +769,13 @@
 			biloc="." # Someone building with a relative raptor path
 
 		self.__StandardVariables = {}
-		# Relative step-down to the root - let's try ignoring this for now, as it
-		# should amount to the same thing in a world where absolute paths are king
-		self.__StandardVariables['TO_ROOT'] = ""
+		# The source root directory is SRCROOT if set in the environment
+		# Set TO_ROOT to SRCROOT in case SBS_BUILD_DIR is on a different drive
+		if 'SRCROOT' in os.environ:
+			self.__StandardVariables['TO_ROOT'] = str(generic_path.Path(os.environ['SRCROOT']))
+		else:
+			self.__StandardVariables['TO_ROOT'] = ""
+		
 		# Top-level bld.inf location
 		self.__StandardVariables['TO_BLDINF'] = biloc
 		self.__StandardVariables['EXTENSION_ROOT'] = eiloc
@@ -838,9 +843,12 @@
 			eiloc="." # Someone building with a relative raptor path
 
 		self.__StandardVariables = {}
-		# Relative step-down to the root - let's try ignoring this for now, as it
-		# should amount to the same thing in a world where absolute paths are king
-		self.__StandardVariables['TO_ROOT'] = ""
+		# The source root directory is SRCROOT if set in the environment	
+		# Set TO_ROOT to SRCROOT in case SBS_BUILD_DIR is on a different drive
+		if 'SRCROOT' in os.environ:
+			self.__StandardVariables['TO_ROOT'] = str(generic_path.Path(os.environ['SRCROOT']))
+		else:
+			self.__StandardVariables['TO_ROOT'] = ""
 		# Top-level bld.inf location
 		self.__StandardVariables['TO_BLDINF'] = biloc
 		# Location of bld.inf file containing the current EXTENSION block
@@ -1207,6 +1215,13 @@
 		'phonenetwork':0,
 		'localnetwork':0
 	  	}
+	
+	# Valid ARMFPU options
+	armfpu_options = [
+		'softvfp',
+		'vfpv2',
+		'softvfp+vfpv2'
+		]
 
 	library_re = re.compile(r"^(?P<name>[^{]+?)(?P<version>{(?P<major>[0-9]+)\.(?P<minor>[0-9]+)})?(\.(lib|dso))?$",re.I)
 
@@ -1491,9 +1506,9 @@
 
 				self.__versionhex = "%04x%04x" % (major, minor)
 				self.BuildVariant.AddOperation(raptor_data.Set(varname, "%d.%d" %(major, minor)))
-				self.BuildVariant.AddOperation(raptor_data.Set(varname+"HEX", self.__versionhex))
+				self.BuildVariant.AddOperation(raptor_data.Set("VERSIONHEX", self.__versionhex))
 				self.__debug("Set "+toks[0]+"  OPTION to " + toks[1])
-				self.__debug("Set "+toks[0]+"HEX OPTION to " + "%04x%04x" % (major,minor))
+				self.__debug("Set VERSIONHEX OPTION to " + self.__versionhex)
 
 			else:
 				self.__Raptor.Warn("Invalid version supplied to VERSION (%s), using default value" % toks[1])
@@ -1555,6 +1570,12 @@
 				self.BuildVariant.AddOperation(raptor_data.Set(varname,toks1))
 		elif varname=='APPLY':
 			self.ApplyVariants.append(toks[1])
+		elif varname=='ARMFPU':
+			if not str(toks[1]).lower() in self.armfpu_options:
+				self.__Raptor.Error("ARMFPU option '"+str(toks[1])+"' not recognised - should be one of "+", ".join(self.armfpu_options))
+			else:
+				self.__debug("Set "+toks[0]+" to " + str(toks[1]))
+				self.BuildVariant.AddOperation(raptor_data.Set(varname,str(toks[1])))
 		else:
 			self.__debug("Set "+toks[0]+" to " + str(toks[1]))
 			self.BuildVariant.AddOperation(raptor_data.Set(varname,"".join(toks[1])))
@@ -2278,6 +2299,26 @@
 		self.BuildVariant.AddOperation(raptor_data.Set("SOURCE",
 						   " ".join(self.sources)))
 
+	def validate(self):
+		"""Test that the parsed MMP file is correct.
+		
+		By "correct" we mean that all the required keywords were present
+		with acceptable and mutually consistent values.
+		
+		There should be no attempt to build anything if this method returns False."""
+		
+		# do all the checks so that we can see all the errors at once...
+		valid = True
+		
+		# for "TARGETTYPE none", it is permitted to omit the "TARGET" keyword
+		if not self.__TARGET and not self.getTargetType() == "none":
+			self.__Raptor.Error("required keyword TARGET is missing in " + self.__currentMmpFile, bldinf=self.__bldInfFilename)
+			valid = False
+		
+		# what else could be wrong?
+			
+		return valid
+	
 	def getTargetType(self):
 		"""Target type in lower case - the standard format"""
 		return self.__targettype.lower()
@@ -2855,7 +2896,8 @@
 			destDir = destination.Dir()
 			if not destDir.isDir():
 				os.makedirs(str(destDir))
-				shutil.copyfile(source_str, dest_str)
+				# preserve permissions
+				shutil.copy(source_str, dest_str)
 				return exportwhatlog
 
 			sourceMTime = 0
@@ -2874,12 +2916,14 @@
 						self.__Raptor.Error(message, bldinf=bldInfFile)
 
 			if destMTime == 0 or destMTime < sourceMTime:
+				# remove old version
+				#	- not having ownership prevents chmod
+				#	- avoid clobbering the original if it is a hard link
 				if os.path.exists(dest_str):
-					os.chmod(dest_str,stat.S_IREAD | stat.S_IWRITE)
-				shutil.copyfile(source_str, dest_str)
-
-				# Ensure that the destination file remains executable if the source was also:
-				os.chmod(dest_str,sourceStat[stat.ST_MODE] | stat.S_IREAD | stat.S_IWRITE | stat.S_IWGRP ) 
+					os.unlink(dest_str)
+				# preserve permissions
+				shutil.copy(source_str, dest_str)
+
 				self.__Raptor.Info("Copied %s to %s", source_str, dest_str)
 			else:
 				self.__Raptor.Info("Up-to-date: %s", dest_str)
@@ -2923,7 +2967,9 @@
 				os.makedirs(str(markerfiledir))
 
 			# Form the marker file name and convert to Python string
-			markerfilename = str(generic_path.Join(markerfiledir, sanitisedSource + sanitisedDestination + ".unzipped"))
+			combinedPath = sanitisedSource + sanitisedDestination
+			sanitisedPath = self.unzippedPathFragment(combinedPath)
+			markerfilename = str(generic_path.Join(markerfiledir, sanitisedPath + ".unzipped"))
 
 			# Don't unzip if the marker file is already there or more uptodate
 			sourceMTime = 0
@@ -3082,7 +3128,6 @@
 				value = options[option].replace('$(EPOCROOT)', '$(EPOCROOT)/')
 				value = value.replace('$(', '$$$$(')
 				value = value.replace('$/', '/').replace('$;', ':')
-				value = value.replace('$/', '/').replace('$;', ':')
 
 				if customInterface:
 					var.AddOperation(raptor_data.Set(option, value))
@@ -3163,6 +3208,11 @@
 			else:
 				backend.finalise(buildPlatform)
 
+			# if the parsed MMP file is fundamentally broken then report
+			# the errors and stop processing this MMP node
+			if not backend.validate():
+				continue
+			
 			# feature variation only processes FEATUREVARIANT binaries
 			if buildPlatform["ISFEATUREVARIANT"] and not backend.featureVariant:
 				continue
@@ -3351,4 +3401,10 @@
 			aBuildUnit.variants.append(self.__Raptor.cache.variants[osVersion])
 		else:
 			self.__Raptor.Info("no OS variant for the configuration \"%s\"." % aBuildUnit.name)
-
+			
+	@classmethod		
+	def unzippedPathFragment(self, sanitisedPath):
+		fragment = hashlib.md5(sanitisedPath).hexdigest()[:16]
+		return fragment
+
+
--- a/sbsv2/raptor/python/raptor_utilities.py	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/python/raptor_utilities.py	Wed Jul 14 14:50:01 2010 +0100
@@ -207,7 +207,8 @@
 		destDir = destination.Dir()
 		if not destDir.isDir():
 			os.makedirs(str(destDir))
-			shutil.copyfile(source_str, dest_str)
+			# preserve permissions
+			shutil.copy(source_str, dest_str)
 			return 
 		# Destination file exists so we have to think about updating it
 		sourceMTime = 0
@@ -225,13 +226,13 @@
 			pass # destination doesn't have to exist
 
 		if destMTime == 0 or destMTime < sourceMTime:
+			# remove old version
+			#	- not having ownership prevents chmod
+			#	- avoid clobbering the original if it is a hard link
 			if os.path.exists(dest_str):
-				os.chmod(dest_str,stat.S_IREAD | stat.S_IWRITE)
-			shutil.copyfile(source_str, dest_str)
-
-			# Ensure that the destination file remains executable if the source was also:
-			os.chmod(dest_str,sourceStat[stat.ST_MODE] | stat.S_IREAD | stat.S_IWRITE | stat.S_IWGRP ) 
-
+				os.unlink(dest_str)
+			# preserve permissions
+			shutil.copy(source_str, dest_str)
 
 	except Exception,e:
 		message = "Could not update " + dest_str + " from " + source_str + " : " + str(e)
--- a/sbsv2/raptor/python/raptor_version.py	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/python/raptor_version.py	Wed Jul 14 14:50:01 2010 +0100
@@ -16,7 +16,7 @@
 
 # replace CHANGESET with the Hg changeset for ANY release
 
-version=(2,14,0,"2010-05-19","symbian build system","CHANGESET")
+version=(2,14,2,"2010-07-13","symbian build system","CHANGESET")
 
 def numericversion():
 	"""Raptor version string"""
--- a/sbsv2/raptor/python/raptor_xml.py	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/python/raptor_xml.py	Wed Jul 14 14:50:01 2010 +0100
@@ -317,8 +317,8 @@
 		return component
 
 	def __GetEffectiveLayer(self, aElement):
-		#' return the ID of the topmost item which has an ID. For 1.x and 2.x, this will always be layer, for 3.x, it will be the topmost ID'd element in the file
-		# never call this on the root element
+		# return the ID of the topmost item which has an ID. For 1.x and 2.x, this will always be layer,
+		# for 3.x, it will be the topmost ID'd element in the file never call this on the root element
 		if aElement.parentNode.hasAttribute(self.__IdAttribute):
 			return self.__GetEffectiveLayer(aElement.parentNode)
 		elif aElement.hasAttribute(self.__IdAttribute):
@@ -336,15 +336,24 @@
 				aContainers[parent.tagName] = name
 
 			self.__GetElementContainers(parent, aContainers)
+	
+	def __ProcessSystemModelMetaElement(self, aElement):
+		# stub method - may deal with metadata elements at some point in the future
+		return	
 
 	def __ProcessSystemModelElement(self, aElement):
 		"""Search for XML <unit/> elements with 'bldFile' attributes and resolve concrete bld.inf locations
 		with an appreciation of different schema versions."""
 
+		# Metadata elements are processed separately - there are no further child nodes
+		# to process in this context
+		if aElement.tagName == "meta" :
+			return self.__ProcessSystemModelMetaElement(aElement)
+
 		# The effective "layer" is the item whose parent does not have an id (or name in 2.x and earlier)
 		if not aElement.parentNode.hasAttribute(self.__IdAttribute) :
 			currentLayer = aElement.getAttribute(self.__IdAttribute)
-
+			
 			if not self.__LayerDetails.has_key(currentLayer):
 				self.__LayerDetails[currentLayer] = []
 
@@ -380,8 +389,8 @@
 					if not group.isAbsolute() and bldInfRoot:
 						group = generic_path.Join(bldInfRoot, group)
 				else:
-					# only absolute paths are changed by root var in 3.x
-					if group.isAbsolute() and bldInfRoot:
+					# all paths are changed by root var in 3.x
+					if bldInfRoot:
 						group = generic_path.Join(bldInfRoot, group)
 
 				bldinf = generic_path.Join(group, "bld.inf").FindCaseless()
@@ -389,7 +398,7 @@
 				if bldinf == None:
 					# recording layers containing non existent bld.infs
 					bldinfname = group.GetLocalString()
-					bldinfname = bldinfname + 'bld.inf'
+					bldinfname = bldinfname+'/'+'bld.inf'
 					layer = self.__GetEffectiveLayer(aElement)
 					if not layer in self.__MissingBldInfs:
 						self.__MissingBldInfs[layer]=[]
--- a/sbsv2/raptor/python/sbs_dist.py	Wed Jul 14 16:22:24 2010 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +0,0 @@
-#
-# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of the License "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-# raptor linux distribution creation module
-# This module allow to crate raptor linux distribution archive (tar.gz) e.g. sbs_linux_dist.tar.gz
-# Script extect the following command-line parameters:
-# 1. Archive name
-# 2. List of files/directories to include
-# By default windows specific and source files are excluded.
-# example including bin and python subdir:
-# sbs_dist.py sbs_linux_dist.tar.gz bin python
-#
-
-import os
-import re
-import tarfile
-import sys
-import dos2unix
-
-#------------------------------------------------------------------------------
-# Create tar.gz archive including given files (fileName list and tarinfo list)
-#------------------------------------------------------------------------------
-def createTarGZ(tarName, fileList):
-    tar = tarfile.open(tarName, "w|gz")
-    for name in fileList:
-        tar.add(name)
-    return tar
-
-#------------------------------------------------------------------------------
-# Lists files in each of given directories
-#------------------------------------------------------------------------------
-def listFilesInDirs(paths):
-    fileList = []
-    for path in paths:
-        fileList.extend(listFiles(path))
-    return fileList
-
-#------------------------------------------------------------------------------
-# Lists files in given directory
-#------------------------------------------------------------------------------
-def listFiles(path):
-    fileList = []
-    for root, dirs, files in os.walk(path):
-        for index in range(len(files)):
-            fileList.append(root + "/" + files[index])
-    return fileList
-
-#------------------------------------------------------------------------------
-# Excludes files matching "pattern" from given files list
-#------------------------------------------------------------------------------
-def excludeFiles(fileList, pattern):
-    filteredFileList = []
-    regExp = re.compile(pattern)
-    for fileName in fileList:
-        if not(regExp.match(fileName)):
-           filteredFileList.append(fileName)
-    return filteredFileList
-
-
-#------------------------------------------------------------------------------
-# Groups given paths as files or directories
-#------------------------------------------------------------------------------
-def groupFilesAndDirs(filesAndDirs):
-    files = []
-    dirs = []
-    for name in filesAndDirs:
-        if os.path.isdir(name):
-             dirs.append(name)
-        else:
-             if os.path.isfile(name):
-                files.append(name)
-             else:
-                  print "Warning: Neither a file nor a directory! Ignoring parameter - " + name
-    return (files,dirs)
-
-#------------------------------------------------------------------------------
-# Prepares regular expression to exclude unnecessary files
-#------------------------------------------------------------------------------
-def prepareExcludedFilesRegExp():
-    pathPrefixRegExp = ".*[\\\/]"
-    filesRegExp = "((sbs)|(.*\.bat)|(.*\.pyc)|(.*\.cmd)|(.*\.exe)|(.*\.dll)|(sbs_dist.py)"
-    filesRegExp = filesRegExp + "|(dos2unix.py)|(raptor_py2exe_setup.py)|(make)|(bash)|(bashbug))+"
-    return "^" + pathPrefixRegExp + filesRegExp + "$"
-
-#------------------------------------------------------------------------------
-# Includes all files in fileList in given tar with altered executable permision (+X) for all
-#------------------------------------------------------------------------------
-def includeAsExecutable(tar, fileList):
-    for f in fileList:
-        tarinfo = tar.gettarinfo(f)
-        # OR with 73 (001 001 001) - +X for all
-        tarinfo.mode = tarinfo.mode | 73
-        tar.addfile(tarinfo,file(f, "rb"))
-
-
-#------------------------------------------------------------------------------
-# Validate script parameters
-#------------------------------------------------------------------------------
-def validateParameters(tarFileName, filesToInclude):
-    if not(len(tarFileName) > 0):
-       print "Error: No archive name given."
-       sys.exit()
-    if not(len(filesToInclude) > 0):
-       print "Error: No files/directories names to include in archive given."
-       sys.exit()
-
-
-tarFileName = sys.argv[1]
-# files and directories
-filesAndDirsToInclude = sys.argv[2:]
-
-validateParameters(tarFileName, filesAndDirsToInclude)
-
-(filesToInclude,dirsToInclude) = groupFilesAndDirs(filesAndDirsToInclude)
-
-fileList = listFilesInDirs(dirsToInclude)
-fileList.extend(filesToInclude)
-
-filteredFileList = excludeFiles(fileList, prepareExcludedFilesRegExp())
-
-dos2unix.dos2unix("bin/sbs")
-
-tar = createTarGZ(tarFileName, filteredFileList)
-fileToBeExecutableList = ["bin/sbs", "linux-i386/bin/make", "linux-i386/bin/bash", "linux-i386/bin/bashbug",
-			  "bin/sbs_descramble"]
-includeAsExecutable(tar, fileToBeExecutableList)
-tar.close()
-
--- a/sbsv2/raptor/test/common/run_tests.py	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/common/run_tests.py	Wed Jul 14 14:50:01 2010 +0100
@@ -44,7 +44,7 @@
 parser.add_option("-d", "--debug", action = "store_true", dest = "debug_mode",
 		default = False, help = "Turns on debug-mode")
 parser.add_option("--test-home", action = "store", type = "string",
-		dest = "test_home",
+		dest = "test_home", default="default",
 		help = "Location of custom .sbs_init.xml (name of directory in " +
 		"'custom_options'): test/custom_options/<test_home>/.sbs_init.xml")
 parser.add_option("--what-failed", action = "store_true", dest = "what_failed",
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/custom_options/default/.sbs_init.xml	Wed Jul 14 14:50:01 2010 +0100
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<build xmlns="http://symbian.com/xml/build"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+
+ <!-- defaults for Raptor -->
+
+ <var name="defaults.init">
+   <!-- use all the default options -->
+ </var>
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/custom_options/dfsconfig/.sbs_init.xml	Wed Jul 14 14:50:01 2010 +0100
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<build xmlns="http://symbian.com/xml/build"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+
+	<var name="make_changes">
+	<set name="bitmap.selector.iface" value="\.(bitmap|extension|mifconv|akniconinterfaces|removegtfiles|skingenerator|cryptoprep|builder|help_files|version_update)$"/>
+		<set name="resource.selector.iface" value="\.(resource|extension|mif2cdlindex|nativejava|genericcopy)$"/>
+   <set name="default.selector.iface" value="\.(?!export$|bitmap$|resource$|mifconv$|mif2cdlindex$|nativejava$|akniconinterfaces$|removegtfiles$|genericcopy$|skingenerator$|cryptoprep$|builder$|help_files$|version_update$).*$"/>
+    <!-- 4.5 min -->
+	  <set name='TALON_TIMEOUT' value='540000'/> 
+  </var>
+
+	<!-- emake -->
+	<alias name="emake" meaning="emake_engine.make_changes"/>  
+
+	<!-- gnu make -->
+	<alias name="make" meaning="make_engine.make_changes"/>
+	<alias name="dfstestmake" meaning="make_engine.make_changes"/>
+
+	
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/custom_options/emake/.sbs_init.xml	Wed Jul 14 14:50:01 2010 +0100
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<build xmlns="http://symbian.com/xml/build"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+
+ <!-- defaults for Raptor -->
+
+ <var name="defaults.init">
+   <!-- Make command parameter file -->
+   <set name="makeEngine" value="emake"/>
+ </var>
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/custom_options/rvct31/.sbs_init.xml	Wed Jul 14 14:50:01 2010 +0100
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<build xmlns="http://symbian.com/xml/build"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+
+	<!-- make RVCT3.1 the default compiler for ARMV5 -->
+
+	<alias name="armv5_urel" meaning="arm.v5.urel.rvct3_1"/>
+	<alias name="armv5_udeb" meaning="arm.v5.udeb.rvct3_1"/>
+	
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/custom_options/rvct40/.sbs_init.xml	Wed Jul 14 14:50:01 2010 +0100
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<build xmlns="http://symbian.com/xml/build"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+
+	<!-- make RVCT4.0 the default compiler for ARMV5 and ARMV7 -->
+
+	<alias name="armv5_urel" meaning="arm.v5.urel.rvct4_0"/>
+	<alias name="armv5_udeb" meaning="arm.v5.udeb.rvct4_0"/>
+
+	<alias name="armv7_urel" meaning="arm.v7.urel.rvct4_0"/>
+	<alias name="armv7_udeb" meaning="arm.v7.udeb.rvct4_0"/>
+	
+</build>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/custom_options/talon/.sbs_init.xml	Wed Jul 14 14:50:01 2010 +0100
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<build xmlns="http://symbian.com/xml/build"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+
+ <var name="defaults.init">
+   <!-- Make command parameter file -->
+   <set name="makeEngine" value="make_talon"/>
+ </var>
+</build>
--- a/sbsv2/raptor/test/metadata/system/system_definition_3.0.0.xml	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/metadata/system/system_definition_3.0.0.xml	Wed Jul 14 14:50:01 2010 +0100
@@ -1,13 +1,29 @@
-<SystemDefinition name="MCL" schema="3.0.0" >  
-	<systemModel>
-	    <layer name="test">
-			<component name="Test Component 1">          
-				<unit unitID="TCOMP1" name="test_component_1" bldFile="simple" mrp="simple\simple.mrp"/>
-			</component>
-			<component name="Test Component 2">
-				<unit unitID="TCOMP2" name="test_component_2" bldFile="basics\helloworld" mrp="basics\helloworld.mrp"/>
-			</component>
-		</layer>
-	</systemModel>
-</SystemDefinition>
-
+<?xml version="1.0" encoding="UTF-8" ?> 
+	<SystemDefinition schema="3.0.0">
+	    <layer id = "testlayer" name="Test Layer">
+			<package id="testpackage" name="Test Package" levels="test">
+				<collection id="testcollection" name="Test Collection" level="test">
+					<component id="testcomponent1" name="Test Component 1" introduced="symbian^3" purpose="optional">
+						<meta rel="Api" type="auto">
+							<api dataversion="1.0" id="11111111111111111111111111111111">
+								<name>testcomponentapi1</name>
+			  					<description>Test Component 1 API description.</description>
+			  					<type>c++</type>
+							</api>
+						</meta>
+						<unit bldFile="../../smoke_suite/test_resources/simple" /> 
+					</component>
+					<component id="testcomponent2" name="Test Component 2" introduced="symbian^3" purpose="optional">
+						<meta rel="Api" type="auto">
+							<api dataversion="1.0" id="22222222222222222222222222222222">
+								<name>testcomponentapi2</name>
+			  					<description>Test Component 2 API description.</description>
+			  					<type>c++</type>
+							</api>
+						</meta>
+						<unit bldFile="../../smoke_suite/test_resources/basics/helloworld" /> 
+					</component>
+	  			</collection>
+	  		</package>
+	  	</layer>
+	</SystemDefinition>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/missing_keywords.py	Wed Jul 14 14:50:01 2010 +0100
@@ -0,0 +1,32 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+	t = SmokeTest()
+	t.name = "missing_keywords"
+
+	t.command = "sbs -b smoke_suite/test_resources/invalid_metadata/bld.inf -c armv5"
+
+	t.mustmatch_singleline = [
+		"sbs: error: required keyword TARGET is missing"
+		]
+
+	t.errors = 1
+	t.returncode = 1
+	t.run()
+	return t
--- a/sbsv2/raptor/test/smoke_suite/mmp_keywords.py	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/mmp_keywords.py	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009 - 2010 Nokia Corporation and/or its subsidiary(-ies).
 # All rights reserved.
 # This component and the accompanying materials are made available
 # under the terms of the License "Eclipse Public License v1.0"
@@ -226,7 +226,7 @@
 	t.command = "sbs -b $(SBS_HOME)/test/smoke_suite/test_resources/mmp/mmp9_10/bld.inf -p armfpu_soft.mmp -c armv5_urel -f-"			
 	t.targets = []
 	t.mustmatch = ["--fpu softvfp", "--fpu=softvfp"]
-	t.mustnotmatch = ["--fpu vfpv2", "--fpu=vfpv2"]
+	t.mustnotmatch = ["--fpu vfpv2", "--fpu softvfp\+", "--fpu=vfpv2", "--fpu=softvfp\+"]
 	t.warnings = 0
 	t.run()
 		
@@ -239,16 +239,25 @@
 	t.mustnotmatch = ["--fpu softvfp", "--fpu=softvfp"]	
 	t.run()
 	
+	t.id = "75ja"
+	t.name = "mmp_9c"
+	t.command = "sbs -b $(SBS_HOME)/test/smoke_suite/test_resources/mmp/mmp9_10/bld.inf -c armv5_urel REALLYCLEAN &&" \
+			+ " sbs -b $(SBS_HOME)/test/smoke_suite/test_resources/mmp/mmp9_10/bld.inf -p \"armfpu_soft+vfpv2.mmp\" -c armv5_urel -f-"
+
+	t.mustmatch = ["--fpu softvfp\+vfpv2", "--fpu=vfpv2"]
+	t.mustnotmatch = ["--fpu vfpv2", "--fpu softvfp ", "--fpu=softvfp"]
+	t.run()
+
 	t.id = "75k"
 	t.name = "mmp_10"
 	t.command = "sbs -b $(SBS_HOME)/test/smoke_suite/test_resources/mmp/mmp9_10/bld.inf  -c armv5_urel_gcce4_3_2 REALLYCLEAN &&" \
 			+ " sbs -b $(SBS_HOME)/test/smoke_suite/test_resources/mmp/mmp9_10/bld.inf -c armv5_urel_gcce4_3_2 -f-"
 	t.countmatch = [
-		["-mfloat-abi=soft", 2],
-		["--fpu=softvfp", 2]
+		["-mfloat-abi=soft", 3],
+		["--fpu=softvfp", 3] # gcce doesn't vary according to ARMFPU currently
 	]
 	t.mustmatch = []
-	t.mustnotmatch = ["--fpu=vfpv2"]
+	t.mustnotmatch = ["--fpu=vfpv2", "--fpu=softvfp\+"]
 	t.run()
 	
 	# Test keywords: compresstarget, nocompresstarget, bytepaircompresstarget, inflatecompresstarget
@@ -291,7 +300,7 @@
 	# Test keyword: EPOCNESTEDEXCEPTIONS
 	t.id = "75n"
 	t.name = "epocnestedexceptions"
-	t.command = "sbs -b smoke_suite/test_resources/mmp/epocnestedexceptions/bld.inf -c armv5 -f-"
+	t.command = "sbs -b smoke_suite/test_resources/mmp/epocnestedexceptions/bld.inf -c armv5_udeb -f-"
 
 	# When EPOCNESTEDEXCEPTIONS is specified in the MMP file, a different static
 	# run-time library should be used.
@@ -302,7 +311,7 @@
 
 	# The new static run-time libraries don't yet exist.
 	t.errors = 1
-	t.warnings = 2
+	t.warnings = 1
 	t.targets = []
 
 	t.run()
--- a/sbsv2/raptor/test/smoke_suite/qt_helloworld.py	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/qt_helloworld.py	Wed Jul 14 14:50:01 2010 +0100
@@ -15,6 +15,7 @@
 # This test case requires install of Qt. 
 
 from raptor_tests import SmokeTest
+import os
 
 def run():
 	t = SmokeTest()
@@ -23,7 +24,10 @@
 
 	t.id = "0110"
 	t.name = "qt_helloworld"
-	t.command = "cd smoke_suite/test_resources/qt && qmake -spec symbian-sbsv2 && sbs"
+	# Internal QT deliveries use a QMAKE launcher that expects EPOCROOT to end in a slash
+	# We ensure it does (doesn't matter if there are multiple slashes)
+	t.environ["EPOCROOT"] = os.environ["EPOCROOT"] + os.sep
+	t.command = "cd smoke_suite/test_resources/qt && $(EPOCROOT)/epoc32/tools/qmake -spec symbian-sbsv2 && sbs"
 	t.targets = [
 			"$(SBS_HOME)/test/smoke_suite/test_resources/qt/bld.inf",
 			"$(SBS_HOME)/test/smoke_suite/test_resources/qt/helloworldqt.loc",
--- a/sbsv2/raptor/test/smoke_suite/resource.py	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/resource.py	Wed Jul 14 14:50:01 2010 +0100
@@ -62,22 +62,37 @@
 	buildLocation = ReplaceEnvs("$(EPOCROOT)/epoc32/build/") + BldInfFile.outputPathFragment('smoke_suite/test_resources/resource/group/bld.inf')
 	res_depfile= buildLocation+"/dependentresource_/dependentresource_dependentresource_sc.rpp.d"
 
+
 	t.targets = [
-		"$(EPOCROOT)/epoc32/include/testresource.rsg",
-		"$(EPOCROOT)/epoc32/include/testresource.hrh",
+		"$(EPOCROOT)/epoc32/data/z/resource/anotherresource/testresource.r01",
+		"$(EPOCROOT)/epoc32/data/z/resource/anotherresource/testresource.rsc",
+		"$(EPOCROOT)/epoc32/data/z/resource/dependentresource/dependentresource.rsc",
 		"$(EPOCROOT)/epoc32/data/z/resource/testresource/testresource.r01",
 		"$(EPOCROOT)/epoc32/data/z/resource/testresource/testresource.rsc",
+		"$(EPOCROOT)/epoc32/include/testresource.hrh",
+		"$(EPOCROOT)/epoc32/include/testresource.rsg",
+		"$(EPOCROOT)/epoc32/include/onelang.rsg",
 		"$(EPOCROOT)/epoc32/release/armv5/urel/testresource.exe",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/anotherresource/testresource.r01",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/anotherresource/testresource.rsc",
+		"$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/dependentresource/dependentresource.rsc",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/anotherresource/testresource.r01",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/anotherresource/testresource.rsc",
+		"$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/dependentresource/dependentresource.rsc",
 		res_depfile
 		]
 
-	t.addbuildtargets('smoke_suite/test_resources/resource/group/bld.inf', [	
-		"testresource_/testresource_testresource_02.rpp",
+	t.addbuildtargets('smoke_suite/test_resources/resource/group/bld.inf', [
+		"dependentresource_/dependentresource_dependentresource.rsc",
+		"testresource_/testresource_dependentresource.r01",
+		"testresource_/testresource_dependentresource.rsc",
 		"testresource_/testresource_testresource_01.rpp",
 		"testresource_/testresource_testresource_01.rpp.d",
+		"testresource_/testresource_testresource_02.rpp",
+                "onelang_/onelang_onelang_sc.rpp",
 		"testresource_/testresource_testresource_sc.rpp"])
 
-	t.command = "sbs -b smoke_suite/test_resources/resource/group/bld.inf  -c armv5_urel reallyclean ; sbs --no-depend-generate -j 16 -b smoke_suite/test_resources/resource/group/bld.inf -c armv5_urel -f ${SBSLOGFILE} -m ${SBSMAKEFILE} && grep 'epoc32.include.testresource.rsg' %s && wc -l %s " % (res_depfile, res_depfile)
+	t.command = "sbs -b smoke_suite/test_resources/resource/group/bld.inf  -c armv5_urel -c winscw_urel reallyclean ; sbs --no-depend-generate -j 16 -b smoke_suite/test_resources/resource/group/bld.inf -c armv5_urel -c  winscw_urel -f ${SBSLOGFILE} -m ${SBSMAKEFILE} && grep 'epoc32.include.testresource.rsg' %s && { X=`md5sum $(EPOCROOT)/epoc32/release/winscw/urel/z/resource/anotherresource/testresource.rsc` && Y=`md5sum $(EPOCROOT)/epoc32/data/z/resource/testresource/testresource.rsc` && [ \"${X%% *}\" != \"${Y%% *}\" ] ; }  && wc -l %s " % (res_depfile, res_depfile)
 
 	t.mustnotmatch = []
 
@@ -86,6 +101,41 @@
 		      ]
 
 	t.run()
+	
+	t.id="30b"
+	t.name =  "resource_corner_cases_reallyclean"
+	t.usebash = True
+	t.description =  """ Additional corner cases for resources:
+						 1) Use of "TARGETTYPE none" but not "TARGET" mmp keyword.
+						 2) Use of a resource with no LANG. """
+
+	t.targets = []
+
+	t.command = "sbs -b smoke_suite/test_resources/resource/group/bld2.inf -c armv5_urel -c winscw_urel reallyclean"
+	t.mustnotmatch = []
+	t.mustmatch = []
+	t.run()
+	
+	t.id="30c"
+	t.name =  "resource_corner_cases"
+	t.usebash = True
+	t.description =  """ Additional corner cases for resources:
+						 1) Use of "TARGETTYPE none" but not "TARGET" mmp keyword.
+						 2) Use of a resource with no LANG. """
+	
+	buildLocation = ReplaceEnvs("$(EPOCROOT)/epoc32/build/") + BldInfFile.outputPathFragment('smoke_suite/test_resources/resource/group/bld2.inf')
+	rsc_file= buildLocation+"/testresource_/testresource_testresource.rsc"
+	
+
+	t.targets = ["$(EPOCROOT)/epoc32/data/z/resource/apps/notargetkeyword.mbm",
+				 "$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/notargetkeyword.mbm",
+				 "$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/notargetkeyword.mbm",
+				 rsc_file ]
+
+	t.command = "sbs -b smoke_suite/test_resources/resource/group/bld2.inf -c armv5_urel -c winscw_urel"
+	t.mustnotmatch = []
+	t.mustmatch = []
+	t.run()
 
 	t.name = 'resource'
 	t.print_result()
--- a/sbsv2/raptor/test/smoke_suite/stringtable_zip_whatlog.py	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/stringtable_zip_whatlog.py	Wed Jul 14 14:50:01 2010 +0100
@@ -18,12 +18,14 @@
 # will be exported in response to the first configuration processed (this
 # example ensures it's armv5_udeb, so we can match against that config).
 from raptor_tests import CheckWhatSmokeTest, ReplaceEnvs
+from raptor_meta import MetaReader
+from raptor_utilities import sanitise
 import re
 import os
 
 def run():
-	markerfile = re.sub("(\\\\|\/|:|;| )", "_",
-			ReplaceEnvs("$(SBS_HOME)_test_smoke_suite_test_resources_simple_zip_export_archive.zip$(EPOCROOT)_epoc32_testunzip.unzipped"))
+	premarkerfile = sanitise(ReplaceEnvs("$(SBS_HOME)_test_smoke_suite_test_resources_simple_zip_export_archive.zip$(EPOCROOT)_epoc32_testunzip"))
+	markerfile = MetaReader.unzippedPathFragment(premarkerfile) + ".unzipped"
 	
 	t = CheckWhatSmokeTest()
 	t.id = "0069a"
--- a/sbsv2/raptor/test/smoke_suite/test_resources/asmtest/asmtest.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/asmtest/asmtest.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -20,7 +20,7 @@
 UID			0x100039ce 0x00000001
 LIBRARY			euser.lib
 SECUREID		0x10003a5c
-SYSTEMINCLUDE		/epoc32/include
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
 SOURCE			testasm.s testcia.cia testassembler.cpp
 EPOCSTACKSIZE 8192
 EPOCHEAPSIZE 0x5000 65535
--- a/sbsv2/raptor/test/smoke_suite/test_resources/bv/invariant/CreateStaticDLL_invariant.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/invariant/CreateStaticDLL_invariant.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -30,8 +30,7 @@
 SOURCE        CreateStaticDLL_invariant.cpp
 
 USERINCLUDE   .
-SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/techview
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
 
 LIBRARY       euser.lib
 
--- a/sbsv2/raptor/test/smoke_suite/test_resources/bv/variant1/CreateStaticDLL_variant1.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/variant1/CreateStaticDLL_variant1.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -30,8 +30,7 @@
 SOURCE        CreateStaticDLL_variant1.cpp
 
 USERINCLUDE   .
-SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/techview
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
 
 LIBRARY       euser.lib
 // static libs are always feature invariant
--- a/sbsv2/raptor/test/smoke_suite/test_resources/bv/variant2/CreateStaticDLL_variant2.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/variant2/CreateStaticDLL_variant2.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -30,8 +30,7 @@
 SOURCE        CreateStaticDLL_variant2.cpp
 
 USERINCLUDE   .
-SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/techview
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
 
 LIBRARY       euser.lib
 
--- a/sbsv2/raptor/test/smoke_suite/test_resources/bv/variant3/CreateEXE_variant3.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/variant3/CreateEXE_variant3.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -29,8 +29,7 @@
 SOURCE        CreateEXE_variant3.cpp
 
 USERINCLUDE   .
-SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/techview
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
 
 LIBRARY       euser.lib
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/configpathtest/home/.sbs_init.xml	Wed Jul 14 14:50:01 2010 +0100
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<build xmlns="http://symbian.com/xml/build"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+
+ <!-- defaults for Raptor -->
+
+  <var name="defaults.init">
+	<env name='EPOCROOT' default='' type='path'/>
+
+	<set name="systemConfig" value="lib/config;$(EPOCROOT)/epoc32/sbs_config" host="win.*"/>
+	<set name="systemConfig" value="lib/config:$(EPOCROOT)/epoc32/sbs_config" host="lin.*" />
+  </var>
+</build>
--- a/sbsv2/raptor/test/smoke_suite/test_resources/defs/group/deftest.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/defs/group/deftest.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -18,7 +18,8 @@
 target		deftest
 targettype		dll
 
-source	test.cpp 
+source	test.cpp
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
 unpaged
 macro __TESTNAME__="deftest"
 
--- a/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/dependencies.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/dependencies.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -25,7 +25,7 @@
 SOURCE			dependency.cpp
 
 #ifndef TOOLS2
-SYSTEMINCLUDE	/epoc32/include/techview
+APP_LAYER_SYSTEMINCLUDE
 
 START RESOURCE	main.rss
 HEADER
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/invalid_metadata/bld.inf	Wed Jul 14 14:50:01 2010 +0100
@@ -0,0 +1,19 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_MMPFILES
+missing_keywords.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/invalid_metadata/missing_keywords.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -0,0 +1,19 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+// TARGET - there is no target keyword
+
--- a/sbsv2/raptor/test/smoke_suite/test_resources/long/paths/deftest.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/long/paths/deftest.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -67,7 +67,10 @@
 source	test46.cpp 
 source	test47.cpp 
 source	test48.cpp 
-source	test49.cpp 
+source	test49.cpp
+
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
+
 unpaged
 macro __TESTNAME__="deftest"
 
--- a/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp1/group/shutdownsrv.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp1/group/shutdownsrv.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 1997-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -32,10 +32,9 @@
 userinclude		.
 userinclude		../inc
 
-systeminclude		/epoc32/include
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
 
-#if defined(SYMBIAN_SSM_GRACEFUL_SHUTDOWN)
-systeminclude		/epoc32/include/ssm
+#if defined (SYMBIAN_SSM_GRACEFUL_SHUTDOWN)
 #endif
 
 source			shutdownsrv.cpp shutdowntimer.cpp shutdownsrvpatchdata.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp1/inc/ssmgracefulshutdown_patch.h	Wed Jul 14 14:50:01 2010 +0100
@@ -0,0 +1,20 @@
+// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#ifndef __SSMGRACEFULSHUTDOWN_PATCH_H__
+#define __SSMGRACEFULSHUTDOWN_PATCH_H__
+#include <ssm/ssmpatchableconstants.h>
+
+#endif  // __SSMGRACEFULSHUTDOWN_PATCH_H__
--- a/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp2/group/ImageProcessorPerf.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp2/group/ImageProcessorPerf.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -29,7 +29,7 @@
 
 USERINCLUDE	../inc
 USERINCLUDE	../src
-SYSTEMINCLUDE	/epoc32/include
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
 SYSTEMINCLUDE	/epoc32/include/ecom
 
 ALWAYS_BUILD_AS_ARM
--- a/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp3/dfpaeabi_common.mmh	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp3/dfpaeabi_common.mmh	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -21,6 +21,7 @@
 SOURCEPATH		.
 SOURCE			dfpaeabi.cpp
 
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
 SYSTEMINCLUDE		../../include
 
 START ARMCC
--- a/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp3/t_oom.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp3/t_oom.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -21,7 +21,7 @@
 SOURCEPATH	.
 source 		t_oom.cpp
 
-systeminclude  	/epoc32/include 
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
  
 library 	euser.lib efsrv.lib 
 debuglibrary 	estor.lib
--- a/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp3/tbm.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp3/tbm.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2003-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -25,7 +25,7 @@
 SOURCE	      tbm.cpp
 
 USERINCLUDE	    .
-SYSTEMINCLUDE /epoc32/include
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
 
 LIBRARY       euser.lib bluetooth.lib
 LIBRARY       sdap.lib
--- a/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/group/d_newldd.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/group/d_newldd.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -23,6 +23,8 @@
 TARGETTYPE     LDD
 SOURCEPATH      ../device
 SOURCE         d_newldd.cpp t_new_classes.cpp
+
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
  
 start wins
 
--- a/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/group/t_rbuf.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/group/t_rbuf.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 1995-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -22,7 +22,7 @@
 SOURCEPATH	../buffer
 SOURCE         t_rbuf.cpp
 LIBRARY        euser.lib
-SYSTEMINCLUDE  /epoc32/include
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
 EPOCSTACKSIZE  0x3000
 
 capability		all
--- a/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/group/t_sharedio3.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/group/t_sharedio3.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2003-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -22,7 +22,7 @@
 sourcepath		../mmu
 source			t_sharedio.cpp
 library			euser.lib
-systeminclude	/epoc32/include
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
 epocfixedprocess
 
 epocheapsize	0x1000 0x00010000
--- a/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/mmu/t_sharedio.cpp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/mmu/t_sharedio.cpp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2003-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -128,6 +128,8 @@
 #include <u32hal.h>
 #include <e32svr.h>
 #include <f32dbg.h>
+#include <e32def.h>
+#include <e32def_private.h>
 #include "freeram.h"
 
 LOCAL_D RTest test(_L("T_SHAREDIO"));
--- a/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp5/fuzzlib.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp5/fuzzlib.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -28,6 +28,6 @@
 #endif
 #endif
 userinclude		.
-systeminclude		/epoc32/include
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
 capability		all
 
--- a/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp6_7/diagsuppress.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp6_7/diagsuppress.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -19,6 +19,7 @@
 SOURCEPATH		.
 SOURCE			diagsuppress.cpp
 
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
 SYSTEMINCLUDE		../../include
 
 capability		all
@@ -33,17 +34,16 @@
     armrt
     arminc
 
-    #if defined(ARMCC_3_1)
-    armlibs     c_5.l cpprt_5.l h_5.l
-
-    #elif defined(ARMCC_2_2)
+    #if defined(ARMCC_2_2)
     #ifdef MARM_ARMV5
 	ARMLIBS		c_t__un.l cpprt_t__u.l
     #else
 	ARMLIBS		c_a__un.l cpprt_a__u.l
     #endif
+    #else
+	armlibs     c_5.l cpprt_5.l h_5.l
+    #endif
 
-    #endif
 end
 
 unpagedcode
--- a/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp6_7/diagsuppress_noarmlibs.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp6_7/diagsuppress_noarmlibs.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -19,6 +19,7 @@
 SOURCEPATH		.
 SOURCE			diagsuppress.cpp
 
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
 SYSTEMINCLUDE		../../include
 
 capability		all
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp9_10/armfpu_soft+vfpv2.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+target			test_soft+vfpv2
+TARGETTYPE		exe
+SOURCEPATH		.
+SOURCE			armfpu.cpp
+
+UID				0x100039ce 0x00000001
+LIBRARY			euser.lib
+SECUREID		0x10003a5c
+SYSTEMINCLUDE	/epoc32/include
+
+ARMFPU 			softvfp+vfpv2
+
+capability		all
+paged
--- a/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp9_10/bld.inf	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp9_10/bld.inf	Wed Jul 14 14:50:01 2010 +0100
@@ -22,5 +22,5 @@
 PRJ_MMPFILES
 armfpu_soft.mmp
 armfpu_vfpv2.mmp
+armfpu_soft+vfpv2.mmp
 
-
--- a/sbsv2/raptor/test/smoke_suite/test_resources/oe/group/oe_exe_without_stdcpp.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/oe/group/oe_exe_without_stdcpp.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -32,7 +32,8 @@
 NOSTDCPP
 
 LIBRARY			euser.lib efsrv.lib 
-SYSTEMINCLUDE	/epoc32/include ..
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+SYSTEMINCLUDE	..
 VENDORID		0x70000001
 capability		all -TCB
 
--- a/sbsv2/raptor/test/smoke_suite/test_resources/oe/group/t_oedll.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/oe/group/t_oedll.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -31,7 +31,6 @@
 USERINCLUDE   	..
 SYSTEMINCLUDE 	/epoc32/include
 
-LIBRARY       	euser.lib
 nostrictdef
 nocompresstarget
 epocallowdlldata
--- a/sbsv2/raptor/test/smoke_suite/test_resources/oe/group/t_oeexe.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/oe/group/t_oeexe.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -29,8 +29,9 @@
 SOURCE			t_oeexe.cpp
 #endif
 
-LIBRARY			euser.lib efsrv.lib t_oedll.lib
-SYSTEMINCLUDE	/epoc32/include ..
+LIBRARY			efsrv.lib t_oedll.lib
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+SYSTEMINCLUDE	..
 VENDORID		0x70000001
 capability		all -TCB
 
--- a/sbsv2/raptor/test/smoke_suite/test_resources/oe/group/wrong_newlib_oe_exe.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/oe/group/wrong_newlib_oe_exe.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -35,7 +35,8 @@
 // Standard Symbian Library Created by Simple_lib\simple.mmp
 STATICLIBRARY		symbian_test.lib
 
-SYSTEMINCLUDE	/epoc32/include ..
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+SYSTEMINCLUDE	..
 VENDORID		0x70000001
 capability		all -TCB
 
--- a/sbsv2/raptor/test/smoke_suite/test_resources/oe/t_oedll.cpp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/oe/t_oedll.cpp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -21,6 +21,9 @@
 
 #include "t_oedll.h"
 
+#ifndef __SYMBIAN_STDCPP_SUPPORT__
+#error __SYMBIAN_STDCPP_SUPPORT__ should be defined for all STD* TARGETTYPE builds
+#endif
 
 
 // construct/destruct
--- a/sbsv2/raptor/test/smoke_suite/test_resources/oe/t_oeexe.cpp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/oe/t_oeexe.cpp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -84,30 +84,11 @@
 
 
 
-
-
-namespace std 
-
-{
-
-
-
-	 bool uncaught_exception() 
-
-		 {
-
-			 return false;
-
-		 }
-
-}
-
-
-
-
-
 #include <t_oedll.h>
 
+#ifndef __SYMBIAN_STDCPP_SUPPORT__
+#error __SYMBIAN_STDCPP_SUPPORT__ should be defined for all STD* TARGETTYPE builds
+#endif
 
 
 TInt E32Main()
--- a/sbsv2/raptor/test/smoke_suite/test_resources/oe/t_oelib.cpp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/oe/t_oelib.cpp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -15,6 +15,9 @@
 *
 */
 
+#ifndef __SYMBIAN_STDCPP_SUPPORT__
+#error __SYMBIAN_STDCPP_SUPPORT__ should be defined for all STD* TARGETTYPE builds
+#endif
 
 #ifndef __SYMBIAN32__
 #define EXPORT __declspec(export) 
--- a/sbsv2/raptor/test/smoke_suite/test_resources/resource/group/bld.inf	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/resource/group/bld.inf	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -23,3 +23,4 @@
 
 PRJ_MMPFILES
 testresource.mmp
+onelang.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/resource/group/bld2.inf	Wed Jul 14 14:50:01 2010 +0100
@@ -0,0 +1,21 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+PRJ_MMPFILES
+notargetkeyword.mmp
+resourcenolang.mmp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/resource/group/notargetkeyword.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -0,0 +1,8 @@
+TARGETTYPE none
+
+START BITMAP	notargetkeyword.mbm
+HEADER
+TARGETPATH		resource/apps
+SOURCEPATH		../aifsrccl
+SOURCE			c8,1 DEF24.BMP DEF2M.BMP
+END
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/resource/group/onelang.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGET        cntmodel
+TARGETTYPE    NONE
+
+USERINCLUDE   .
+SOURCEPATH ..
+
+START RESOURCE onelang.rss
+HEADERONLY
+LANG sc
+END
+
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/resource/group/resourcenolang.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+TARGETTYPE 				none
+SOURCEPATH              ../
+USERINCLUDE     ../inc
+SYSTEMINCLUDE   /epoc32/include
+
+MACRO SHOULD_BE_DEFINED
+
+START RESOURCE          testresource.rss
+// Test backslash to forward slash conversion here:
+TARGETPATH              resource\testresource
+HEADER
+END
+
--- a/sbsv2/raptor/test/smoke_suite/test_resources/resource/group/testresource.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/resource/group/testresource.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -58,10 +58,18 @@
 LANG sc
 END
 
+// Looks like testresource but comes from another resource file
+START RESOURCE          dependentresource.rss
+TARGET 			testresource.rsc
+TARGETPATH              resource/anotherresource
+LANG SC 01
+END
+
 START BITMAP	testresource.mbm
 HEADER
-
 TARGETPATH		resource/apps
 SOURCEPATH		../aifsrccl
 SOURCE			c8,1 DEF24.BMP DEF2M.BMP
 END
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/resource/onelang.rss	Wed Jul 14 14:50:01 2010 +0100
@@ -0,0 +1,35 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* onelang.rss
+*
+*/
+
+
+
+//#include <e32capability.h>
+
+#include "../inc/testresource.rh"
+#include "../inc/testresource.hrh"
+#include "testresource.rls"
+
+
+// Initial configuration
+RESOURCE CONFIG r_log_initial_config
+	{
+	size = 1000; // Maximum number of events
+	recent = 20; // Maximum size of recent lists
+	age = 2592000; // 30 days
+	}
+
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CreateStaticDLL.cpp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CreateStaticDLL.cpp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -24,14 +24,14 @@
 
 // construct/destruct
 
-
+#if !defined(__ARMCC_4__)
 extern "C" void __ARM_switch8();
 
 void sbs_test()
 	{
 	__ARM_switch8();
 	}
-
+#endif
 
 EXPORT_C CMessenger* CMessenger::NewLC(CConsoleBase& aConsole, const TDesC& aString)
 	{
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CreateStaticDLL.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CreateStaticDLL.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -35,7 +35,7 @@
 #endif
 
 USERINCLUDE   .
-SYSTEMINCLUDE /epoc32/include
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
 
 LIBRARY       euser.lib
 
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CreateStaticPDLL.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CreateStaticPDLL.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -35,7 +35,7 @@
 #endif
 
 USERINCLUDE   .
-SYSTEMINCLUDE /epoc32/include
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
 
 LIBRARY       euser.lib
 
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorld.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorld.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -27,8 +27,7 @@
 SOURCE        HelloWorld_AppUi.cpp
 SOURCE        HelloWorld_AppView.cpp
 USERINCLUDE   .
-SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/techview
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
 OPTION GCCXML -fpermissive
 START RESOURCE	HelloWorld.rss
 HEADER
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorldVar2.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorldVar2.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -27,8 +27,7 @@
 SOURCE        HelloWorld_AppUi.cpp
 SOURCE        HelloWorld_AppView.cpp
 USERINCLUDE   .
-SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/techview
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
 OPTION GCCXML -fpermissive
 START RESOURCE	HelloWorld.rss
 HEADER
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorldstdcpp.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorldstdcpp.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -27,8 +27,7 @@
 SOURCE        HelloWorld_AppUi.cpp
 SOURCE        HelloWorld_AppView.cpp
 USERINCLUDE   .
-SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/techview
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
 OPTION GCCXML -fpermissive
 START RESOURCE	HelloWorld.rss
 HEADER
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/default.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/default.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -26,6 +26,7 @@
 
 SOURCE          a.cpp
 
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
 LIBRARY         euser.lib
 
-
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/paged.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/paged.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -26,6 +26,8 @@
 
 SOURCE          a.cpp
 
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
 LIBRARY         euser.lib
 
 PAGED
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/paged_unpaged.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/paged_unpaged.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -27,6 +27,8 @@
 
 SOURCE          a.cpp
 
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
 LIBRARY         euser.lib
 
 PAGED
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/pagedcode_defaultdata.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/pagedcode_defaultdata.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -26,6 +26,8 @@
 
 SOURCE          a.cpp
 
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
 LIBRARY         euser.lib
 
 PAGEDCODE
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/pagedcode_unpageddata.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/pagedcode_unpageddata.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -26,6 +26,8 @@
 
 SOURCE          a.cpp
 
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
 LIBRARY         euser.lib
 
 PAGEDCODE
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/unpaged.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/unpaged.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -26,6 +26,8 @@
 
 SOURCE          a.cpp
 
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
 LIBRARY         euser.lib
 
 UNPAGED
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/unpagedcode_pageddata.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/unpagedcode_pageddata.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -26,6 +26,8 @@
 
 SOURCE          a.cpp
 
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
 LIBRARY         euser.lib
 
 UNPAGEDCODE
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/plugin.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/plugin.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -25,9 +25,8 @@
 VENDORID		0x70000001
 SOURCEPATH		.
 SOURCE			plugin.cpp
-SYSTEMINCLUDE 	/epoc32/include
+APP_LAYER_SYSTEMINCLUDE
 SYSTEMINCLUDE 	/epoc32/include/ecom
-SYSTEMINCLUDE	/epoc32/include/techview
 LIBRARY			euser.lib apmime.lib efsrv.lib
 
 START RESOURCE	plugin.rss
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/plugin3.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/plugin3.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -24,9 +24,8 @@
 VENDORID		0x70000001
 SOURCEPATH		.
 SOURCE			plugin.cpp
-SYSTEMINCLUDE	/epoc32/include
-SYSTEMINCLUDE	/epoc32/include/ecom
-SYSTEMINCLUDE	/epoc32/include/techview
+APP_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE 	/epoc32/include/ecom
 LIBRARY			euser.lib apmime.lib efsrv.lib
 
 START RESOURCE	plugin3.rss
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/plugin_with_deffile.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/plugin_with_deffile.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -25,7 +25,7 @@
 VENDORID		0x70000001
 SOURCEPATH		.
 SOURCE			plugin.cpp
-SYSTEMINCLUDE 	/epoc32/include
-SYSTEMINCLUDE 	/epoc32/include/ecom 
+APP_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE 	/epoc32/include/ecom
 LIBRARY			euser.lib apmime.lib efsrv.lib
 DEFFILE			~/plugin2.def	
--- a/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/HelloWorld.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/HelloWorld.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -27,8 +27,7 @@
 SOURCE        HelloWorld_AppUi.cpp
 SOURCE        HelloWorld_AppView.cpp
 USERINCLUDE   .
-SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/techview
+APP_LAYER_SYSTEMINCLUDE
 
 
 START RESOURCE	HelloWorld_reg.rss
--- a/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/metadata_export/exported.mmh	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/metadata_export/exported.mmh	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -19,8 +19,7 @@
 TARGETTYPE none
 
 USERINCLUDE   .
-SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/techview
+APP_LAYER_SYSTEMINCLUDE
 
 START RESOURCE	HelloWorld.rss
 HEADER
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/child1.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/child1.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -11,5 +11,5 @@
 SOURCE			child1.cpp
 SOURCE			common.cpp
 
-USERINCLUDE		../traces/traces_child1_exe
+USERINCLUDE		../traces/child1_exe
 
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/child2.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/child2.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -11,5 +11,5 @@
 SOURCE			child2.cpp
 SOURCE			common.cpp
 
-USERINCLUDE		../traces/traces_child2_exe
+USERINCLUDE		../traces/child2_exe
 
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/child3.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/child3.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -10,5 +10,5 @@
 SOURCE			child3.cpp
 SOURCE			common.cpp
 
-USERINCLUDE		../traces/traces_child3_exe
+USERINCLUDE		../traces/child3_exe
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child1_exe/OstTraceDefinitions.h	Wed Jul 14 14:50:01 2010 +0100
@@ -0,0 +1,7 @@
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
+// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
+#define OST_TRACE_COMPILER_IN_USE
+#include <opensystemtrace.h>
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child2_exe/OstTraceDefinitions.h	Wed Jul 14 14:50:01 2010 +0100
@@ -0,0 +1,7 @@
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
+// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
+#define OST_TRACE_COMPILER_IN_USE
+#include <opensystemtrace.h>
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child3_exe/OstTraceDefinitions.h	Wed Jul 14 14:50:01 2010 +0100
@@ -0,0 +1,7 @@
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
+// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
+#define OST_TRACE_COMPILER_IN_USE
+#include <opensystemtrace.h>
+#endif
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces_child1_exe/OstTraceDefinitions.h	Wed Jul 14 16:22:24 2010 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-#ifndef __OSTTRACEDEFINITIONS_H__
-#define __OSTTRACEDEFINITIONS_H__
-// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
-// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
-#define OST_TRACE_COMPILER_IN_USE
-#include <opensystemtrace.h>
-#endif
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces_child2_exe/OstTraceDefinitions.h	Wed Jul 14 16:22:24 2010 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-#ifndef __OSTTRACEDEFINITIONS_H__
-#define __OSTTRACEDEFINITIONS_H__
-// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
-// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
-#define OST_TRACE_COMPILER_IN_USE
-#include <opensystemtrace.h>
-#endif
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces_child3_exe/OstTraceDefinitions.h	Wed Jul 14 16:22:24 2010 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-#ifndef __OSTTRACEDEFINITIONS_H__
-#define __OSTTRACEDEFINITIONS_H__
-// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
-// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
-#define OST_TRACE_COMPILER_IN_USE
-#include <opensystemtrace.h>
-#endif
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/inc/wlanhwinitpermparser.h	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/inc/wlanhwinitpermparser.h	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -41,6 +41,15 @@
 #define UPDATE_MAC_ADDR 		0x0080
 #define UPDATE_ALL 				  0xFFFF
 
+// Custom trace extraction content required for this component
+typedef TUint8  TGroupId;
+#define GROUPIDMASK             0x00ff0000
+#define GROUPIDSHIFT            16
+#define TRACEIDMASK             0x0000ffff
+#define TRACEIDSHIFT            0
+#define EXTRACT_GROUP_ID(aTraceName) static_cast<TGroupId>((aTraceName & GROUPIDMASK) >> GROUPIDSHIFT)
+
+
 /**
 * The class for parsing the tuning data stored in PERM server.
 *
--- a/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/exeusingunfrozen.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/exeusingunfrozen.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -20,7 +20,7 @@
 UID			0x100039ce 0x00000001
 LIBRARY			euser.lib unfrozensymbols.lib
 SECUREID		0x10003a5c
-SYSTEMINCLUDE	/epoc32/include
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
 SOURCE			test.cpp 
 MACRO			TEST_MACRO_THAT_DOES_NOTHING
 EPOCSTACKSIZE 8192
--- a/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/frozen_with_removed_export.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/frozen_with_removed_export.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -23,7 +23,7 @@
 CAPABILITY		All -TCB
 VENDORID		0x70000001
 SOURCE			missing_symbols.cpp
-SYSTEMINCLUDE	/epoc32/include
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
 LIBRARY			euser.lib
 DEFFILE			frozen/~/frozen.def
 
--- a/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/unfrozensymbols.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/unfrozensymbols.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -30,7 +30,7 @@
 SOURCE        unfrozensymbols.cpp
 
 USERINCLUDE   .
-SYSTEMINCLUDE /epoc32/include
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
 
 LIBRARY       euser.lib
 
--- a/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/unfrozensymbols_for_freeze.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/unfrozensymbols_for_freeze.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -23,7 +23,7 @@
 CAPABILITY		All -TCB
 VENDORID		0x70000001
 SOURCE			unfrozensymbols.cpp
-SYSTEMINCLUDE	/epoc32/include
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
 LIBRARY			euser.lib
 DEFFILE			frozen/~/frozen.def
 
--- a/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/unfrozensymbols_with_deffile.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/unfrozensymbols_with_deffile.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -32,7 +32,7 @@
 SOURCE        unfrozensymbols.cpp
 
 USERINCLUDE   .
-SYSTEMINCLUDE /epoc32/include
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
 
 LIBRARY       euser.lib
 
--- a/sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/testver.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/testver.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -28,7 +28,7 @@
 SOURCE        testver.cpp
 
 USERINCLUDE   .
-SYSTEMINCLUDE /epoc32/include
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
 LIBRARY       euser.lib
 MACRO VERSION30
 
--- a/sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/testver_20.mmp	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/testver_20.mmp	Wed Jul 14 14:50:01 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -28,7 +28,7 @@
 SOURCE        testver.cpp
 
 USERINCLUDE   .
-SYSTEMINCLUDE /epoc32/include
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
 LIBRARY       euser.lib
 MACRO VERSION20
 
--- a/sbsv2/raptor/test/smoke_suite/tracecompiler_variants.py	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/tracecompiler_variants.py	Wed Jul 14 14:50:01 2010 +0100
@@ -195,12 +195,12 @@
 		"$(EPOCROOT)/epoc32/release/armv5/urel/child2.exe",
 		"$(EPOCROOT)/epoc32/release/armv5/udeb/child3.exe",
 		"$(EPOCROOT)/epoc32/release/armv5/urel/child3.exe",
-		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child1_exe/child1Traces.h",
-		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child1_exe/commonTraces.h",
-		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child2_exe/child2Traces.h",
-		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child2_exe/commonTraces.h",
-		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child3_exe/child3Traces.h",
-		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child3_exe/commonTraces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child1_exe/child1Traces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child1_exe/commonTraces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child2_exe/child2Traces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child2_exe/commonTraces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child3_exe/child3Traces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child3_exe/commonTraces.h",
 		"$(EPOCROOT)/epoc32/ost_dictionaries/child1_exe_0x11100001_Dictionary.xml",
 		"$(EPOCROOT)/epoc32/ost_dictionaries/child2_exe_0x11100002_Dictionary.xml",
 		"$(EPOCROOT)/epoc32/ost_dictionaries/child3_exe_0x11100002_Dictionary.xml",
@@ -247,10 +247,10 @@
 		"$(EPOCROOT)/epoc32/release/armv5/urel/child2.exe",
 		"$(EPOCROOT)/epoc32/release/armv5/udeb/child3.exe",
 		"$(EPOCROOT)/epoc32/release/armv5/urel/child3.exe",
-		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child2_exe/child2Traces.h",
-		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child2_exe/commonTraces.h",
-		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child3_exe/child3Traces.h",
-		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child3_exe/commonTraces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child2_exe/child2Traces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child2_exe/commonTraces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child3_exe/child3Traces.h",
+		"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child3_exe/commonTraces.h",
 		"$(EPOCROOT)/epoc32/ost_dictionaries/child2_exe_0x11100002_Dictionary.xml",
 		"$(EPOCROOT)/epoc32/ost_dictionaries/child3_exe_0x11100002_Dictionary.xml",
 		"$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/child2_exe_0x11100002_TraceDefinitions.h",
--- a/sbsv2/raptor/test/smoke_suite/winscw_resource.py	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/winscw_resource.py	Wed Jul 14 14:50:01 2010 +0100
@@ -23,6 +23,7 @@
 	t.command = "sbs -b smoke_suite/test_resources/resource/group/bld.inf -c " \
 			+ "winscw RESOURCE"
 	t.targets = [
+		"$(EPOCROOT)/epoc32/include/onelang.rsg",
 		"$(EPOCROOT)/epoc32/include/testresource.rsg",
 		"$(EPOCROOT)/epoc32/include/testresource.hrh",
 		"$(EPOCROOT)/epoc32/data/z/resource/testresource/testresource.r01",
--- a/sbsv2/raptor/test/smoke_suite/zip_export_plus_clean.py	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/zip_export_plus_clean.py	Wed Jul 14 14:50:01 2010 +0100
@@ -15,11 +15,13 @@
 #
 
 from raptor_tests import SmokeTest, AntiTargetSmokeTest, ReplaceEnvs
+from raptor_meta import MetaReader
+from raptor_utilities import sanitise
 import re
 
 def run():
-	markerfile = re.sub("(\\\\|\/|:|;| )", "_",
-			ReplaceEnvs("$(SBS_HOME)_test_smoke_suite_test_resources_simple_zip_export_archive.zip$(EPOCROOT)_epoc32_testunzip.unzipped"))
+	premarkerfile = sanitise(ReplaceEnvs("$(SBS_HOME)_test_smoke_suite_test_resources_simple_zip_export_archive.zip$(EPOCROOT)_epoc32_testunzip"))
+	markerfile = MetaReader.unzippedPathFragment(premarkerfile) + ".unzipped"
 	
 	t = SmokeTest()
 	
--- a/sbsv2/raptor/test/smoke_suite/zip_export_what.py	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/smoke_suite/zip_export_what.py	Wed Jul 14 14:50:01 2010 +0100
@@ -15,11 +15,13 @@
 #
 
 from raptor_tests import CheckWhatSmokeTest, ReplaceEnvs
+from raptor_meta import MetaReader
+from raptor_utilities import sanitise
 import re
 
 def run():
-	markerfile = re.sub("(\\\\|\/|:|;| )", "_",
-			ReplaceEnvs("$(SBS_HOME)_test_smoke_suite_test_resources_simple_zip_export_archive.zip$(EPOCROOT)_epoc32_testunzip.unzipped"))
+	premarkerfile = sanitise(ReplaceEnvs("$(SBS_HOME)_test_smoke_suite_test_resources_simple_zip_export_archive.zip$(EPOCROOT)_epoc32_testunzip"))
+	markerfile = MetaReader.unzippedPathFragment(premarkerfile) + ".unzipped"
 	
 	t = CheckWhatSmokeTest()
 	t.id = "25"
--- a/sbsv2/raptor/test/unit_suite/raptor_meta_unit.py	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/unit_suite/raptor_meta_unit.py	Wed Jul 14 14:50:01 2010 +0100
@@ -494,15 +494,21 @@
 				self.assertTrue(testOptions.has_key(testParameter))
 				self.assertEquals(testOptions.get(testParameter), aTestParameters.get(testParameter))
 
+
 	def testBldInfExtensions(self):
 		bldInfTestRoot = self.__testRoot.Append('metadata/project/bld.infs')
 		bldInfMakefilePathTestRoot = str(self.__makefilePathTestRoot)+'/metadata/project/bld.infs'			
+		if 'SRCROOT' in os.environ:
+			srcroot = os.environ['SRCROOT']
+		else:
+			srcroot = os.environ['SRCROOT'] = "x:/somesrcroot"
+		
 		depfiles = []
 		bldInfObject = raptor_meta.BldInfFile(bldInfTestRoot.Append('extensions.inf'),
 											  self.__gnucpp, depfiles=depfiles, log=self.raptor)
 		
 		extensions = bldInfObject.getExtensions(self.ARMV5)
-		
+				
 		self.__testExtension(extensions[0],
 							'test/dummyextension1.mk',
 							{'TARGET':'dummyoutput1.exe',
@@ -511,7 +517,7 @@
 							'TOOL':'dummytool1.exe',
 							'OPTION11':'option11value',
 							'OPTION12':'$(MAKE_VAR)',
-							'STDVAR_TO_ROOT':"",
+							'STDVAR_TO_ROOT':srcroot,
 							'STDVAR_TO_BLDINF':bldInfMakefilePathTestRoot,
 							'STDVAR_EXTENSION_ROOT':bldInfMakefilePathTestRoot}		
 							)
@@ -524,7 +530,7 @@
 							'TOOL':'dummytool2.exe',
 							'OPTION21':'option21value',
 							'OPTION22':'$(MAKE_VAR)',
-							'STDVAR_TO_ROOT':"",
+							'STDVAR_TO_ROOT':srcroot,
 							'STDVAR_TO_BLDINF':bldInfMakefilePathTestRoot,
 							'STDVAR_EXTENSION_ROOT':bldInfMakefilePathTestRoot}
 							)
@@ -537,7 +543,7 @@
 							'TOOL':'dummytool3.exe',
 							'OPTION31':'option31value',
 							'OPTION32':'$(MAKE_VAR)',
-							'STDVAR_TO_ROOT':"",
+							'STDVAR_TO_ROOT':srcroot,
 							'STDVAR_TO_BLDINF':bldInfMakefilePathTestRoot,
 							'STDVAR_EXTENSION_ROOT':bldInfMakefilePathTestRoot}
 							)
@@ -552,7 +558,7 @@
 							'TOOL':'dummytesttool1.exe',
 							'OPTIONTEST11':'optiontest11value',
 							'OPTIONTEST12':'$(MAKE_VAR)',
-							'STDVAR_TO_ROOT':"",
+							'STDVAR_TO_ROOT':srcroot,
 							'STDVAR_TO_BLDINF':bldInfMakefilePathTestRoot,
 							'STDVAR_EXTENSION_ROOT':bldInfMakefilePathTestRoot}		
 							)
@@ -565,7 +571,7 @@
 							'TOOL':'dummytesttool2.exe',
 							'OPTIONTEST21':'optiontest21value',
 							'OPTIONTEST22':'$(MAKE_VAR)',
-							'STDVAR_TO_ROOT':"",
+							'STDVAR_TO_ROOT':srcroot,
 							'STDVAR_TO_BLDINF':bldInfMakefilePathTestRoot,
 							'STDVAR_EXTENSION_ROOT':bldInfMakefilePathTestRoot}		
 							)
--- a/sbsv2/raptor/test/unit_suite/raptor_xml_unit.py	Wed Jul 14 16:22:24 2010 +0800
+++ b/sbsv2/raptor/test/unit_suite/raptor_xml_unit.py	Wed Jul 14 14:50:01 2010 +0100
@@ -77,18 +77,21 @@
 		os.environ["SOURCEROOT"] = 'i_am_not_a_valid_path_at_all'
 		systemModel = raptor_xml.SystemModel(self.__logger, generic_path.Join(self.__sysDefFileRoot, "system_definition_2.0.0.xml"), self.__sysDefRoot)
 		self.__compareFileLists(expectedBldInfs, systemModel.GetAllComponents())
-
 				
 		del os.environ["SOURCEROOT"]
 		systemModel = raptor_xml.SystemModel(self.__logger, generic_path.Join(self.__sysDefFileRoot, "system_definition_3.0.0.xml"), self.__sysDefRoot)
-		self.__compareFileLists([], systemModel.GetAllComponents())
+		self.__compareFileLists(expectedBldInfs, systemModel.GetAllComponents())
+				
+		# Additionally confirm that layers are returned correctly in a v3 context (where <meta/> and <api/> tags are also present)
+		layers = systemModel.GetLayerNames()
+		self.assertTrue(len(layers) == 1)
+		self.assertEqual("testlayer", layers[0])
 				
 		self.__logger.Clear()
 		systemModel = raptor_xml.SystemModel(self.__logger, generic_path.Join(self.__sysDefFileRoot, "system_definition_multi_layers.xml"), self.__sysDefRoot)
 		self.assertTrue(len(self.__logger.errors) == 0)
 
 		# Confirm components returned from layers are correct
-
 		expectedBldInfs = [ generic_path.Join(self.__sysDefRoot, "simple/bld.inf"),\
 							generic_path.Join(self.__sysDefRoot, "simple_dll/bld.inf"),\
 						    generic_path.Join(self.__sysDefRoot, "simple_export/bld.inf"),\
@@ -121,7 +124,7 @@
 		sbsHome = os.environ["SBS_HOME"]
 		sysDefPath = sbsHome + "/test/metadata/system/system_definition_multi_layers.xml"
 		sysDefPath = sysDefPath.replace("\\","/")
-		bldInfPath = sbsHome + "/test/smoke_suite/test_resources/does_not_existbld.inf"
+		bldInfPath = sbsHome + "/test/smoke_suite/test_resources/does_not_exist/bld.inf"
 		bldInfPath = bldInfPath.replace("\\","/")
 		self.assertEquals(self.__logger.errors[0],
 		  ("System Definition layer \"Seventh Layer\" from system definition file \"%s\" refers to non existent bld.inf file %s" % (sysDefPath, bldInfPath)))