# HG changeset patch # User timothy.murphy@nokia.com # Date 1270818932 -3600 # Node ID 67f7e5d8e1213cdbd7818bd1c01e45ae6c35bb50 # Parent ecf6886a5469e3a179823af88e8816f9dd252397# Parent ac96b43f9177f449e2f7690430ea39f80c607147 Merge default into my fix diff -r ecf6886a5469 -r 67f7e5d8e121 sbsv2/raptor/RELEASE-NOTES.html --- 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 @@
  • Fix : do not allow data to be paged implicitly
  • 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.
  • 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.
  • - +
  • SF Bug 2302 - sbs_filter refers to python.exe in win32/python264/
  • diff -r ecf6886a5469 -r 67f7e5d8e121 sbsv2/raptor/python/raptor_meta.py --- 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) diff -r ecf6886a5469 -r 67f7e5d8e121 sbsv2/raptor/python/raptor_version.py --- 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""" diff -r ecf6886a5469 -r 67f7e5d8e121 sbsv2/raptor/test/smoke_suite/export.py --- 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 diff -r ecf6886a5469 -r 67f7e5d8e121 sbsv2/raptor/util/install-linux/package_sbs.sh --- 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' |