Merge default into my fix fix
authortimothy.murphy@nokia.com
Fri, 09 Apr 2010 14:15:32 +0100
branchfix
changeset 478 67f7e5d8e121
parent 477 ecf6886a5469 (current diff)
parent 430 ac96b43f9177 (diff)
child 479 62411a80435e
child 481 da1f0ffac201
Merge default into my fix
sbsv2/raptor/RELEASE-NOTES.html
sbsv2/raptor/python/raptor_meta.py
--- a/sbsv2/raptor/RELEASE-NOTES.html	Fri Apr 09 14:12:26 2010 +0100
+++ b/sbsv2/raptor/RELEASE-NOTES.html	Fri Apr 09 14:15:32 2010 +0100
@@ -44,7 +44,7 @@
 <li>Fix : do not allow data to be paged implicitly</li>
 <li>Fix : Makefile Parse Performance in Resource stage is poor. Large size of included dependency files is a factor. In --no-depend-generate mode, create dependency files which only refer to other rsg/mbg files that are yet to be built - store no other dependencies.</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.</li>
-
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2302"> SF Bug 2302 </a> - sbs_filter refers to python.exe in win32/python264/                                                                  </li>
 
 </ul>
 
--- a/sbsv2/raptor/python/raptor_meta.py	Fri Apr 09 14:12:26 2010 +0100
+++ b/sbsv2/raptor/python/raptor_meta.py	Fri Apr 09 14:15:32 2010 +0100
@@ -2420,9 +2420,19 @@
 		# "export platform" but several "build platforms" can be associated
 		# with the same "export platform".
 		exports = {}
-
-		self.__Raptor.Debug("MetaReader: configsToBuild:  %s", [b.name for b in configsToBuild])
-		for buildConfig in configsToBuild:
+		
+		# We sort configurations by name here.  This is solely to deal with situations
+		# where macros linked to builds end up being used in preprocessor conditionals
+		# within bld.inf files that then wrap exports under PRJ_EXPORTS statements.
+		# Having exports that are conditional on these macros isn't supported, but
+		# as there are areas of the source base that make this assumption, and
+		# fail if emulator macros are used instead of arm ones, we ensure that arm
+		# configurations come first when multiple configurations are active, and so are
+		# used first for determining exports.
+		sortedConfigsToBuild = sorted(configsToBuild,key=lambda config: config.name)
+
+		self.__Raptor.Debug("MetaReader: sortedConfigsToBuild:  %s", [b.name for b in sortedConfigsToBuild])
+		for buildConfig in sortedConfigsToBuild:
 			# get everything we need to know about the configuration
 			evaluator = self.__Raptor.GetEvaluator(None, buildConfig)
 
--- a/sbsv2/raptor/python/raptor_version.py	Fri Apr 09 14:12:26 2010 +0100
+++ b/sbsv2/raptor/python/raptor_version.py	Fri Apr 09 14:15:32 2010 +0100
@@ -16,7 +16,7 @@
 
 # replace CHANGESET with the Hg changeset for ANY release
 
-version=(2,13,0,"2010-03-31","symbian build system","CHANGESET")
+version=(2,13,0,"2010-04-09","symbian build system","CHANGESET")
 
 def numericversion():
 	"""Raptor version string"""
--- a/sbsv2/raptor/test/smoke_suite/export.py	Fri Apr 09 14:12:26 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/export.py	Fri Apr 09 14:15:32 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,39 +18,49 @@
 import os
 
 def run():
-	result = SmokeTest.PASS
 	
 	# This .inf file is created for clean_simple_export and
 	# reallyclean_simple_export tests to use so that we can put the
 	# username into the output filenames - which helps a lot when
 	# several people run tests on the same computer (e.g. linux machines)
 	bld = open('smoke_suite/test_resources/simple_export/expbld.inf', 'w')
-	bld.write("PRJ_PLATFORMS\n"
-		"ARMV5 WINSCW\n\n"
+	user = os.environ['USER']
+	bld.write("""
+	
+PRJ_PLATFORMS
+ARMV5 WINSCW
 
-		"PRJ_MMPFILES\n"
-		"simple.mmp\n\n"
+PRJ_MMPFILES
+simple.mmp
 
-		"PRJ_EXPORTS\n"
-		"simple_exp1.h exported_1.h\n"
-		"simple_exp2.h exported_2.h\n"
-		"simple_exp3.h exported_3.h\n"
-		"executable_file executable_file\n"
-		'"file with a space.doc" "exportedfilewithspacesremoved.doc"\n'
-		'"file with a space.doc" "exported file with a space.doc"\n\n'
+PRJ_EXPORTS
+#if !defined( WINSCW )
+// Exports conditional on build configuration macros aren't actually supported,
+// but we confirm that we preprocess in the context of an armv5 build when both
+// winscw and armv5 configurations are (implicitly, as there's no "-c" argument)
+// used.  This is in order to work around assumptions currently made in the
+// source base.
+simple_exp1.h exported_1.h
+#endif
+simple_exp2.h exported_2.h
+simple_exp3.h exported_3.h
+executable_file executable_file
+"file with a space.doc" "exportedfilewithspacesremoved.doc"
+"file with a space.doc" "exported file with a space.doc"
 
-		"simple_exp1.h /tmp/"+os.environ['USER']+"/  //\n"
-		"simple_exp2.h \\tmp\\"+os.environ['USER']+"/  //\n"
-		"simple_exp3.h /tmp/"+os.environ['USER']+"/simple_exp3.h \n"
-		"simple_exp4.h //")
+simple_exp1.h /tmp/%s/  //
+simple_exp2.h \\tmp\\%s/  //
+simple_exp3.h /tmp/%s/simple_exp3.h 
+simple_exp4.h //
+
+""" % (user, user, user))
 	bld.close()
 
 
 	t = SmokeTest()
 	t.id = "0023a"
 	t.name = "export"
-	t.command = "sbs -b smoke_suite/test_resources/simple_export/expbld.inf " \
-			+ "-c armv5 EXPORT"
+	t.command = "sbs -b smoke_suite/test_resources/simple_export/expbld.inf export"
 	t.targets = [
 		"$(EPOCROOT)/epoc32/include/exported_1.h",
 		"$(EPOCROOT)/epoc32/include/exported_2.h",
@@ -64,9 +74,7 @@
 		"$(EPOCROOT)/epoc32/include/simple_exp4.h"
 		]
 	t.run()
-	if t.result == SmokeTest.FAIL:
-		result = SmokeTest.FAIL
-
+	
 
 	t = SmokeTest()
 	t.id = "0023a1"
@@ -78,15 +86,11 @@
 	t.run("linux")
 	t.usebash = False
 
-	if t.result == SmokeTest.FAIL:
-		result = SmokeTest.FAIL
-
 
 	# Testing if clean deletes any exports which it is not supposed to
 	t.id = "0023b"
 	t.name = "export_clean" 
-	t.command = "sbs -b smoke_suite/test_resources/simple_export/expbld.inf " \
-			+ "-c armv5 clean"
+	t.command = "sbs -b smoke_suite/test_resources/simple_export/expbld.inf clean"
 	t.mustmatch = []
 	t.targets = [
 		"$(EPOCROOT)/epoc32/include/exported_1.h",
@@ -100,15 +104,12 @@
 		"/tmp/$(USER)/simple_exp3.h"
 		]
 	t.run()
-	if t.result == SmokeTest.FAIL:
-		result = SmokeTest.FAIL
 
 
 	t = AntiTargetSmokeTest()
 	t.id = "0023c"
 	t.name = "export_reallyclean" 
-	t.command = "sbs -b smoke_suite/test_resources/simple_export/expbld.inf " \
-			+ "-c armv5 reallyclean"
+	t.command = "sbs -b smoke_suite/test_resources/simple_export/expbld.inf reallyclean"
 	t.antitargets = [
 		'$(EPOCROOT)/epoc32/include/exported_1.h',
 		'$(EPOCROOT)/epoc32/include/exported_2.h',
@@ -122,15 +123,12 @@
 		'$(EPOCROOT)/epoc32/include/simple_exp4.h'
 	]
 	t.run()
-	if t.result == SmokeTest.FAIL:
-		result = SmokeTest.FAIL
 
 	# Check that the --noexport feature really does prevent exports from happening
 	t = AntiTargetSmokeTest()
 	t.id = "0023d"
 	t.name = "export_noexport" 
-	t.command = "sbs -b smoke_suite/test_resources/simple_export/expbld.inf " \
-			+ "-c armv5 --noexport -n"
+	t.command = "sbs -b smoke_suite/test_resources/simple_export/expbld.inf --noexport -n"
 	t.antitargets = [
 		'$(EPOCROOT)/epoc32/include/exported_1.h',
 		'$(EPOCROOT)/epoc32/include/exported_2.h',
@@ -144,11 +142,8 @@
 		'$(EPOCROOT)/epoc32/include/simple_exp4.h'
 	]
 	t.run()
-	if t.result == SmokeTest.FAIL:
-		result = SmokeTest.FAIL
 		
 	t.id = "23"
 	t.name = "export"
-	t.result = result
 	t.print_result()
 	return t
--- a/sbsv2/raptor/util/install-linux/package_sbs.sh	Fri Apr 09 14:12:26 2010 +0100
+++ b/sbsv2/raptor/util/install-linux/package_sbs.sh	Fri Apr 09 14:15:32 2010 +0100
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-# 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"
@@ -61,7 +61,7 @@
 fi
 
 
-   echo init.xml LICENSE.txt RELEASE-NOTES.txt; cd $SBS_HOME && find bin lib $BINARIES python test schema util |
+   cd $SBS_HOME && find license.txt RELEASE-NOTES.html bin lib notes $BINARIES python test schema util |
 	grep -v "$TMPSBS"'/python/\.py$' |
 	grep -v 'flm/test'  |
 	grep -v 'util/build'  |