Added test case for EPOCNESTEDEXCEPTIONS.
--- a/sbsv2/raptor/RELEASE-NOTES.txt Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/RELEASE-NOTES.txt Tue Mar 16 15:27:06 2010 +0000
@@ -3,12 +3,12 @@
next version
New Features:
-- Add support for FEATUREVARIANTSAFE in BV builds
+- Add support for FEATUREVARIANTSAFE in BV builds.
- Add support for Cygwin 1.7.
- New support for cross-compiling win32 tools on Linux.
To enable it, use "sbs -c tools2.win32 -c tools2" on Linux
- New prototype support for reading System Definition v3 files
-- Add support for MMP keyword EPOCNESTEDEXCEPTIONS
+- Add support for MMP keyword EPOCNESTEDEXCEPTIONS.
version 2.12.4
--- a/sbsv2/raptor/lib/flm/e32abiv2ani.flm Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2ani.flm Tue Mar 16 15:27:06 2010 +0000
@@ -36,6 +36,7 @@
endif
LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib
+STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
CANIGNORENONCALLABLE:=1
# Fixed export TARGETTYPEs should only reference a .def file if an explicit DEFFILE statement is present in the .mmp file
--- a/sbsv2/raptor/lib/flm/e32abiv2defaults.mk Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2defaults.mk Tue Mar 16 15:27:06 2010 +0000
@@ -31,15 +31,11 @@
POSTLINKDEFFILE:=
POSTLINKFILETYPE:=
POSTLINKTARGETTYPE:=
+STATIC_RUNTIME_LIB:=
SUPPORT_FREEZE:=
NOHIDEALL:=
DEFAULT_NEWLIB:=$(DEFAULT_SYMBIAN_NEWLIB)
-ifeq ($(EPOCNESTEDEXCEPTIONS),)
-STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
-else
-STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB_NESTED_EXCEPTIONS)
-endif
# Reset these variables as they change for every single target type
# LINKER_ENTRYPOINT_ADORNMENT will be blank for GCCE; for RVCT it will look like "(uc_exe_.o)"
--- a/sbsv2/raptor/lib/flm/e32abiv2dll.flm Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2dll.flm Tue Mar 16 15:27:06 2010 +0000
@@ -35,6 +35,7 @@
endif
LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib
+STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
# Default Postlinker settings
--- a/sbsv2/raptor/lib/flm/e32abiv2exe.flm Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2exe.flm Tue Mar 16 15:27:06 2010 +0000
@@ -34,6 +34,12 @@
LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
endif
+ifeq ($(EPOCNESTEDEXCEPTIONS),)
+ STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
+else
+ STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB_NESTED_EXCEPTIONS)
+endif
+
$(call vsave,CDEFS)
CDEFS:=$(CDEFS) __EXE__
include $(FLMHOME)/e32abiv2.flm
--- a/sbsv2/raptor/lib/flm/e32abiv2exexp.flm Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2exexp.flm Tue Mar 16 15:27:06 2010 +0000
@@ -30,6 +30,7 @@
$(call vsave,CDEFS)
# Determine what kind of entrypoint option to set
FIRSTLIB_OBJECTFILE=uc_exe_.o
+STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
ifeq ($(FIRSTLIB),)
FIRSTLIB:=eexe.lib
--- a/sbsv2/raptor/lib/flm/e32abiv2fsy.flm Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2fsy.flm Tue Mar 16 15:27:06 2010 +0000
@@ -46,6 +46,7 @@
endif
UID2:=100039df
+STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
CANIGNORENONCALLABLE:=1
--- a/sbsv2/raptor/lib/flm/e32abiv2implib.flm Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2implib.flm Tue Mar 16 15:27:06 2010 +0000
@@ -32,7 +32,6 @@
REQUESTEDTARGETEXT:=dll
# if there is a LINKAS variable then this won't matter
-STATIC_RUNTIME_LIB:=
# We are appending to CDEFS but we don't want this to affect
# other invocations so we are going to save it on a stack
--- a/sbsv2/raptor/lib/flm/e32abiv2lib.flm Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2lib.flm Tue Mar 16 15:27:06 2010 +0000
@@ -25,8 +25,6 @@
POSTLINKFILETYPE:=lib
MULTIFILE_ENABLED:=
-STATIC_RUNTIME_LIB:=
-
include $(FLMHOME)/e32abiv2.flm
else
--- a/sbsv2/raptor/lib/flm/e32abiv2none.flm Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2none.flm Tue Mar 16 15:27:06 2010 +0000
@@ -20,7 +20,6 @@
include $(FLMHOME)/e32abiv2defaults.mk
POSTLINKTARGETTYPE:=NONE
POSTLINKFILETYPE:=none
-STATIC_RUNTIME_LIB:=
# We are appending to CDEFS but we don't want this to affect
--- a/sbsv2/raptor/lib/flm/e32abiv2pdl.flm Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2pdl.flm Tue Mar 16 15:27:06 2010 +0000
@@ -35,6 +35,7 @@
endif
LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib
+STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
CANIGNORENONCALLABLE:=1
# Fixed export TARGETTYPEs should only reference a .def file if an explicit DEFFILE statement is present in the .mmp file
--- a/sbsv2/raptor/lib/flm/e32abiv2pdll.flm Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2pdll.flm Tue Mar 16 15:27:06 2010 +0000
@@ -35,6 +35,8 @@
endif
LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib
+STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
+
# Default Postlinker settings
CANHAVEEXPORTS:=1
--- a/sbsv2/raptor/lib/flm/e32abiv2plugin.flm Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2plugin.flm Tue Mar 16 15:27:06 2010 +0000
@@ -28,6 +28,7 @@
endif
LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib
+STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
# Default Postlinker settings
CANHAVEEXPORTS:=1
--- a/sbsv2/raptor/lib/flm/e32abiv2stddll.flm Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2stddll.flm Tue Mar 16 15:27:06 2010 +0000
@@ -37,6 +37,7 @@
endif
LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib
+STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
LIBRARY:=$(LIBRARY) euser.dso
--- a/sbsv2/raptor/lib/flm/e32abiv2stdexe.flm Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2stdexe.flm Tue Mar 16 15:27:06 2010 +0000
@@ -35,6 +35,12 @@
LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
endif
+ifeq ($(EPOCNESTEDEXCEPTIONS),)
+ STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
+else
+ STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB_NESTED_EXCEPTIONS)
+endif
+
NAMEDSYMLKUP:=1
LIBRARY:=$(LIBRARY) euser.dso
--- a/sbsv2/raptor/lib/flm/e32abiv2stdlib.flm Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2stdlib.flm Tue Mar 16 15:27:06 2010 +0000
@@ -25,8 +25,6 @@
NOHIDEALL:=1
-STATIC_RUNTIME_LIB:=
-
include $(FLMHOME)/e32abiv2.flm
else
--- a/sbsv2/raptor/lib/flm/e32abiv2textnotifier2.flm Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2textnotifier2.flm Tue Mar 16 15:27:06 2010 +0000
@@ -35,6 +35,7 @@
endif
LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib
+STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
CANIGNORENONCALLABLE:=1
# Fixed export TARGETTYPEs should only reference a .def file if an explicit DEFFILE statement is present in the .mmp file
--- a/sbsv2/raptor/python/mmpparser.py Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/python/mmpparser.py Tue Mar 16 15:27:06 2010 +0000
@@ -143,6 +143,7 @@
CaselessKeyword('EPOCALLOWDLLDATA') ^ \
CaselessKeyword('EPOCCALLDLLENTRYPOINTS') ^ \
CaselessKeyword('EPOCFIXEDPROCESS') ^ \
+ CaselessKeyword('EPOCNESTEDEXCEPTIONS') ^ \
CaselessKeyword('EXPORTUNFROZEN') ^ \
CaselessKeyword('FEATUREVARIANT') ^ \
CaselessKeyword('BYTEPAIRCOMPRESSTARGET') ^ \
--- a/sbsv2/raptor/python/raptor_meta.py Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/python/raptor_meta.py Tue Mar 16 15:27:06 2010 +0000
@@ -2968,7 +2968,7 @@
self.__Raptor.PrintXML("<zipmarker>" + markerfilename + "</zipmarker>\n")
self.__Raptor.PrintXML("</clean>\n")
- except IOError:
+ except IOError, e:
self.__Raptor.Warn("Problem while unzipping export %s to %s: %s",source,destination,str(e))
self.__Raptor.Info("Unzipped %d files from %s to %s", filecount, source, destination)
--- a/sbsv2/raptor/test/smoke_suite/mmp_keywords.py Mon Mar 15 11:38:03 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/mmp_keywords.py Tue Mar 16 15:27:06 2010 +0000
@@ -288,6 +288,25 @@
t.returncode = 1
t.run()
+ # Test keyword: EPOCNESTEDEXCEPTIONS
+ t.id = "75n"
+ t.name = "epocnestedexceptions"
+ t.command = "sbs -b smoke_suite/test_resources/mmp/epocnestedexceptions/bld.inf -c armv5 -f-"
+
+ # When EPOCNESTEDEXCEPTIONS is specified in the MMP file, a different static
+ # run-time library should be used.
+ t.mustmatch_singleline = ["usrt_nx_\d_\d\.lib"]
+ t.mustnotmatch = ["usrt._.."]
+
+ t.countmatch = []
+
+ # The new static run-time libraries don't yet exist.
+ t.errors = 1
+ t.warnings = 2
+ t.targets = []
+
+ t.run()
+
t.id = "75"
t.name = "mmp_keywords"
t.print_result()
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/epocnestedexceptions/bld.inf Tue Mar 16 15:27:06 2010 +0000
@@ -0,0 +1,3 @@
+PRJ_MMPFILES
+test.mmp
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/epocnestedexceptions/test.cpp Tue Mar 16 15:27:06 2010 +0000
@@ -0,0 +1,7 @@
+#include <e32def.h>
+
+TInt E32Main()
+{
+ return 0;
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/epocnestedexceptions/test.mmp Tue Mar 16 15:27:06 2010 +0000
@@ -0,0 +1,11 @@
+TARGET test_mmp_epocnestedexceptions.exe
+TARGETTYPE EXE
+
+LIBRARY euser.lib
+
+SYSTEMINCLUDE /epoc32/include
+
+SOURCE test.cpp
+
+EPOCNESTEDEXCEPTIONS
+