--- a/sbsv2/raptor/lib/config/interfaces.xml Thu Dec 03 14:59:48 2009 +0000
+++ b/sbsv2/raptor/lib/config/interfaces.xml Thu Dec 10 16:51:17 2009 +0000
@@ -5,12 +5,13 @@
<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 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 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"/>
<set name="INTERFACE.stdlib" value="Symbian.stdlib"/>
<set name="INTERFACE.dll" value="Symbian.dll"/>
+ <set name="INTERFACE.pdll" value="Symbian.pdll"/>
<set name="INTERFACE.lib" value="Symbian.lib"/>
<set name="INTERFACE.ani" value="Symbian.ani"/>
<set name="INTERFACE.plugin" value="Symbian.plugin"/>
--- a/sbsv2/raptor/lib/flm/e32abiv2defaults.mk Thu Dec 03 14:59:48 2009 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2defaults.mk Thu Dec 10 16:51:17 2009 +0000
@@ -59,7 +59,7 @@
LINKER_ENTRYPOINT_ADORNMENT:=(uc_exe_.o)
endif
- ifeq ($(call isoneof,$(TARGETTYPE),ani textnotifier2 stddll plugin fsy pdl dll),1)
+ ifeq ($(call isoneof,$(TARGETTYPE),ani textnotifier2 stddll plugin fsy pdl dll pdll),1)
LINKER_ENTRYPOINT_ADORNMENT:=(uc_dll_.o)
endif
--- a/sbsv2/raptor/lib/flm/e32abiv2dll.flm Thu Dec 03 14:59:48 2009 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2dll.flm Thu Dec 10 16:51:17 2009 +0000
@@ -16,7 +16,7 @@
#
#
-ifeq ($(TARGETTYPE),dll)
+ifneq ($(call isoneof,$(TARGETTYPE),dll pdll),)
include $(FLMHOME)/e32abiv2defaults.mk
# What we need to build a DLL
--- a/sbsv2/raptor/lib/flm/standard.xml Thu Dec 03 14:59:48 2009 +0000
+++ b/sbsv2/raptor/lib/flm/standard.xml Thu Dec 10 16:51:17 2009 +0000
@@ -212,6 +212,10 @@
<param name='TARGETTYPE' default="dll"/>
<param name='UID1' default="10000079"/>
</interface>
+ <interface name="Symbian.pdll" extends="Symbian.e32abiv2" flm="e32abiv2dll.flm">
+ <param name='TARGETTYPE' default="pdll"/>
+ <param name='UID1' default="10000079"/>
+ </interface>
<interface name="Symbian.stddll" extends="Symbian.e32abiv2" flm="e32abiv2stddll.flm">
<param name='TARGETTYPE' default="stddll"/>
<param name='UID1' default="10000079"/>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/pdll_arm.py Thu Dec 10 16:51:17 2009 +0000
@@ -0,0 +1,137 @@
+#
+# 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 "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:
+#
+
+from raptor_tests import AntiTargetSmokeTest
+
+def run():
+ t = AntiTargetSmokeTest()
+ t.usebash = True
+ result = AntiTargetSmokeTest.PASS
+
+ command = "sbs -b smoke_suite/test_resources/simple_dll/pbld.inf -c %s -f -"
+ maintargets = [
+ "$(EPOCROOT)/epoc32/release/%s/udeb/createstaticpdll.dll.sym",
+ "$(EPOCROOT)/epoc32/release/%s/urel/createstaticpdll.dll.sym",
+ "$(EPOCROOT)/epoc32/release/%s/udeb/createstaticpdll.dll",
+ "$(EPOCROOT)/epoc32/release/%s/urel/createstaticpdll.dll"
+ ]
+ armv5targets = [
+ "$(EPOCROOT)/epoc32/release/%s/lib/createstaticpdll.dso",
+ "$(EPOCROOT)/epoc32/release/%s/lib/createstaticpdll{000a0000}.dso"
+ ]
+ abiv1libtargets = [
+ "$(EPOCROOT)/epoc32/release/%s/lib/createstaticpdll.lib",
+ "$(EPOCROOT)/epoc32/release/%s/lib/createstaticpdll{000a0000}.lib"
+ ]
+ buildtargets = [
+ "createstaticpdll_dll/%s/udeb/CreateStaticDLL.o",
+ "createstaticpdll_dll/%s/urel/CreateStaticDLL.o"
+ ]
+ mustmatch = [
+ r".*\busrt\d_\d\.lib\b.*",
+ r".*\bscppnwdl\.dso\b.*"
+ ]
+ mustnotmatch = [
+ ".*ksrt.*"
+ ]
+
+ # Note that ABIv1 import libraries are only generated for RVCT-based armv5
+ # builds on Windows
+
+ t.id = "000xa"
+ t.name = "pdll_armv5_rvct"
+ t.command = command % "armv5"
+ t.targets = map(lambda p: p % "armv5", maintargets + armv5targets)[:] # Shallow, as we optionally extend later and then re-use
+ t.addbuildtargets('smoke_suite/test_resources/simple_dll/pbld.inf', map(lambda p: p % "armv5", buildtargets))
+ t.mustmatch = mustmatch
+ t.mustnotmatch = mustnotmatch
+ t.run("linux")
+ if t.result == AntiTargetSmokeTest.SKIP:
+ t.targets.extend(map(lambda x: x % "armv5", abiv1libtargets))
+ t.run("windows")
+ if t.result == AntiTargetSmokeTest.FAIL:
+ result = AntiTargetSmokeTest.FAIL
+
+ t.id = "000xb"
+ t.name = "pdll_armv5_clean"
+ t.command = command % "armv5" + " clean"
+ t.targets = []
+ t.mustmatch = []
+ t.mustnotmatch = []
+ t.run()
+ if t.result == AntiTargetSmokeTest.FAIL:
+ result = AntiTargetSmokeTest.FAIL
+
+ t.id = "000xc"
+ t.name = "pdll_armv5_gcce"
+ t.command = command % "gcce_armv5"
+ t.targets = map(lambda p: p % "armv5", maintargets + armv5targets)
+ t.antitargets = map(lambda p: p % "armv5", abiv1libtargets)
+ t.addbuildtargets('smoke_suite/test_resources/simple_dll/pbld.inf', map(lambda p: p % "armv5", buildtargets))
+ t.mustmatch = mustmatch
+ t.mustnotmatch = mustnotmatch
+ t.run()
+ if t.result == AntiTargetSmokeTest.FAIL:
+ result = AntiTargetSmokeTest.FAIL
+
+ t.id = "000xd"
+ t.name = "pdll_armv5_gcce_clean"
+ t.command = command % "gcce_armv5" + "clean"
+ t.targets = []
+ t.mustmatch = []
+ t.mustnotmatch = []
+ t.run()
+ if t.result == AntiTargetSmokeTest.FAIL:
+ result = AntiTargetSmokeTest.FAIL
+
+ t.id = "000xe"
+ t.name = "pdll_armv7_rvct"
+ t.command = command % "armv7"
+ t.targets = map(lambda p: p % "armv7", maintargets)[:] # Shallow, as we optionally extend later and then re-use
+ t.addbuildtargets('smoke_suite/test_resources/simple_dll/pbld.inf', map(lambda p: p % "armv7", buildtargets))
+ t.mustmatch = mustmatch
+ t.mustnotmatch = mustnotmatch
+ t.run()
+ if t.result == AntiTargetSmokeTest.FAIL:
+ result = AntiTargetSmokeTest.FAIL
+
+ t.id = "000xf"
+ t.name = "pdll_armv7_clean"
+ t.command = command % "armv7" + " clean"
+ t.targets = []
+ t.mustmatch = []
+ t.mustnotmatch = []
+ t.run()
+ if t.result == AntiTargetSmokeTest.FAIL:
+ result = AntiTargetSmokeTest.FAIL
+
+ t.id = "000xg"
+ t.name = "pdll_armv7_gcce"
+ t.command = command % "arm.v7.udeb.gcce4_3_2 -c arm.v7.urel.gcce4_3_2"
+ t.targets = map(lambda p: p % "armv7", maintargets)
+ t.antitargets = map(lambda p: p % "armv7", abiv1libtargets)
+ t.addbuildtargets('smoke_suite/test_resources/simple_dll/pbld.inf', map(lambda p: p % "armv7", buildtargets))
+ t.mustmatch = mustmatch
+ t.mustnotmatch = mustnotmatch
+ t.run()
+ if t.result == AntiTargetSmokeTest.FAIL:
+ result = AntiTargetSmokeTest.FAIL
+
+ t.id = "x"
+ t.name = "pdll_arm"
+ t.result = result
+ t.print_result()
+ return t
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CreateStaticPDLL.mmp Thu Dec 10 16:51:17 2009 +0000
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 2000-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 "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:
+*
+*/
+
+TARGET createstaticpdll.dll
+TARGETTYPE pdll
+
+UID 0xE800004C
+CAPABILITY All -TCB
+
+
+VENDORID 0x70000001
+
+SOURCEPATH .
+SOURCE CreateStaticDLL.cpp
+
+#ifdef ARMV6
+SOURCE armv6_specific.cpp
+#endif
+#ifdef ARMV7
+SOURCE armv7_specific.cpp
+#endif
+
+USERINCLUDE .
+SYSTEMINCLUDE /epoc32/include
+
+LIBRARY euser.lib
+
+#if defined(WINS)
+ deffile ./CREATESTATICDLLWINS.def
+#elif defined(MARM)
+ deffile ./CREATESTATICDLLARM.def
+#endif
+nostrictdef
+
+#include "../inc/macrotests.mmh"
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/pbld.inf Thu Dec 10 16:51:17 2009 +0000
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2000-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 "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:
+* Component description file
+*
+*/
+
+
+PRJ_PLATFORMS
+ARMV5 ARMV6 ARMV7 ARMV5SMP
+
+PRJ_MMPFILES
+
+CreateStaticPDLL.mmp