DPDEF143176 raptor does not respect STDCPP mmp file keyword fix
authorjchatten
Mon, 07 Dec 2009 14:39:13 +0000
branchfix
changeset 40 afaf81347e0a
parent 39 164b0547f8a5
child 41 8271ebf1309f
DPDEF143176 raptor does not respect STDCPP mmp file keyword
sbsv2/raptor/lib/flm/win32.flm
sbsv2/raptor/test/smoke_suite/exe_winscw.py
sbsv2/raptor/test/smoke_suite/openenvironment.py
--- a/sbsv2/raptor/lib/flm/win32.flm	Mon Dec 07 12:50:33 2009 +0000
+++ b/sbsv2/raptor/lib/flm/win32.flm	Mon Dec 07 14:39:13 2009 +0000
@@ -111,13 +111,20 @@
     endif
   endif
 
+  # Operator new linking depends on both the use of the NEWLIB keyword and whether a component supports a standard
+  # CPP build.
   ifneq ($(NEWLIB),)
+    # If specified, always use the NEWLIB keyword value for operator new library linking
     NEWLIBFILE:=$(STATLIBDIR)/$(NEWLIB)
   else
-    ifeq ($(SYSTEM_TARGET),1)
-      NEWLIBFILE:=$(STATLIBDIR)/$(DEFAULT_SYSTEM_NEWLIB)
-    else
-      NEWLIBFILE:=$(STATLIBDIR)/$(DEFAULT_NORMAL_NEWLIB)
+    # If not performing a standard CPP build, link to an appropriate default Symbian new library.
+    # Standard CPP components defer to the toolchain supplied libraries.
+    ifneq ($(STDCPP_BUILD),1)
+      ifeq ($(SYSTEM_TARGET),1)
+        NEWLIBFILE:=$(STATLIBDIR)/$(DEFAULT_SYSTEM_NEWLIB)
+      else
+        NEWLIBFILE:=$(STATLIBDIR)/$(DEFAULT_NORMAL_NEWLIB)
+      endif
     endif
   endif
 endif
--- a/sbsv2/raptor/test/smoke_suite/exe_winscw.py	Mon Dec 07 12:50:33 2009 +0000
+++ b/sbsv2/raptor/test/smoke_suite/exe_winscw.py	Mon Dec 07 14:39:13 2009 +0000
@@ -20,7 +20,8 @@
 	t = SmokeTest()
 	t.id = "33"
 	t.name = "exe_winscw"
-	t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf -c winscw"
+	t.usebash = True
+	t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf -c winscw; grep -E \"mwldsym2\" ${SBSLOGFILE}"
 	t.targets = [
 		"$(EPOCROOT)/epoc32/release/winscw/udeb/test.exe",
 		"$(EPOCROOT)/epoc32/release/winscw/urel/test.exe",
@@ -36,5 +37,9 @@
 		"test_/winscw/urel/test_UID_.o",
 		"test_/winscw/urel/test.UID.CPP"
 	])
+	# Check that the default operator new library is used
+	t.mustmatch = [
+		'.*mwldsym2.*scppnwdl.lib.*test.exe.*'
+		]
 	t.run()
 	return t
--- a/sbsv2/raptor/test/smoke_suite/openenvironment.py	Mon Dec 07 12:50:33 2009 +0000
+++ b/sbsv2/raptor/test/smoke_suite/openenvironment.py	Mon Dec 07 14:39:13 2009 +0000
@@ -20,13 +20,11 @@
 	t = SmokeTest()
 	t.id = "39"
 	t.name = "openenvironment"
-	t.description = "Test STDEXE, STDLIB and STDDLL creation; Test open " + \
-			"environment project linking against a symbian environment " + \
-			"library; Test symbian environment project linking against an " + \
-			"open environment library"
+	t.description = """Test STDEXE, STDLIB and STDDLL creation; Test open environment project linking against a symbian environment
+		library; Test symbian environment project linking against an open environment library"""
 	t.usebash = True
-	t.command = "sbs -k -b smoke_suite/test_resources/oe/group/bld.inf -c armv5 " \
-			+ "-c winscw -m ${SBSMAKEFILE} -f ${SBSLOGFILE}; grep -E \"(armlink|checklib)\" ${SBSLOGFILE} "
+	t.command = "sbs -k -b smoke_suite/test_resources/oe/group/bld.inf -c armv5 -c winscw " + \
+		"-m ${SBSMAKEFILE} -f ${SBSLOGFILE}; grep -E \"(armlink|checklib|mwldsym2)\" ${SBSLOGFILE}"
 	t.targets = [
 		"$(EPOCROOT)/epoc32/release/armv5/urel/t_oedll.dll.sym",
 		"$(EPOCROOT)/epoc32/release/armv5/urel/symbian_test.lib",
@@ -213,7 +211,8 @@
 			'.*armlink.*symbian_exe_with_stdcpp.*scppnwdl.dso.*',
 			'.*armlink.*oedll.*scppnwdl.dso.*',
 			'.*armlink.*oeexe.*scppnwdl.dso.*',
-			'.*armlink.*symbian_newlib.exe.*stdnew.dso.*'
+			'.*armlink.*symbian_newlib.exe.*stdnew.dso.*',
+			'.*mwldsym2.*scppnwdl.lib.*symbian_exe_with_stdcpp.exe.*'
 		]
 	else: 
 		# these files will build for 9.4