fix - add support for PLUGIN3 TARGETTYPEs fix
authorJon Chatten
Fri, 19 Feb 2010 17:14:12 +0000
branchfix
changeset 234 5350032783e4
parent 232 4b2787756a35
child 235 9c346075cd97
fix - add support for PLUGIN3 TARGETTYPEs
sbsv2/raptor/lib/config/interfaces.xml
sbsv2/raptor/lib/config/winscw.xml
sbsv2/raptor/lib/flm/e32abiv2defaults.mk
sbsv2/raptor/lib/flm/e32abiv2plugin.flm
sbsv2/raptor/lib/flm/emulator.xml
sbsv2/raptor/lib/flm/standard.xml
sbsv2/raptor/lib/flm/win32plugin.flm
sbsv2/raptor/test/smoke_suite/plugin_armv5_winscw_freeze.py
sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/bld.inf
sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/plugin3.mmp
--- a/sbsv2/raptor/lib/config/interfaces.xml	Wed Feb 17 16:53:22 2010 +0000
+++ b/sbsv2/raptor/lib/config/interfaces.xml	Fri Feb 19 17:14:12 2010 +0000
@@ -5,7 +5,7 @@
 	<var name="default.interfaces">
 		<!-- interfaces corresponding to target types -->
 
-		<set name="INTERFACE_TYPES" value="exe stdexe ext_makefile dll stddll lib stdlib export extension ani plugin textnotifier2 implib var var2 exexp kexe kdll kext klib pdll ldd pdd pdl fsy resource none stringtable bitmap"/>
+		<set name="INTERFACE_TYPES" value="exe stdexe ext_makefile dll stddll lib stdlib export extension ani plugin plugin3 textnotifier2 implib var var2 exexp kexe kdll kext klib pdll ldd pdd pdl fsy resource none stringtable bitmap"/>
 		<set name="INTERFACE.exe" value="Symbian.exe"/>
 		<set name="INTERFACE.stdexe" value="Symbian.stdexe"/>
 		<set name="INTERFACE.stddll" value="Symbian.stddll"/>
@@ -15,6 +15,7 @@
 		<set name="INTERFACE.lib" value="Symbian.lib"/>
 		<set name="INTERFACE.ani" value="Symbian.ani"/>
 		<set name="INTERFACE.plugin" value="Symbian.plugin"/>
+		<set name="INTERFACE.plugin3" value="Symbian.plugin3"/>
 		<set name="INTERFACE.textnotifier2" value="Symbian.textnotifier2"/>
 		<set name="INTERFACE.implib" value="Symbian.implib"/>
 		<set name="INTERFACE.var" value="Symbian.var"/>
--- a/sbsv2/raptor/lib/config/winscw.xml	Wed Feb 17 16:53:22 2010 +0000
+++ b/sbsv2/raptor/lib/config/winscw.xml	Fri Feb 19 17:14:12 2010 +0000
@@ -41,6 +41,7 @@
 		<set name="INTERFACE.pdd" value="Emulator.pdd"/>
 		<set name="INTERFACE.pdl" value="Emulator.pdl"/>
 		<set name="INTERFACE.plugin" value="Emulator.plugin"/>
+		<set name="INTERFACE.plugin3" value="Emulator.plugin3"/>
 		<set name="INTERFACE.resource" value="Emulator.resource"/>
 		<set name="INTERFACE.textnotifier2" value="Emulator.textnotifier2"/>
 		<set name="INTERFACE.var" value="Emulator.var"/>
--- a/sbsv2/raptor/lib/flm/e32abiv2defaults.mk	Wed Feb 17 16:53:22 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2defaults.mk	Fri Feb 19 17:14:12 2010 +0000
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2007-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"
@@ -59,7 +59,7 @@
 	LINKER_ENTRYPOINT_ADORNMENT:=(uc_exe_.o)
   endif
 
-  ifeq ($(call isoneof,$(TARGETTYPE),ani textnotifier2 stddll plugin fsy pdl dll pdll),1)
+  ifeq ($(call isoneof,$(TARGETTYPE),ani textnotifier2 stddll plugin plugin3 fsy pdl dll pdll),1)
 	LINKER_ENTRYPOINT_ADORNMENT:=(uc_dll_.o)
   endif
 
--- a/sbsv2/raptor/lib/flm/e32abiv2plugin.flm	Wed Feb 17 16:53:22 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2plugin.flm	Fri Feb 19 17:14:12 2010 +0000
@@ -16,7 +16,7 @@
 # 
 #
 
-ifeq ($(TARGETTYPE),plugin)
+ifneq ($(filter plugin plugin3,$(TARGETTYPE)),)
 include $(FLMHOME)/e32abiv2defaults.mk
 
 # Default Linker settings for this target type
@@ -50,6 +50,10 @@
 # We could check the UID rather than forcing it
 # but there seems to be no point in that.
 UID2:=10009D8D
+ifeq ($(TARGETTYPE),plugin3)
+UID2:=10009D93
+POSTLINKTARGETTYPE:=PLUGIN3
+endif
 
 
 RESOURCEPATH:=Resource/Plugins
@@ -64,5 +68,5 @@
 $(call vrestore)
 
 else
-$(error $e32abiv2plugin.flm called with wrong TARGETTYPE (should be 'plugin' but is '$(TARGETTYPE)'))
+$(error $e32abiv2plugin.flm called with wrong TARGETTYPE (should be 'plugin' or 'plugin3' but is '$(TARGETTYPE)'))
 endif
--- a/sbsv2/raptor/lib/flm/emulator.xml	Wed Feb 17 16:53:22 2010 +0000
+++ b/sbsv2/raptor/lib/flm/emulator.xml	Fri Feb 19 17:14:12 2010 +0000
@@ -231,6 +231,9 @@
 	<interface name="Emulator.plugin" extends="Emulator.dll" flm="win32plugin.flm">
 	</interface>
 
+	<interface name="Emulator.plugin3" extends="Emulator.dll" flm="win32plugin.flm">
+	</interface>
+
 	<interface name="Emulator.textnotifier2" extends="Emulator.dll" flm="win32textnotifier2.flm">
 	</interface>
 
--- a/sbsv2/raptor/lib/flm/standard.xml	Wed Feb 17 16:53:22 2010 +0000
+++ b/sbsv2/raptor/lib/flm/standard.xml	Fri Feb 19 17:14:12 2010 +0000
@@ -237,6 +237,8 @@
 	</interface>
 	<interface name="Symbian.plugin" extends="Symbian.dll" flm="e32abiv2plugin.flm">
 	</interface>
+	<interface name="Symbian.plugin3" extends="Symbian.dll" flm="e32abiv2plugin.flm">
+	</interface>
 	<interface name="Symbian.textnotifier2" extends="Symbian.dll" flm="e32abiv2textnotifier2.flm">
 	</interface>
 	<interface name="Symbian.implib" extends="Symbian.dll" flm="e32abiv2implib.flm">
--- a/sbsv2/raptor/lib/flm/win32plugin.flm	Wed Feb 17 16:53:22 2010 +0000
+++ b/sbsv2/raptor/lib/flm/win32plugin.flm	Fri Feb 19 17:14:12 2010 +0000
@@ -1,4 +1,4 @@
-# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2007-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"
@@ -16,19 +16,22 @@
 # 
 #
 
-ifeq ($(TARGETTYPE),plugin)
-
+ifneq ($(filter plugin plugin3,$(TARGETTYPE)),)
 BASE_TYPE:=dll
 CW_STATIC_RUNTIME:=1
 FIRST_STATLIB:=
 FIXED_EXPORT:=?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z
 SUPPORTS_IMPORT_LIBRARY:=0
 SYSTEM_TARGET:=0
+
 UID2_DEFAULT:=10009D8D
+ifeq ($(TARGETTYPE),plugin3)
+UID2_DEFAULT:=10009D93
+endif
 
 # Use the general win32 FLM 
 include $(FLMHOME)/win32.flm
 
 else
-$(error $win32plugin.flm called with wrong TARGETTYPE (should be 'plugin' but is '$(TARGETTYPE)'))
+$(error $win32plugin.flm called with wrong TARGETTYPE (should be 'plugin' or 'plugin3' but is '$(TARGETTYPE)'))
 endif
--- a/sbsv2/raptor/test/smoke_suite/plugin_armv5_winscw_freeze.py	Wed Feb 17 16:53:22 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/plugin_armv5_winscw_freeze.py	Fri Feb 19 17:14:12 2010 +0000
@@ -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"
@@ -20,15 +20,16 @@
 	t = SmokeTest()
 	t.id = "90"
 	t.name = "plugin_armv5_winscw_freeze"
-	t.description = """Builds two PLUGIN components, one with and one without an explicit DEFFILE statement,
-		and confirms the correct FREEZE behaviour in each case.  The correct behaviour for a PLUGIN is indicative
-		of all TARGETTYPEs where the build system defines known exports: FREEZE should do nothing unless an
-		explicit DEFFILE statement is present in the .mmp file."""
+	t.description = """Builds several ECOM plugins, with and without explicit DEFFILE statements, confirming
+		the correct FREEZE behaviour in each case.  The correct behaviour for a PLUGIN/PLUGIN3 is
+		indicative of all TARGETTYPEs where the build system defines known exports: FREEZE should do nothing
+		unless an explicit DEFFILE statement is present in the .mmp file.
+		Also confirms default UID2 settings for PLUGIN3 TARGETTYPEs."""
 	t.usebash = True
 	
 	t.command = """
 		sbs -b smoke_suite/test_resources/simple_plugin/bld.inf -c armv5_urel -c winscw_urel CLEAN > /dev/null &&
-		sbs -b smoke_suite/test_resources/simple_plugin/bld.inf -c armv5_urel -c winscw_urel > /dev/null &&
+		sbs -f- -b smoke_suite/test_resources/simple_plugin/bld.inf -c armv5_urel -c winscw_urel &&
 		sbs -b smoke_suite/test_resources/simple_plugin/bld.inf -c armv5_urel -c winscw_urel FREEZE -m ${SBSMAKEFILE} -f ${SBSLOGFILE}"""
 
 	t.targets = [
@@ -43,7 +44,10 @@
 	
 	t.mustmatch = [
 		".*EFREEZE: Appending 3 New Export\(s\) to .*/test/smoke_suite/test_resources/simple_plugin/eabi/plugin2u.def.*",
-		".*EFREEZE: Appending 1 New Export\(s\) to .*/test/smoke_suite/test_resources/simple_plugin/bwins/plugin2u.def.*"
+		".*EFREEZE: Appending 1 New Export\(s\) to .*/test/smoke_suite/test_resources/simple_plugin/bwins/plugin2u.def.*",
+		".*__EMULATOR_IMAGE_HEADER2\(0x10000079,0x10009D93,0x00000000.*",
+		".*elf2e32.*--targettype=PLUGIN3.*--output=.*plugin3.dll.*--uid2=0x10009D93.*"
+		
 		]
 
 	t.mustnotmatch = [
@@ -51,6 +55,6 @@
 		".*EFREEZE: .*/test/smoke_suite/test_resources/simple_plugin/bwins/pluginu.def.*"
 		]
 	
-	t.warnings = 2	
+	t.warnings = 4	
 	t.run()
 	return t
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/bld.inf	Wed Feb 17 16:53:22 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/bld.inf	Fri Feb 19 17:14:12 2010 +0000
@@ -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,3 +18,4 @@
 PRJ_MMPFILES
 plugin.mmp
 plugin_with_deffile.mmp
+plugin3.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/plugin3.mmp	Fri Feb 19 17:14:12 2010 +0000
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 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"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Example ECOMP plugin3 component, with no UID listed
+*
+*/
+
+
+
+TARGET			plugin3.dll
+TARGETTYPE		plugin3
+CAPABILITY		Protserv
+VENDORID		0x70000001
+SOURCEPATH		.
+SOURCE			plugin.cpp
+SYSTEMINCLUDE 	/epoc32/include
+SYSTEMINCLUDE 	/epoc32/include/ecom 
+LIBRARY			euser.lib apmime.lib efsrv.lib