--- a/sbsv2/raptor/RELEASE-NOTES.txt Mon Dec 07 14:50:23 2009 +0000
+++ b/sbsv2/raptor/RELEASE-NOTES.txt Mon Dec 07 14:58:25 2009 +0000
@@ -1,6 +1,21 @@
Release Notes for Symbian Build System v2
+version 2.11.1
+
+Other Changes:
+GCCE 4.4.1 variant added
+Restored python 2.4 compatibility
+Minor TOOLS2 --what corrections
+Retain Linux execute permissions on unpacked :zip archives
+Prototype of extended timing API added
+Option --noexport added for parallel parsing
+Made --noexport and --export-only mutually exclusive
+SBS_PYTHONPATH insulates sbs from the global PYTHONPATH
+Removed spurious bracket in e32abiv2textnotifier2
+More robust to multiple import library definitions
+
+
version 2.11.0
New Features:
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/bin/sbs_check_exports.py Mon Dec 07 14:58:25 2009 +0000
@@ -0,0 +1,101 @@
+#!/usr/bin/python
+
+# 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 "Symbian Foundation License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+import re
+import sys
+
+# there are no options, so print help if any are passed
+if len(sys.argv) > 1:
+ print "usage:", sys.argv[0], "(The log data is read from stdin)"
+ sys.exit(0)
+
+whatlogRE = re.compile("<whatlog.*bldinf='([^']*)'")
+exportRE = re.compile("<export destination='(.*)' source='(.*)'")
+
+bldinf = "unknown"
+sources = {} # lookup from source to destination
+destinations = {} # lookup from destination to source
+
+chains = 0
+repeats = 0
+conflicts = []
+
+# read stdin a line at a time and soak up all the exports
+line = " "
+while line:
+ line = sys.stdin.readline()
+
+ whatlogMatch = whatlogRE.search(line)
+ if whatlogMatch:
+ bldinf = whatlogMatch.group(1).lower()
+ continue
+
+ exportMatch = exportRE.search(line)
+ if exportMatch:
+ destination = exportMatch.group(1).lower()
+ source = exportMatch.group(2).lower()
+
+ if destination in destinations:
+ (otherSource, otherBldinf) = destinations[destination]
+
+ # same source and destination but different bld.inf => repeat
+ if source == otherSource and bldinf != otherBldinf:
+ # only interested in the number for now
+ repeats += 1
+
+ # different source but same destination => conflict
+ if source != otherSource:
+ conflict = (source, destination, bldinf, otherSource, otherBldinf)
+ tcilfnoc = (otherSource, destination, otherBldinf, source, bldinf)
+
+ if conflict in conflicts or tcilfnoc in conflicts:
+ # seen this conflict before
+ pass
+ else:
+ print "CONFLICT:", destination, \
+ "FROM", source, \
+ "IN", bldinf, \
+ "AND FROM", otherSource, \
+ "IN", otherBldinf
+ conflicts.append(conflict)
+ else:
+ sources[source] = [destination, bldinf]
+ destinations[destination] = [source, bldinf]
+
+# now check for destinations which were also sources => chains
+for destination in destinations:
+ if destination in sources:
+ (nextDestination, inf2) = sources[destination]
+ (source, inf1) = destinations[destination]
+ print "CHAIN:", source, \
+ "TO", destination, \
+ "IN", inf1, \
+ "THEN TO", nextDestination, \
+ "IN", inf2
+ chains += 1
+
+# print a summary
+print "Total exports = ", len(destinations.keys())
+print "Chained exports = ", chains
+print "Repeated exports = ", repeats
+print "Conflicting exports = ", len(conflicts)
+
+# return the error code
+if conflicts:
+ sys.exit(1)
+sys.exit(0)
+
--- a/sbsv2/raptor/lib/flm/e32abiv2textnotifier2.flm Mon Dec 07 14:50:23 2009 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2textnotifier2.flm Mon Dec 07 14:58:25 2009 +0000
@@ -28,7 +28,7 @@
AUTOEXPORTS:=_Z13NotifierArrayv,1;
# Determine what kind of entrypoint option to set
LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/edll.lib
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Dll $(LINKER_ENTRYPOINT_DECORATION))$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
+LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Dll $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
--- a/sbsv2/raptor/python/raptor_version.py Mon Dec 07 14:50:23 2009 +0000
+++ b/sbsv2/raptor/python/raptor_version.py Mon Dec 07 14:58:25 2009 +0000
@@ -15,7 +15,7 @@
# raptor version information module
#
-version=(2,11,0,"2009-11-23","symbian build system")
+version=(2,11,1,"2009-12-16","symbian build system")
def numericversion():
"""Raptor version string"""
--- a/sbsv2/raptor/test/smoke_suite/user_tools.py Mon Dec 07 14:50:23 2009 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-import os
-import sys
-from raptor_tests import SmokeTest
-
-def run():
-
- t = SmokeTest()
- t.id = "86"
- t.name = "user_tools"
-
- if sys.platform.lower().startswith("win"):
- result = SmokeTest.PASS
- t.logfileOption = lambda :""
- t.makefileOption = lambda :""
- t.description = "Tests that Raptor picks up SBS_PYTHON, SBS_CYGWIN " \
- + "and SBS_MINGW from the environment when present"
-
-
- t.id = "0086a"
- t.name = "user_python"
- t.environ['SBS_PYTHON'] = "C:/pyt*hon"
-
- t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf -c armv5_urel" \
- + " -n --toolcheck off -f " + t.logfile() + " -m " + t.makefile()
-
- t.mustmatch = [
- "'C:/pyt\*hon' is not recognized as an internal or external command,",
- "operable program or batch file."
- ]
- t.returncode = 9009
- t.run()
- if t.result == SmokeTest.FAIL:
- result = SmokeTest.FAIL
-
-
- t.id = "0086b"
- t.name = "user_cygwin"
- t.environ = {}
- t.environ['SBS_CYGWIN'] = "C:/cygwin"
-
- t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf -c armv5_urel" \
- + " -n --toolcheck off -f " + t.logfile() + " -m " + t.makefile() \
- + " && $(__CYGWIN__)/bin/grep.exe -ir 'TALON_SHELL:=C:/cygwin/bin/sh.exe' " + t.makefile() + "_all.default"
-
- t.mustmatch = [
- "TALON_SHELL:=C:/cygwin/bin/sh.exe"
- ]
- t.returncode = 0
- t.run()
- if t.result == SmokeTest.FAIL:
- result = SmokeTest.FAIL
-
-
- t.id = "0086c"
- t.name = "user_mingw"
- t.environ = {}
- t.environ['SBS_MINGW'] = "C:/mingw"
-
- t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf -c armv5_urel" \
- + " -n --toolcheck off -f " + t.logfile() + " -m " + t.makefile()
-
- t.mustmatch = [
- "sbs: error: Preprocessor exception: \[Error 3\] The system cannot find the path specified"
- ]
-
- t.errors = 1
- t.returncode = 1
-
- t.run()
- if t.result == SmokeTest.FAIL:
- result = SmokeTest.FAIL
-
- t.id = "86"
- t.name = "user_tools"
- t.result = result
- t.print_result()
-
- else:
- t.run("windows")
-
-
- return t