# HG changeset patch # User Iain Williamson # Date 1260816441 0 # Node ID 203efe4f6b60f7970e1758da9a03eb144c144633 # Parent 540de0f551cf2575638d95bca2e3bd53c552f56a# Parent b806641dda89f21e867881ac940abb6c29271775 Release: Patchable Constants TARGETTYPE diff -r 540de0f551cf -r 203efe4f6b60 sbsv2/raptor/RELEASE-NOTES.txt --- a/sbsv2/raptor/RELEASE-NOTES.txt Fri Dec 11 16:23:21 2009 +0000 +++ b/sbsv2/raptor/RELEASE-NOTES.txt Mon Dec 14 18:47:21 2009 +0000 @@ -5,7 +5,7 @@ Other Changes: Combine Linking and Postlinking into a single step - +New 'Patchable Constants' target type: TARGETTYPE pdll version 2.11.2 diff -r 540de0f551cf -r 203efe4f6b60 sbsv2/raptor/lib/config/interfaces.xml --- a/sbsv2/raptor/lib/config/interfaces.xml Fri Dec 11 16:23:21 2009 +0000 +++ b/sbsv2/raptor/lib/config/interfaces.xml Mon Dec 14 18:47:21 2009 +0000 @@ -5,12 +5,13 @@ - + + diff -r 540de0f551cf -r 203efe4f6b60 sbsv2/raptor/lib/config/winscw.xml --- a/sbsv2/raptor/lib/config/winscw.xml Fri Dec 11 16:23:21 2009 +0000 +++ b/sbsv2/raptor/lib/config/winscw.xml Mon Dec 14 18:47:21 2009 +0000 @@ -26,6 +26,7 @@ + diff -r 540de0f551cf -r 203efe4f6b60 sbsv2/raptor/lib/flm/e32abiv2defaults.mk --- a/sbsv2/raptor/lib/flm/e32abiv2defaults.mk Fri Dec 11 16:23:21 2009 +0000 +++ b/sbsv2/raptor/lib/flm/e32abiv2defaults.mk Mon Dec 14 18:47:21 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 diff -r 540de0f551cf -r 203efe4f6b60 sbsv2/raptor/lib/flm/e32abiv2dll.flm --- a/sbsv2/raptor/lib/flm/e32abiv2dll.flm Fri Dec 11 16:23:21 2009 +0000 +++ b/sbsv2/raptor/lib/flm/e32abiv2dll.flm Mon Dec 14 18:47:21 2009 +0000 @@ -55,6 +55,6 @@ $(call vrestore) else -$(error $e32abiv2dll.flm called with wrong TARGETTYPE (should be 'dll' but is '$(TARGETTYPE)')) +$(error e32abiv2dll.flm called with wrong TARGETTYPE (should be 'dll' but is '$(TARGETTYPE)')) endif diff -r 540de0f551cf -r 203efe4f6b60 sbsv2/raptor/lib/flm/e32abiv2pdll.flm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sbsv2/raptor/lib/flm/e32abiv2pdll.flm Mon Dec 14 18:47:21 2009 +0000 @@ -0,0 +1,61 @@ +# 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: +# ARMv5 PDLL ABIv2 Function Like Makefile (FLM) +# Build an e32 PDLL (Patchable constants DLL) +# +# + +ifeq ($(TARGETTYPE),pdll) +include $(FLMHOME)/e32abiv2defaults.mk + +# What we need to build a DLL +ifeq ($(NOEXPORTLIBRARY),) +IMPORTLIBRARYREQUIRED:=1 +endif +POSTLINKDEFFILE:=$(DEFFILE) +SUPPORT_FREEZE:=1 + +# Default Linker settings for this target type +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)) + +ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True") +LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP) +endif + +LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib +STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB) + + +# Default Postlinker settings +CANHAVEEXPORTS:=1 +POSTLINKTARGETTYPE:=DLL +POSTLINKFILETYPE:=dll +DOPOSTLINK:=1 +CANIGNORENONCALLABLE:=1 + +# Use the general EABI FLM +# 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 +# and restore it afterwards +$(call vsave,CDEFS) +CDEFS:=$(CDEFS) __DLL__ +include $(FLMHOME)/e32abiv2.flm +$(call vrestore) + +else +$(error e32abiv2pdll.flm called with wrong TARGETTYPE (should be 'pdll' but is '$(TARGETTYPE)')) +endif + + diff -r 540de0f551cf -r 203efe4f6b60 sbsv2/raptor/lib/flm/emulator.xml --- a/sbsv2/raptor/lib/flm/emulator.xml Fri Dec 11 16:23:21 2009 +0000 +++ b/sbsv2/raptor/lib/flm/emulator.xml Mon Dec 14 18:47:21 2009 +0000 @@ -151,6 +151,23 @@ + + + + + + + + + + + + + + + + + diff -r 540de0f551cf -r 203efe4f6b60 sbsv2/raptor/lib/flm/standard.xml --- a/sbsv2/raptor/lib/flm/standard.xml Fri Dec 11 16:23:21 2009 +0000 +++ b/sbsv2/raptor/lib/flm/standard.xml Mon Dec 14 18:47:21 2009 +0000 @@ -212,6 +212,10 @@ + + + + diff -r 540de0f551cf -r 203efe4f6b60 sbsv2/raptor/lib/flm/win32dll.flm --- a/sbsv2/raptor/lib/flm/win32dll.flm Fri Dec 11 16:23:21 2009 +0000 +++ b/sbsv2/raptor/lib/flm/win32dll.flm Mon Dec 14 18:47:21 2009 +0000 @@ -30,5 +30,5 @@ include $(FLMHOME)/win32.flm else -$(error $win32dll.flm called with wrong TARGETTYPE (should be 'dll' but is '$(TARGETTYPE)')) +$(error win32dll.flm called with wrong TARGETTYPE (should be 'dll' but is '$(TARGETTYPE)')) endif diff -r 540de0f551cf -r 203efe4f6b60 sbsv2/raptor/lib/flm/win32pdll.flm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sbsv2/raptor/lib/flm/win32pdll.flm Mon Dec 14 18:47:21 2009 +0000 @@ -0,0 +1,34 @@ +# 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: +# WINSCW PDLL Function Like Makefile (FLM) +# Build an emulator PDLL +# +# + +ifeq ($(TARGETTYPE),pdll) + +BASE_TYPE:=dll +CW_STATIC_RUNTIME:=1 +FIRST_STATLIB:= +FIXED_EXPORT:= +SUPPORTS_IMPORT_LIBRARY:=1 +SYSTEM_TARGET:=0 +UID2_DEFAULT:= + +# Use the general win32 FLM +include $(FLMHOME)/win32.flm + +else +$(error $winp32dll.flm called with wrong TARGETTYPE (should be 'dll' but is '$(TARGETTYPE)')) +endif diff -r 540de0f551cf -r 203efe4f6b60 sbsv2/raptor/test/smoke_suite/pdll_arm.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sbsv2/raptor/test/smoke_suite/pdll_arm.py Mon Dec 14 18:47:21 2009 +0000 @@ -0,0 +1,121 @@ +# +# 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 + + 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 = "0104a" + 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") + + t.id = "0104b" + t.name = "pdll_armv5_clean" + t.command = command % "armv5" + " clean" + t.targets = [] + t.mustmatch = [] + t.mustnotmatch = [] + t.run() + + t.id = "0104c" + 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() + + t.id = "0104d" + t.name = "pdll_armv5_gcce_clean" + t.command = command % "gcce_armv5" + " clean" + t.targets = [] + t.mustmatch = [] + t.mustnotmatch = [] + t.run() + + t.id = "0104e" + 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() + + t.id = "0104f" + t.name = "pdll_armv7_clean" + t.command = command % "armv7" + " clean" + t.targets = [] + t.mustmatch = [] + t.mustnotmatch = [] + t.run() + + t.id = "0104g" + 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() + + t.id = "104" + t.name = "pdll_arm" + t.print_result() + return t diff -r 540de0f551cf -r 203efe4f6b60 sbsv2/raptor/test/smoke_suite/pdll_winscw.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sbsv2/raptor/test/smoke_suite/pdll_winscw.py Mon Dec 14 18:47:21 2009 +0000 @@ -0,0 +1,39 @@ +# +# 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 SmokeTest + +def run(): + t = SmokeTest() + t.id = "105" + t.name = "pdll_winscw" + t.command = "sbs -b smoke_suite/test_resources/simple_dll/pbld.inf -c winscw" + t.targets = [ + "$(EPOCROOT)/epoc32/release/winscw/udeb/createstaticpdll.lib", + "$(EPOCROOT)/epoc32/release/winscw/udeb/createstaticpdll.dll", + "$(EPOCROOT)/epoc32/release/winscw/urel/createstaticpdll.dll", + "$(EPOCROOT)/epoc32/release/winscw/urel/createstaticpdll.dll.map" + ] + t.addbuildtargets('smoke_suite/test_resources/simple_dll/pbld.inf', [ + "createstaticpdll_dll/winscw/udeb/CreateStaticDLL.o", + "createstaticpdll_dll/winscw/udeb/createstaticpdll.UID.CPP", + "createstaticpdll_dll/winscw/udeb/createstaticpdll_UID_.o", + "createstaticpdll_dll/winscw/urel/CreateStaticDLL.o", + "createstaticpdll_dll/winscw/urel/createstaticpdll.UID.CPP", + "createstaticpdll_dll/winscw/urel/createstaticpdll_UID_.o" + ]) + t.run() + return t diff -r 540de0f551cf -r 203efe4f6b60 sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CREATESTATICPDLLARM.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CREATESTATICPDLLARM.def Mon Dec 14 18:47:21 2009 +0000 @@ -0,0 +1,6 @@ +EXPORTS + _ZN10CMessenger11ShowMessageEv @ 1 NONAME + _ZN10CMessenger5NewLCER12CConsoleBaseRK7TDesC16 @ 2 NONAME + _ZTI10CMessenger @ 3 NONAME + _ZTV10CMessenger @ 4 NONAME + diff -r 540de0f551cf -r 203efe4f6b60 sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CREATESTATICPDLLWINS.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CREATESTATICPDLLWINS.def Mon Dec 14 18:47:21 2009 +0000 @@ -0,0 +1,4 @@ +EXPORTS + ?ShowMessage@CMessenger@@QAEXXZ @ 1 NONAME ; ?ShowMessage@CMessenger@@QAEXXZ + ?NewLC@CMessenger@@SAPAV1@AAVCConsoleBase@@ABVTDesC16@@@Z @ 2 NONAME ; ?NewLC@CMessenger@@SAPAV1@AAVCConsoleBase@@ABVTDesC16@@@Z + diff -r 540de0f551cf -r 203efe4f6b60 sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CreateStaticPDLL.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CreateStaticPDLL.mmp Mon Dec 14 18:47:21 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 ./CREATESTATICPDLLWINS.def +#elif defined(MARM) + deffile ./CREATESTATICPDLLARM.def +#endif +nostrictdef + +#include "../inc/macrotests.mmh" + diff -r 540de0f551cf -r 203efe4f6b60 sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/pbld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/pbld.inf Mon Dec 14 18:47:21 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 WINSCW + +PRJ_MMPFILES + +CreateStaticPDLL.mmp