--- a/sbsv2/raptor/lib/config/gcce.xml Fri Nov 20 21:18:02 2009 +0000
+++ b/sbsv2/raptor/lib/config/gcce.xml Mon Nov 30 17:49:36 2009 +0000
@@ -10,7 +10,7 @@
<set name="ASM" value="$(GCCEASM)"/>
<set name="AR" value="$(GCCEAR)"/>
<set name="GCCECC" value="$(GCCEBIN)/arm-none-symbianelf-g++$(DOTEXE)"/>
- <set name="GCCELD" value="$(GCCEBIN)/arm-none-symbianelf-ld$(DOTEXE)"/>
+ <set name="GCCELD" value="$(GCCEBIN)/arm-none-symbianelf-g++$(DOTEXE)"/>
<set name="GCCEASM" value="$(GCCEBIN)/arm-none-symbianelf-as$(DOTEXE)"/>
<set name="GCCEAR" value="$(GCCEBIN)/arm-none-symbianelf-ar$(DOTEXE)"/>
<set name="FROMELF" value="$(GCCEBIN)/arm-none-symbianelf-readelf$(DOTEXE)"/>
@@ -33,16 +33,17 @@
<set name="EXTRA_LD_OPTION" value=""/>
<set name="FPMODE_OPTION" value=""/>
<set name="LD_ERRORS_CONTROL_OPTION" value=""/>
- <set name="LD_WARNINGS_CONTROL_OPTION" value="--no-undefined"/>
+ <set name="LD_WARNINGS_CONTROL_OPTION" value="-Wl,--no-undefined"/>
<set name="LISTING_OPTION" value="-S"/>
<set name="EXCEPTIONS" value="-fexceptions"/>
<set name="NO_EXCEPTIONS" value="-fno-exceptions"/>
<set name="PREINCLUDE_OPTION" value="-include"/>
<set name="PREPROCESSOR_OPTION" value="-E"/>
<set name="REL_OPTIMISATION" value="-O2"/>
- <set name="STDLIB_OPTION" value="-nostdlib"/>
+ <set name="STDLIB_OPTION" value="-nodefaultlibs"/>
<set name="RUNTIME_SYMBOL_VISIBILITY_OPTION" value=""/>
- <set name="RW_BASE_OPTION" value="-Tdata"/>
+ <set name="RW_BASE_OPTION" value="-Wl,-Tdata,"/>
+ <set name="RW_BASE" value="$(RW_BASE_OPTION)0x400000"/>
<set name="CODE_SEGMENT_START" value="-Ttext"/>
<set name="PREINCLUDE" value="$(EPOCINCLUDE)/gcce/gcce.h"/>
<!-- From the GCC manual: "With this option, GCC uses features of DWARF version 3 when they are useful; ..." -->
@@ -72,24 +73,24 @@
<set name="LINKER_DEBUG_OPTION" value=""/>
<!-- Clearly the linker libs stuff following isn't right - need to use ARMLIBS (or reinvent this a bit) -->
<set name="LINKER_DEFAULT_LIBS" value="-lsupc++ -lgcc"/>
- <set name="LINKER_DEFAULT_LIB_PATHS" value="-L $(GCCEBIN)/../lib/gcc/arm-none-symbianelf/$(TOOLCHAINVERSION) -L $(GCCEBIN)/../lib/gcc/arm-none-symbianelf/$(TOOLCHAINVERSION)/../../../../arm-none-symbianelf/lib"/>
- <set name="LINKER_ENTRY_OPTION" value="--entry"/>
+ <set name="LINKER_DEFAULT_LIB_PATHS" value=""/>
+ <set name="LINKER_ENTRY_OPTION" value="-Wl,--entry"/>
<set name="LINKER_GROUP_START_OPTION" value="--start-group"/>
<set name="LINKER_GROUP_END_OPTION" value="--end-group"/>
- <set name="LINKER_MISC_FLAGS" value="$(CODE_SEGMENT_START) 0x8000"/>
- <set name="LINKER_NODEBUG_OPTION" value = "--strip-debug"/>
+ <set name="LINKER_MISC_FLAGS" value="-Wl,$(CODE_SEGMENT_START),0x8000"/>
+ <set name="LINKER_NODEBUG_OPTION" value = "-Wl,--strip-debug"/>
<set name="LINKER_SCRIPT_FILE_OPTION" value="-T"/>
- <set name="LINKER_SYMBOLS_OPTION" value="-Map"/>
- <set name="LINKER_SYMBOLS_FILE_OPTION" value=""/>
- <set name="SHARED_OBJECT_OPTION" value="-shared"/>
+ <set name="LINKER_SYMBOLS_OPTION" value=""/>
+ <set name="LINKER_SYMBOLS_FILE_OPTION" value="-Wl,-Map"/>
+ <set name="SHARED_OBJECT_OPTION" value="-Wl,-shared"/>
<set name="SID" value=""/>
- <set name="SO_NAME_OPTION" value="-soname"/>
+ <set name="SO_NAME_OPTION" value="-Wl,-soname"/>
<set name="STATIC_LIBS_PATH" value="" />
<set name="STDCPP_INCLUDE" value="$(EPOCINCLUDE)/stdapis"/>
<set name="SUPPORTS_ABIV1_IMPLIBS" value=""/>
<set name="SYMBIAN_LD_MESSAGE_OPTION" value="$(LD_WARNINGS_CONTROL_OPTION) $(LD_ERRORS_CONTROL_OPTION)"/>
<set name="TARGET_RELOCATION_OPTION" value="--target1-rel" />
- <set name="SYMVER_OPTION" value="--default-symver"/>
+ <set name="SYMVER_OPTION" value="-Wl,--default-symver"/>
<set name="TEMP_FILES_OPTION" value="-pipe"/>
<set name="THUMB_INSTRUCTION_SET" value="-mthumb"/>
<set name="TRANSFORM_CIA" value=""/>
--- a/sbsv2/raptor/lib/config/rvct.xml Fri Nov 20 21:18:02 2009 +0000
+++ b/sbsv2/raptor/lib/config/rvct.xml Mon Nov 30 17:49:36 2009 +0000
@@ -42,7 +42,8 @@
<set name="REL_OPTIMISATION" value="-O2"/>
<set name="STDLIB_OPTION" value="--no_scanlib"/>
<set name="RUNTIME_SYMBOL_VISIBILITY_OPTION" value="--dllimport_runtime"/>
- <set name="RW_BASE_OPTION" value="--rw-base"/>
+ <set name="RW_BASE_OPTION" value="--rw-base" />
+ <set name="RW_BASE" value="$(RW_BASE_OPTION) 0x400000"/>
<set name="CODE_SEGMENT_START" value=""/>
<set name="PREINCLUDE" value="$(RVCT_PRE_INCLUDE)"/>
<set name="CC.DWARF2" value="--dwarf2"/>
@@ -75,7 +76,7 @@
<set name="LINKER_MISC_FLAGS" value="$(LICENSERETRY_OPTION)"/>
<set name="LINKER_NODEBUG_OPTION" value=""/>
<set name="LINKER_SCRIPT_FILE_OPTION" value=""/>
- <set name="LINKER_SYMBOLS_OPTION" value="--symbols"/>
+ <set name="LINKER_SYMBOLS_OPTION" value="--symbols"/>
<set name="LINKER_SYMBOLS_FILE_OPTION" value="--list"/>
<set name="SHARED_OBJECT_OPTION" value="--dll"/>
<set name="SID" value=""/>
--- a/sbsv2/raptor/lib/config/variants.xml Fri Nov 20 21:18:02 2009 +0000
+++ b/sbsv2/raptor/lib/config/variants.xml Mon Nov 30 17:49:36 2009 +0000
@@ -79,16 +79,19 @@
</var>
<var name="gcce4_3_2" extends="gcce_base">
- <env name="GCCEBIN" type="path" />
- <env name="GCCEVERSION" default="$(TOOLCHAINVERSION)" />
- <set name="TOOLCHAINVERSION" value="4.3.2" />
+ <env name="SBS_GCCE432BIN" type="path" />
+ <set name="GCCEBIN" value="$(SBS_GCCE432BIN)" />
<set name="OWN_LIBRARY_OPTION" value=""/>
<set name="STATIC_LIBS_LIST" value=""/>
<set name="RUNTIME_LIBS_LIST" value="drtaeabi.dso dfpaeabi.dso dfprvct3_1.dso drtrvct3_1.dso"/>
<set name="ARMLIBS" value=""/>
<set name="CC.SOFTVFP_MAYBE_VFPV2" value="soft"/>
<set name="PL.SOFTVFP_MAYBE_VFPV2" value="softvfp"/>
+ <set name="CC.SOFTVFP_MAYBE_VFPV3" value="soft"/>
+ <set name="PL.SOFTVFP_MAYBE_VFPV3" value="softvfp"/>
<set name="CC.ARMV5" value="-march=armv5t"/>
+ <set name="CC.ARMV6" value="-march=armv6t2"/>
+ <set name="CC.ARMV7" value="-march=armv7"/>
<set name="RELOCATABLE_IMAGE_OPTION" value=""/>
<set name="RVCTLIB" value=""/>
<set name="CC.NO_UNALIGNED_ACCESS" value=""/>
@@ -99,15 +102,21 @@
<set name="USER_STATIC_RUNTIME_LIB" value="usrt3_1.lib"/>
<set name="KERNEL_STATIC_RUNTIME_LIB" value="ksrt3_1.lib"/>
<set name="NEED_ENTRYPOINT_LIBRARY" value="" />
+ <set name="PLATMACROS.VAR" value="GCCE_4 GCCE_4_3"/>
+ <set name="ARMMACROS.VAR" value="__GCCE_4__ __GCCE_4_3__"/>
</var>
<var name="gcce4_3_3" extends="gcce4_3_2">
- <set name="TOOLCHAINVERSION" value="4.3.3" />
+ <env name="SBS_GCCE433BIN" type="path" />
+ <set name="GCCEBIN" value="$(SBS_GCCE433BIN)" />
</var>
<var name="gcce4_4_1" extends="gcce4_3_3">
- <set name="TOOLCHAINVERSION" value="4.4.1" />
+ <env name="SBS_GCCE441BIN" type="path" />
+ <set name="GCCEBIN" value="$(SBS_GCCE441BIN)" />
<set name="RUNTIME_LIBS_LIST" value="drtaeabi.dso dfpaeabi.dso"/>
+ <set name="PLATMACROS.VAR" value="GCCE_4 GCCE_4_4"/>
+ <set name="ARMMACROS.VAR" value="__GCCE_4__ __GCCE_4_4__"/>
</var>
<var name="rvct2_2" extends="rvct">
@@ -244,5 +253,18 @@
<var name="mwccinc">
<set name='OPTION_CW' value='-cwd include'/>
</var>
-
+
+ <!-- Variant to allow GCCE-built binaries to be created in epoc32/release/gcce,
+ epoc32/release/gccev6 and epoc32/release/gccev7 -->
+ <var name="release_gcce">
+ <set name="VARIANTPLATFORM" value="gcce" />
+ <set name="STATIC_RUNTIME_DIR" value="$(EPOCROOT)/epoc32/release/armv5/$(VARIANTTYPE)"/>
+ <set name="STATIC_LIBRARY_DIR" value="$(EPOCROOT)/epoc32/release/armv5/$(VARIANTTYPE)"/>
+ </var>
+ <var name="release_gccev6" extends="release_gcce" >
+ <set name="VARIANTPLATFORM" value="gccev6" />
+ </var>
+ <var name="release_gccev7" extends="release_gcce" >
+ <set name="VARIANTPLATFORM" value="gccev7" />
+ </var>
</build>
--- a/sbsv2/raptor/lib/flm/build.flm Fri Nov 20 21:18:02 2009 +0000
+++ b/sbsv2/raptor/lib/flm/build.flm Mon Nov 30 17:49:36 2009 +0000
@@ -34,7 +34,7 @@
define doexports
PP_EXPORTS::
$(call startrule,makefile_generation_exports) \
- $(SBS) --pp=slave --toolcheck=off --export-only $(component_list) $(config_list) -f- -m $(MAKEFILE_PATH).exports $(cli_options) \
+ $(SBS) --toolcheck=off --export-only $(component_list) $(config_list) -f- -m $(MAKEFILE_PATH).exports $(CLI_OPTIONS) \
$(call endrule,makefile_generation_exports)
CLEANTARGETS:=$$(CLEANTARGETS) $(MAKEFILE_PATH).exports
@@ -46,9 +46,9 @@
ALL:: $(MAKEFILE_PATH)
-$(MAKEFILE_PATH): $(COMPONENT_PATHS) | PP_EXPORTS
+$(MAKEFILE_PATH): $(COMPONENT_PATHS) $(if $(DOEXPORT),| PP_EXPORTS )
$(call startrule,makefile_generation) \
- $(SBS) --pp=slave --toolcheck=off -n $(CLI_OPTIONS) $(component_list) $(config_list) -m $$@ -f- \
+ $(SBS) --noexport --toolcheck=off -n $(CLI_OPTIONS) $(component_list) $(config_list) -m $$@ -f- \
$(call endrule,makefile_generation)
CLEANTARGETS:=$$(CLEANTARGETS) $(MAKEFILE_PATH)
@@ -58,9 +58,13 @@
# Create config list for commands
config_list:=$(addprefix -c ,$(CONFIGS))
component_list:=$(addprefix -b ,$(COMPONENT_PATHS))
-$(info <debug>build.flm: configlist: $(config_list)</debug>)
+
+$(if $(FLMDEBUG),$(info <debug>build.flm: configlist: $(config_list)</debug>))
-$(eval $(doexports))
+# Do exports only if asked. This doesn't work brilliantly in emake
+# since exports are often duplicated in some components - leads to conflicts
+# and rebuilds. Better to export before trying to do parallel parsing at all.
+$(if $(DOEXPORT),$(eval $(doexports)),$(if $(FLMDEBUG),$(info <debug>build.flm: Exports off </debug>)))
# Create the Makefiles
$(eval $(call generate_makefiles))
--- a/sbsv2/raptor/lib/flm/build.xml Fri Nov 20 21:18:02 2009 +0000
+++ b/sbsv2/raptor/lib/flm/build.xml Mon Nov 30 17:49:36 2009 +0000
@@ -9,6 +9,7 @@
<param name='CONFIGS' default=''/>
<param name='CLI_OPTIONS' default=''/>
<param name='NO_BUILD' default='' />
+ <param name='DOEXPORT' default='1' />
</interface>
</build>
--- a/sbsv2/raptor/lib/flm/e32abiv2.flm Fri Nov 20 21:18:02 2009 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2.flm Mon Nov 30 17:49:36 2009 +0000
@@ -595,14 +595,13 @@
$(LD) $(LINKER_MISC_FLAGS) $(LINKER_DEFAULT_LIB_PATHS) $(SYMBIAN_LINK_FLAGS) $(if $(DEBUG_INFO),$(LINKER_DEBUG_OPTION),$(LINKER_NODEBUG_OPTION)) \
$(if $(ARMLIBS),$(LD_WARNINGS_SUPPRESSION_ARMLIBS),) \
$(SHARED_OBJECT_OPTION) $(SPLIT_OPTION) \
- $(RW_BASE_OPTION) 0x400000 \
+ $(RW_BASE) \
$(LINKER_ARCH_OPTION) \
- $(SYMVER_OPTION) $(SO_NAME_OPTION) $(call dblquote,$(LINKASVERSIONED)) \
+ $(SYMVER_OPTION) $(SO_NAME_OPTION)=$(call dblquote,$(LINKASVERSIONED)) \
$(LINKER_ENTRYPOINT_SETTING) \
-o $$(call dblquote,$$@) \
$(if $(LTCG),$(LTCG_OPTION),) \
- $(LINKER_SYMBOLS_OPTION) $(LINKER_SYMBOLS_FILE_OPTION) \
- $(call dblquote,$(MAPFILE)) \
+ $(LINKER_SYMBOLS_OPTION) $(LINKER_SYMBOLS_FILE_OPTION)=$(call dblquote,$(MAPFILE)) \
$(LINKEROPTION) \
$(if $(MULTIFILE_ENABLED),$(call dblquote,$(MULTIFILEOBJECT) $(CIAFILES_LINKOBJECTS)),$(COMMANDFILE_OPTION)$(call dblquote,$(VIAFILE))) \
$(if $(GENERATELINKERFEEDBACK),$(FEEDBACK_OPTION)$(call dblquote,$(FEEDBACKFILE))) \
--- a/sbsv2/raptor/lib/flm/e32abiv2ani.flm Fri Nov 20 21:18:02 2009 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2ani.flm Mon Nov 30 17:49:36 2009 +0000
@@ -29,7 +29,7 @@
# Determine what kind of entrypoint option to set
LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/edll.lib
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION) _E32Dll $(LINKER_ENTRYPOINT_DECORATION) $(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
+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)
--- a/sbsv2/raptor/lib/flm/e32abiv2defaults.mk Fri Nov 20 21:18:02 2009 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2defaults.mk Mon Nov 30 17:49:36 2009 +0000
@@ -40,13 +40,17 @@
# 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)"
# LINKER_ENTRYPOINT_DECORATION will be blank for RVCT; for GCCE it will look like "-u _E32Startup"
+# LINKER_SEPARATOR is a comma for GCCE as g++ is used for linking; for RVCT is should be a space, but
+# as make strips trailing spaces, we use the CHAR_SPACE variable.
LINKER_ENTRYPOINT_ADORNMENT:=
LINKER_ENTRYPOINT_DECORATION:=
+LINKER_SEPARATOR:=
# For GCCE
ifeq ($(TOOLCHAIN),GCCE)
-LINKER_ENTRYPOINT_DECORATION:=$(if $(call isoneof,$(TARGETTYPE),exexp exe),-u _E32Startup,-u _E32Dll)
+LINKER_ENTRYPOINT_DECORATION:=$(if $(call isoneof,$(TARGETTYPE),exexp exe),-Wl$(CHAR_COMMA)-u$(CHAR_COMMA)_E32Startup,-Wl$(CHAR_COMMA)-u$(CHAR_COMMA)_E32Dll)
+LINKER_SEPARATOR:=$(CHAR_COMMA)
endif
# For RVCT
@@ -74,6 +78,7 @@
ifeq ($(TARGETTYPE),kdll)
LINKER_ENTRYPOINT_ADORNMENT:=(L_ENTRY_.o)
endif
+LINKER_SEPARATOR:=$(CHAR_SPACE)
endif
# "OPTION" metadata from the front-end can potentially be supplied simultaneously for both GCCE and RVCT,
--- a/sbsv2/raptor/lib/flm/e32abiv2dll.flm Fri Nov 20 21:18:02 2009 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2dll.flm Mon Nov 30 17:49:36 2009 +0000
@@ -28,7 +28,7 @@
# 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) $(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
+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)
--- a/sbsv2/raptor/lib/flm/e32abiv2exe.flm Fri Nov 20 21:18:02 2009 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2exe.flm Mon Nov 30 17:49:36 2009 +0000
@@ -28,7 +28,7 @@
LINKER_STUB_LIBRARY:=
LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/$(if $(FIRSTLIB),$(FIRSTLIB),eexe.lib)
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION) _E32Startup $(LINKER_ENTRYPOINT_DECORATION) $(call dblquote,$(STATIC_RUNTIME_DIR)/$(if $(FIRSTLIB),$(FIRSTLIB),eexe.lib)$(LINKER_ENTRYPOINT_ADORNMENT))
+LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Startup $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/$(if $(FIRSTLIB),$(FIRSTLIB),eexe.lib)$(LINKER_ENTRYPOINT_ADORNMENT))
ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
--- a/sbsv2/raptor/lib/flm/e32abiv2exexp.flm Fri Nov 20 21:18:02 2009 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2exexp.flm Mon Nov 30 17:49:36 2009 +0000
@@ -52,10 +52,10 @@
LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/$(FIRSTLIB)
ifeq ("$(TOOLCHAIN)","RVCT")
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION) _E32Startup $(call dblquote,$(STATIC_RUNTIME_DIR)/$(FIRSTLIB)($(FIRSTLIB_OBJECTFILE)))
+LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Startup $(call dblquote,$(STATIC_RUNTIME_DIR)/$(FIRSTLIB)($(FIRSTLIB_OBJECTFILE)))
else
# GCCE
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION) _E32Startup -u _E32Startup $(call dblquote,$(STATIC_RUNTIME_DIR)/$(FIRSTLIB))
+LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Startup -Wl,-u$(LINKER_SEPARATOR)_E32Startup$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/$(FIRSTLIB))
endif
ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
--- a/sbsv2/raptor/lib/flm/e32abiv2fsy.flm Fri Nov 20 21:18:02 2009 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2fsy.flm Mon Nov 30 17:49:36 2009 +0000
@@ -28,7 +28,7 @@
# Determine what kind of entrypoint option to set
AUTOEXPORTS:=CreateFileSystem,1;
LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/edll.lib
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION) _E32Dll $(LINKER_ENTRYPOINT_DECORATION) $(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
+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)
--- a/sbsv2/raptor/lib/flm/e32abiv2kdll.flm Fri Nov 20 21:18:02 2009 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2kdll.flm Mon Nov 30 17:49:36 2009 +0000
@@ -27,7 +27,7 @@
# Determine what kind of entrypoint option to set
LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/ekll.lib
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION) _E32Dll $(LINKER_ENTRYPOINT_DECORATION) $(call dblquote,$(STATIC_RUNTIME_DIR)/ekll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
+LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Dll $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/ekll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
--- a/sbsv2/raptor/lib/flm/e32abiv2kext.flm Fri Nov 20 21:18:02 2009 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2kext.flm Mon Nov 30 17:49:36 2009 +0000
@@ -34,7 +34,7 @@
# Default Linker settings for this target type
LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/eext.lib
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION) _E32Dll $(LINKER_ENTRYPOINT_DECORATION) $(call dblquote,$(STATIC_RUNTIME_DIR)/eext.lib$(LINKER_ENTRYPOINT_ADORNMENT))
+LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Dll $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/eext.lib$(LINKER_ENTRYPOINT_ADORNMENT))
ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
--- a/sbsv2/raptor/lib/flm/e32abiv2ldd.flm Fri Nov 20 21:18:02 2009 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2ldd.flm Mon Nov 30 17:49:36 2009 +0000
@@ -29,7 +29,7 @@
# Determine what kind of entrypoint option to set
LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/edev.lib
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION) _E32Dll $(LINKER_ENTRYPOINT_DECORATION) $(call dblquote,$(STATIC_RUNTIME_DIR)/edev.lib$(LINKER_ENTRYPOINT_ADORNMENT))
+LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Dll $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/edev.lib$(LINKER_ENTRYPOINT_ADORNMENT))
ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
--- a/sbsv2/raptor/lib/flm/e32abiv2pdd.flm Fri Nov 20 21:18:02 2009 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2pdd.flm Mon Nov 30 17:49:36 2009 +0000
@@ -28,7 +28,7 @@
# Determine what kind of entrypoint option to set
LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/edev.lib
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION) _E32Dll $(LINKER_ENTRYPOINT_DECORATION) $(call dblquote,$(STATIC_RUNTIME_DIR)/edev.lib$(LINKER_ENTRYPOINT_ADORNMENT))
+LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Dll $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/edev.lib$(LINKER_ENTRYPOINT_ADORNMENT))
ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
--- a/sbsv2/raptor/lib/flm/e32abiv2pdl.flm Fri Nov 20 21:18:02 2009 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2pdl.flm Mon Nov 30 17:49:36 2009 +0000
@@ -28,7 +28,7 @@
# Determine what kind of entrypoint option to set
LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/edll.lib
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION) _E32Dll $(LINKER_ENTRYPOINT_DECORATION) $(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
+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)
--- a/sbsv2/raptor/lib/flm/e32abiv2plugin.flm Fri Nov 20 21:18:02 2009 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2plugin.flm Mon Nov 30 17:49:36 2009 +0000
@@ -31,7 +31,7 @@
# 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) $(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
+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)
--- a/sbsv2/raptor/lib/flm/e32abiv2stddll.flm Fri Nov 20 21:18:02 2009 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2stddll.flm Mon Nov 30 17:49:36 2009 +0000
@@ -29,7 +29,7 @@
# 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) $(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
+LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Dll $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
DEFAULT_NEWLIB:=$(DEFAULT_STDCPP_NEWLIB)
ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
--- a/sbsv2/raptor/lib/flm/e32abiv2stdexe.flm Fri Nov 20 21:18:02 2009 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2stdexe.flm Mon Nov 30 17:49:36 2009 +0000
@@ -28,7 +28,7 @@
# Determine what kind of entrypoint option to set
LINKER_STUB_LIBRARY:=
LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/eexe.lib
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION) _E32Startup $(LINKER_ENTRYPOINT_DECORATION) $(call dblquote,$(STATIC_RUNTIME_DIR)/eexe.lib$(LINKER_ENTRYPOINT_ADORNMENT))
+LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Startup $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/eexe.lib$(LINKER_ENTRYPOINT_ADORNMENT))
DEFAULT_NEWLIB:=$(DEFAULT_STDCPP_NEWLIB)
ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
--- a/sbsv2/raptor/lib/flm/e32abiv2textnotifier2.flm Fri Nov 20 21:18:02 2009 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2textnotifier2.flm Mon Nov 30 17:49:36 2009 +0000
@@ -28,7 +28,7 @@
AUTOEXPORTS:=_Z13NotifierArrayv,1;
# Determine what kind of entrypoint option to set
LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/edll.lib
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION) _E32Dll $(LINKER_ENTRYPOINT_DECORATION) $(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
+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)
--- a/sbsv2/raptor/lib/flm/e32abiv2var.flm Fri Nov 20 21:18:02 2009 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2var.flm Mon Nov 30 17:49:36 2009 +0000
@@ -29,7 +29,7 @@
# Determine what kind of entrypoint option to set
LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/evar.lib
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION) _E32Dll $(LINKER_ENTRYPOINT_DECORATION) $(call dblquote,$(STATIC_RUNTIME_DIR)/evar.lib$(LINKER_ENTRYPOINT_ADORNMENT))
+LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Dll $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/evar.lib$(LINKER_ENTRYPOINT_ADORNMENT))
ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
--- a/sbsv2/raptor/lib/flm/e32abiv2var2.flm Fri Nov 20 21:18:02 2009 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2var2.flm Mon Nov 30 17:49:36 2009 +0000
@@ -29,7 +29,7 @@
# Determine what kind of entrypoint option to set
LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/evar.lib
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION) _E32Dll $(LINKER_ENTRYPOINT_DECORATION) $(call dblquote,$(STATIC_RUNTIME_DIR)/evar.lib$(LINKER_ENTRYPOINT_ADORNMENT))
+LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Dll $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/evar.lib$(LINKER_ENTRYPOINT_ADORNMENT))
ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
--- a/sbsv2/raptor/lib/flm/standard.xml Fri Nov 20 21:18:02 2009 +0000
+++ b/sbsv2/raptor/lib/flm/standard.xml Mon Nov 30 17:49:36 2009 +0000
@@ -73,7 +73,6 @@
<param name='CC.VAL.SOFTVFP_MAYBE_VFPV2' default=''/>
<param name='CODE_SEGMENT_START' default=''/>
<param name='TOOLCHAIN' default=''/>
- <param name='TOOLCHAINVERSION' default=''/>
</interface>
<interface name="Symbian.e32abiv2" extends="Symbian.mmp" flm="e32abiv2.flm">
<param name='SUPPORTS_STDCPP_NEWLIB' default='1'/>
@@ -163,6 +162,7 @@
<param name='RVCTBIN'/>
<param name='RVCTINC'/>
<param name='RVCTLIB'/>
+ <param name='RW_BASE'/>
<param name='RW_BASE_OPTION'/>
<param name='SBSV1MAKE'/>
<param name='NMAKE'/>
--- a/sbsv2/raptor/python/raptor.py Fri Nov 20 21:18:02 2009 +0000
+++ b/sbsv2/raptor/python/raptor.py Mon Nov 30 17:49:36 2009 +0000
@@ -274,7 +274,7 @@
# convert the list of bld.inf files into a specification
# hierarchy suitable for all the configurations we are using.
self.specs = list(build.generic_specs)
- self.specs.extend(metaReader.ReadBldInfFiles(self.children, build.doExportOnly))
+ self.specs.extend(metaReader.ReadBldInfFiles(self.children, doexport = build.doExport, dobuild = not build.doExportOnly))
except raptor_meta.MetaDataError, e:
build.Error(e.Text)
@@ -355,6 +355,14 @@
var.AddOperation(raptor_data.Set("MAKEFILE_PATH", makefile_path))
var.AddOperation(raptor_data.Set("CONFIGS", configList))
var.AddOperation(raptor_data.Set("CLI_OPTIONS", cli_options))
+
+
+ # Allow the flm to skip exports. Note: this parameter
+ doexport_str = '1'
+ if not build.doExport:
+ doexport_str = ''
+ var.AddOperation(raptor_data.Set("DOEXPORT", doexport_str ))
+
# Pass on '-n' (if specified) to the makefile-generating sbs calls
if build.noBuild:
var.AddOperation(raptor_data.Set("NO_BUILD", "1"))
@@ -467,6 +475,7 @@
self.maker = None
self.debugOutput = False
self.doExportOnly = False
+ self.doExport = True
self.noBuild = False
self.noDependInclude = False
self.projects = set()
@@ -566,6 +575,16 @@
def SetExportOnly(self, TrueOrFalse):
self.doExportOnly = TrueOrFalse
+ if not self.doExport:
+ self.Error("The --noexport and --export-only options are incompatible - won't to do anything useful")
+ return False
+ return True
+
+ def SetNoExport(self, TrueOrFalse):
+ self.doExport = not TrueOrFalse
+ if self.doExportOnly:
+ self.Error("The --noexport and --export-only options are incompatible - won't to do anything useful")
+ return False
return True
def SetNoBuild(self, TrueOrFalse):
@@ -634,8 +653,6 @@
type = type.lower()
if type == "on":
self.doParallelParsing = True
- elif type == "slave":
- self.isParallelParsingSlave = True
elif type == "off":
self.doParallelParsing = False
else:
--- a/sbsv2/raptor/python/raptor_cli.py Fri Nov 20 21:18:02 2009 +0000
+++ b/sbsv2/raptor/python/raptor_cli.py Mon Nov 30 17:49:36 2009 +0000
@@ -87,6 +87,9 @@
parser.add_option("--export-only",action="store_true",dest="doExportOnly",
help="Generate exports only and do not create any make files.")
+parser.add_option("--noexport",action="store_true",dest="doExport",
+ help="Don't export any files - useful in some builds when you know exports have already been done.")
+
parser.add_option("-f","--logfile",action="store",dest="logfile",
help="Name of the log file, or '-' for stdout.")
@@ -148,7 +151,6 @@
help="""Controls how metadata (e.g. bld.infs) are parsed in Parallel.
Possible values are:
"on" - Parse bld.infs in parallel (should be faster on clusters/multicore machines)
- "slave" - used internally by Raptor
"off" - Parse bld.infs serially
""")
@@ -261,6 +263,7 @@
'quiet' : Raptor.RunQuietly,
'debugoutput' : Raptor.SetDebugOutput,
'doExportOnly' : Raptor.SetExportOnly,
+ 'doExport' : Raptor.SetNoExport,
'keepgoing': Raptor.SetKeepGoing,
'nobuild' : Raptor.SetNoBuild,
'make_engine': Raptor.SetMakeEngine,
--- a/sbsv2/raptor/python/raptor_meta.py Fri Nov 20 21:18:02 2009 +0000
+++ b/sbsv2/raptor/python/raptor_meta.py Mon Nov 30 17:49:36 2009 +0000
@@ -2513,7 +2513,7 @@
self.defaultPlatform = self.ExportPlatforms[0]
- def ReadBldInfFiles(self, aComponentList, doExportOnly):
+ def ReadBldInfFiles(self, aComponentList, doexport, dobuild = True):
"""Take a list of bld.inf files and return a list of build specs.
The returned specification nodes will be suitable for all the build
@@ -2593,20 +2593,23 @@
# before we can do anything else (because raptor itself must do
# some exports before the MMP files that include them can be
# processed).
- for i,p in enumerate(exportNodes):
- exportPlatform = self.ExportPlatforms[i]
- for s in p.GetChildSpecs():
- try:
- self.ProcessExports(s, exportPlatform)
-
- except MetaDataError, e:
- self.__Raptor.Error("%s",e.Text)
- if not self.__Raptor.keepGoing:
- return []
+ if doexport:
+ for i,p in enumerate(exportNodes):
+ exportPlatform = self.ExportPlatforms[i]
+ for s in p.GetChildSpecs():
+ try:
+ self.ProcessExports(s, exportPlatform)
+
+ except MetaDataError, e:
+ self.__Raptor.Error("%s",e.Text)
+ if not self.__Raptor.keepGoing:
+ return []
+ else:
+ self.__Raptor.Info("Not Processing Exports (--noexport enabled)")
# this is a switch to return the function at this point if export
# only option is specified in the run
- if (self.__Raptor.doExportOnly):
+ if dobuild is not True:
self.__Raptor.Info("Processing Exports only")
return[]
--- a/sbsv2/raptor/test/common/raptor_tests.py Fri Nov 20 21:18:02 2009 +0000
+++ b/sbsv2/raptor/test/common/raptor_tests.py Mon Nov 30 17:49:36 2009 +0000
@@ -100,8 +100,14 @@
except OSError, error:
pass
else:
- (comIn, comOut) = os.popen4("which " + input_file)
- output = comOut.read()
+ whichproc = subprocess.Popen(args=["which", input_file],
+ stdout=subprocess.PIPE,
+ stderr=subprocess.STDOUT,
+ shell=False,
+ universal_newlines=True)
+ output = whichproc.stdout.readlines()
+ whichproc.wait()
+
if len(output) > 0:
locations.append(output[0:(len(output) - 1)])
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/config/apply_test_variants.xml Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<build xmlns="http://symbian.com/xml/build"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">
+
+ <!-- These variants are used to test the APPLY keyword -->
+
+ <var name="apply_test_append_cdefs">
+ <append name="CDEFS" value="APPLYTESTAPPENDCDEFS" />
+ </var>
+
+</build>
--- a/sbsv2/raptor/test/smoke_suite/dll_armv6.py Fri Nov 20 21:18:02 2009 +0000
+++ b/sbsv2/raptor/test/smoke_suite/dll_armv6.py Mon Nov 30 17:49:36 2009 +0000
@@ -18,10 +18,9 @@
def run():
t = AntiTargetSmokeTest()
- t.id = "97"
- t.name = "dll_armv6"
- t.command = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf -c armv6"
- t.targets = [
+
+ rootcommand = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf"
+ targets = [
"$(EPOCROOT)/epoc32/release/armv6/udeb/createstaticdll.dll.sym",
"$(EPOCROOT)/epoc32/release/armv6/urel/createstaticdll.dll.sym",
"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll.dso",
@@ -29,15 +28,41 @@
"$(EPOCROOT)/epoc32/release/armv6/udeb/createstaticdll.dll",
"$(EPOCROOT)/epoc32/release/armv6/urel/createstaticdll.dll"
]
- t.antitargets = [
+ antitargets = [
"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll.lib",
"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll{000a0000}.lib"
]
- t.addbuildtargets('smoke_suite/test_resources/simple_dll/bld.inf', [
+ buildtargets = [
"createstaticdll_dll/armv6/udeb/CreateStaticDLL.o",
"createstaticdll_dll/armv6/urel/CreateStaticDLL.o",
"createstaticdll_dll/armv6/udeb/armv6_specific.o",
"createstaticdll_dll/armv6/urel/armv6_specific.o"
- ])
+ ]
+
+ t.id = "0097a"
+ t.name = "dll_armv6_rvct"
+ t.command = rootcommand + " -c armv6"
+ t.targets = targets
+ t.antitargets = antitargets
+ t.addbuildtargets("smoke_suite/test_resources/simple_dll/bld.inf", buildtargets)
t.run()
+
+ t.id = "0097b"
+ t.name = "dll_armv6_clean"
+ t.command = rootcommand + " -c armv6 clean"
+ t.targets = []
+ t.antitargets = []
+ t.run()
+
+ t.id = "0097c"
+ t.name = "dll_armv6_gcce"
+ t.command = rootcommand + " -c arm.v6.udeb.gcce4_3_2 -c arm.v6.urel.gcce4_3_2"
+ t.targets = targets
+ t.antitargets = antitargets
+ t.addbuildtargets("smoke_suite/test_resources/simple_dll/bld.inf", buildtargets)
+ t.run()
+
+ t.id = "97"
+ t.name = "dll_armv6"
+ t.print_result()
return t
--- a/sbsv2/raptor/test/smoke_suite/dll_armv7.py Fri Nov 20 21:18:02 2009 +0000
+++ b/sbsv2/raptor/test/smoke_suite/dll_armv7.py Mon Nov 30 17:49:36 2009 +0000
@@ -18,10 +18,9 @@
def run():
t = SmokeTest()
- t.id = "11"
- t.name = "dll_armv7"
- t.command = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf -c armv7"
- t.targets = [
+
+ rootcommand = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf"
+ targets = [
"$(EPOCROOT)/epoc32/release/armv7/udeb/createstaticdll.dll.sym",
"$(EPOCROOT)/epoc32/release/armv7/urel/createstaticdll.dll.sym",
"$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll.dso",
@@ -29,11 +28,34 @@
"$(EPOCROOT)/epoc32/release/armv7/udeb/createstaticdll.dll",
"$(EPOCROOT)/epoc32/release/armv7/urel/createstaticdll.dll"
]
- t.addbuildtargets('smoke_suite/test_resources/simple_dll/bld.inf', [
+ buildtargets = [
"createstaticdll_dll/armv7/udeb/CreateStaticDLL.o",
"createstaticdll_dll/armv7/urel/CreateStaticDLL.o",
"createstaticdll_dll/armv7/udeb/armv7_specific.o",
"createstaticdll_dll/armv7/urel/armv7_specific.o"
- ])
+ ]
+
+ t.id = "0011a"
+ t.name = "dll_armv7_rvct"
+ t.command = rootcommand + " -c armv7"
+ t.targets = targets
+ t.addbuildtargets("smoke_suite/test_resources/simple_dll/bld.inf", buildtargets)
t.run()
+
+ t.id = "0011b"
+ t.name = "dll_armv7_clean"
+ t.command = rootcommand + " -c armv7 clean"
+ t.targets = []
+ t.run()
+
+ t.id = "0011c"
+ t.name = "dll_armv7_gcce"
+ t.command = rootcommand + " -c arm.v7.udeb.gcce4_3_2 -c arm.v7.urel.gcce4_3_2"
+ t.targets = targets
+ t.addbuildtargets("smoke_suite/test_resources/simple_dll/bld.inf", buildtargets)
+ t.run()
+
+ t.id = "11"
+ t.name = "dll_armv7"
+ t.print_result()
return t
--- a/sbsv2/raptor/test/smoke_suite/export.py Fri Nov 20 21:18:02 2009 +0000
+++ b/sbsv2/raptor/test/smoke_suite/export.py Mon Nov 30 17:49:36 2009 +0000
@@ -21,8 +21,9 @@
result = SmokeTest.PASS
# This .inf file is created for clean_simple_export and
- # reallyclean_simple_export tests to use, because of $$USER problem occuring
- # at the front end.
+ # reallyclean_simple_export tests to use so that we can put the
+ # username into the output filenames - which helps a lot when
+ # several people run tests on the same computer (e.g. linux machines)
bld = open('smoke_suite/test_resources/simple_export/expbld.inf', 'w')
bld.write("PRJ_PLATFORMS\n"
"ARMV5 WINSCW\n\n"
@@ -69,7 +70,7 @@
t.id = "0023b"
t.name = "export_clean"
t.command = "sbs -b smoke_suite/test_resources/simple_export/expbld.inf " \
- + "-c armv5 CLEAN"
+ + "-c armv5 clean"
t.targets = [
"$(EPOCROOT)/epoc32/include/exported_1.h",
"$(EPOCROOT)/epoc32/include/exported_2.h",
@@ -89,7 +90,28 @@
t.id = "0023c"
t.name = "export_reallyclean"
t.command = "sbs -b smoke_suite/test_resources/simple_export/expbld.inf " \
- + "-c armv5 REALLYCLEAN"
+ + "-c armv5 reallyclean"
+ t.antitargets = [
+ '$(EPOCROOT)/epoc32/include/exported_1.h',
+ '$(EPOCROOT)/epoc32/include/exported_2.h',
+ '$(EPOCROOT)/epoc32/include/exported_3.h',
+ '$(EPOCROOT)/epoc32/include/exportedfilewithspacesremoved.doc',
+ '$(EPOCROOT)/epoc32/include/exported file with a space.doc',
+ '/tmp/$(USER)/simple_exp1.h',
+ '/tmp/$(USER)/simple_exp2.h',
+ '/tmp/$(USER)/simple_exp3.h',
+ '$(EPOCROOT)/epoc32/include/simple_exp4.h'
+ ]
+ t.run()
+ if t.result == SmokeTest.FAIL:
+ result = SmokeTest.FAIL
+
+ # Check that the --noexport feature really does prevent exports from happening
+ t = AntiTargetSmokeTest()
+ t.id = "0023d"
+ t.name = "export_noexport"
+ t.command = "sbs -b smoke_suite/test_resources/simple_export/expbld.inf " \
+ + "-c armv5 --noexport -n"
t.antitargets = [
'$(EPOCROOT)/epoc32/include/exported_1.h',
'$(EPOCROOT)/epoc32/include/exported_2.h',
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/parallel_parsing.py Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,65 @@
+#
+# 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.usebash = True
+ result = SmokeTest.PASS
+
+ description = """This test covers parallel parsing."""
+ command = "cd $(SBS_HOME)/test/smoke_suite/test_resources/pp/ && sbs --command=$(SBS_HOME)/test/smoke_suite/test_resources/pp/ppbldinf_commandfile -c armv5 -c winscw --pp=on --noexport -m ${SBSMAKEFILE} -f - | grep recipe "
+
+ mmpcount = 10 # how many mmps in this parallel parsing test
+
+
+ target_templ = [
+ "$(EPOCROOT)/epoc32/release/armv5/udeb/test_pp#.exe",
+ "$(EPOCROOT)/epoc32/release/armv5/udeb/test_pp#.exe.map",
+ "$(EPOCROOT)/epoc32/release/armv5/urel/test_pp#.exe",
+ "$(EPOCROOT)/epoc32/release/armv5/urel/test_pp#.exe.map",
+ "$(EPOCROOT)/epoc32/release/armv5/udeb/test_pp#.exe.sym",
+ "$(EPOCROOT)/epoc32/release/armv5/urel/test_pp#.exe.sym"
+ ]
+
+ targets = []
+
+ # Build up target list for 10 similar executables
+ for num in range(1,mmpcount):
+ for atarget in target_templ:
+ targets.append(atarget.replace('pp#','pp'+ str(num)))
+
+ mustmatch = [
+ ".*<recipe .*name='makefile_generation.*",
+ ]
+ mustnotmatch = [
+ ".*<recipe .*name='makefile_generation_export.*",
+ ".*<error[^><]*>.*"
+ ]
+
+ warnings = 0
+
+ t.id = "104"
+ t.name = "parallelparsing"
+ t.description = description
+ t.command = command
+ t.targets = targets
+ t.mustmatch = mustmatch
+ t.mustnotmatch = mustnotmatch
+ t.warnings = warnings
+ t.run()
+ return t
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp1.inf Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,22 @@
+/*
+* 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:
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 ARMV7 WINSCW ARMV5SMP
+
+PRJ_MMPFILES
+pp1.mmp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp1.mmp Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,18 @@
+/*
+* 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:
+*
+*/
+TARGET test_pp1
+#include "pp_common.mmh"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp10.inf Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,22 @@
+/*
+* 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:
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 ARMV7 WINSCW ARMV5SMP
+
+PRJ_MMPFILES
+pp10.mmp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp10.mmp Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,18 @@
+/*
+* 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:
+*
+*/
+TARGET test_pp10
+#include "pp_common.mmh"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp2.inf Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,22 @@
+/*
+* 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:
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 ARMV7 WINSCW ARMV5SMP
+
+PRJ_MMPFILES
+pp2.mmp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp2.mmp Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,18 @@
+/*
+* 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:
+*
+*/
+TARGET test_pp2
+#include "pp_common.mmh"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp3.inf Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,22 @@
+/*
+* 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:
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 ARMV7 WINSCW ARMV5SMP
+
+PRJ_MMPFILES
+pp3.mmp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp3.mmp Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,18 @@
+/*
+* 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:
+*
+*/
+TARGET test_pp3
+#include "pp_common.mmh"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp4.inf Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,22 @@
+/*
+* 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:
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 ARMV7 WINSCW ARMV5SMP
+
+PRJ_MMPFILES
+pp4.mmp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp4.mmp Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,18 @@
+/*
+* 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:
+*
+*/
+TARGET test_pp4
+#include "pp_common.mmh"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp5.inf Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,22 @@
+/*
+* 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:
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 ARMV7 WINSCW ARMV5SMP
+
+PRJ_MMPFILES
+pp5.mmp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp5.mmp Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,18 @@
+/*
+* 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:
+*
+*/
+TARGET test_pp5
+#include "pp_common.mmh"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp6.inf Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,22 @@
+/*
+* 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:
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 ARMV7 WINSCW ARMV5SMP
+
+PRJ_MMPFILES
+pp6.mmp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp6.mmp Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,18 @@
+/*
+* 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:
+*
+*/
+TARGET test_pp6
+#include "pp_common.mmh"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp7.inf Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,22 @@
+/*
+* 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:
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 ARMV7 WINSCW ARMV5SMP
+
+PRJ_MMPFILES
+pp7.mmp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp7.mmp Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,18 @@
+/*
+* 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:
+*
+*/
+TARGET test_pp7
+#include "pp_common.mmh"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp8.inf Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,22 @@
+/*
+* 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:
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 ARMV7 WINSCW ARMV5SMP
+
+PRJ_MMPFILES
+pp8.mmp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp8.mmp Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,18 @@
+/*
+* 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:
+*
+*/
+TARGET test_pp8
+#include "pp_common.mmh"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp9.inf Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,22 @@
+/*
+* 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:
+*
+*/
+
+PRJ_PLATFORMS
+ARMV5 ARMV7 WINSCW ARMV5SMP
+
+PRJ_MMPFILES
+pp9.mmp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp9.mmp Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,18 @@
+/*
+* 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:
+*
+*/
+TARGET test_pp9
+#include "pp_common.mmh"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/pp_common.mmh Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,35 @@
+/*
+* 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:
+*
+*/
+TARGETTYPE EXE
+
+// Test backslash to / here:
+TARGETPATH \sys\bin
+
+UID 0x100039ce 0x00000001
+LIBRARY euser.lib
+SECUREID 0x10003a5c
+SYSTEMINCLUDE /epoc32/include
+SOURCE test.cpp test.cia test1.c++ test2.cxx test3.Cpp test4.cc test5.CC test6.C++
+MACRO TEST_MACRO_THAT_DOES_NOTHING
+OPTION GCCE -O2
+PAGED
+DEBUGGABLE
+EPOCCALLDLLENTRYPOINTS
+EPOCSTACKSIZE 8192
+EPOCHEAPSIZE 0x5000 65535
+EPOCPROCESSPRIORITY low
+capability TCB ProtServ DiskAdmin AllFiles PowerMgmt CommDD
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/ppbldinf_commandfile Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,1 @@
+-b pp1.inf -b pp2.inf -b pp3.inf -b pp4.inf -b pp5.inf -b pp6.inf -b pp7.inf -b pp8.inf -b pp9.inf -b pp10.inf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/readme Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,1 @@
+Parallel Parsing test resources
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/test.cia Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,30 @@
+/*
+* 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:
+*
+*/
+// Some random assembler or a "straight" dummy function
+
+#ifndef __WINSCW__
+EXPORT_C __NAKED__ void dummy()
+ {
+ asm("stmia r0, {r4-r11, sp, lr} ");
+ asm("mov r0, #0");
+ }
+#else
+int fred(int i)
+ {
+ return 1;
+ }
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/test.cpp Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,38 @@
+/*
+* 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:
+*
+*/
+#include "e32def.h" // intentional include
+#include "test.h"
+
+char test[]="Simple test";
+
+TInt test1();
+TInt test2();
+TInt test3();
+TInt test4();
+TInt test5();
+TInt test6();
+
+TInt E32Main()
+{
+ test1();
+ test2();
+ test3();
+ test4();
+ test5();
+ test6();
+ return 0;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/test.h Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,17 @@
+/*
+* 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:
+*
+*/
+// Blank header file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/test1.c++ Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,7 @@
+#include "e32def.h" // intentional include
+
+
+TInt test1()
+{
+ return 0;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/test2.cxx Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,7 @@
+#include "e32def.h" // intentional include
+
+
+TInt test2()
+{
+ return 0;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/test3.Cpp Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,23 @@
+/*
+* 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:
+*
+*/
+#include "e32def.h" // intentional include
+
+
+TInt test3()
+{
+ return 0;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/test4.cc Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,7 @@
+#include "e32def.h" // intentional include
+
+
+TInt test4()
+{
+ return 0;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/test5.CC Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,7 @@
+#include "e32def.h" // intentional include
+
+
+TInt test5()
+{
+ return 0;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/pp/test6.C++ Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,7 @@
+#include "e32def.h" // intentional include
+
+
+TInt test6()
+{
+ return 0;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/toolchain_macros.py Mon Nov 30 17:49:36 2009 +0000
@@ -0,0 +1,60 @@
+#
+# 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
+import string
+
+def run():
+ t = SmokeTest()
+ t.description = "Check that ARM toolchain specific macros are used in both metadata and source processing."
+ t.warnings = -1
+
+ toolchains = {
+ 'rvct2_2': ['ARMCC', 'ARMCC_2', 'ARMCC_2_2', '__ARMCC__', '__ARMCC_2__', '__ARMCC_2_2__'],
+ 'rvct3_1': ['ARMCC', 'ARMCC_3', 'ARMCC_3_1', '__ARMCC__', '__ARMCC_3__' , '__ARMCC_3_1__'],
+ 'rvct4_0': ['ARMCC', 'ARMCC_4', 'ARMCC_4_0', '__ARMCC__', '__ARMCC_4__' , '__ARMCC_4_0__'],
+ 'gcce4_3_2': ['GCCE', 'GCCE_4', 'GCCE_4_3', '__GCCE__', '__GCCE_4__' , '__GCCE_4_3__'],
+ 'gcce4_3_3': ['GCCE', 'GCCE_4', 'GCCE_4_3', '__GCCE__', '__GCCE_4__' , '__GCCE_4_3__'],
+ 'gcce4_4_1': ['GCCE', 'GCCE_4', 'GCCE_4_4', '__GCCE__', '__GCCE_4__' , '__GCCE_4_4__']
+ }
+
+ rootname = "toolchain_macros_armv5_%s_%s"
+ rootcommand = "sbs -b smoke_suite/test_resources/toolchain_macros/bld.inf -c arm.v5.urel."
+ macromatch = ": #warning( directive:)? %s(</warning>)?$"
+
+ count = 0
+ for toolchain in sorted(toolchains.keys()):
+ t.id = "0103" + string.ascii_lowercase[count]
+ t.name = rootname % (toolchain, "clean")
+ t.command = rootcommand + toolchain + " clean"
+ t.mustmatch_singleline = []
+ t.run()
+ count += 1
+
+ t.id = "0103" + string.ascii_lowercase[count]
+ t.name = rootname % (toolchain, "build")
+ t.command = rootcommand + toolchain
+ mustmatch = []
+ for macro in toolchains[toolchain]:
+ mustmatch.append(macromatch % macro)
+ t.mustmatch_singleline = mustmatch
+ t.run()
+ count += 1
+
+ t.id = "103"
+ t.name = "toolchain_macros"
+ t.print_result()
+ return t