--- a/sbsv2/raptor/RELEASE-NOTES.txt Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/RELEASE-NOTES.txt Mon Mar 01 16:51:58 2010 +0000
@@ -1,5 +1,24 @@
Release Notes for Symbian Build System v2
+version 2.12.4
+
+Defect Fixes:
+- SF Bug 2081 - [Raptor] - Exported file executable permissions not maintained (linux)
+- Fix: host attribute in recipes was blank in windows, windows cluster builds.
+- SF Bug 1912 - Raptor should take python from the path [if not set with SBS_PYTHON or bundled with Raptor]
+- SF Bug 2042 - [Raptor] component field empty in recipe
+- SF Bug 2007 - [Raptor] GCCE 4.4.1 builds require 4.3.1 and 4.3.2 SBS_GCCE???BIN env vars etc.
+- SF Bug 2000 - [Raptor] Talon fails when installed in a path containing the string '-c' (windows only)
+- SF Bug 1861 - [Raptor] More helpful console message in case of timeouts
+- SF Bug 1571 - Raptor cannot report error or warning message in wrong implib project
+- DPDEF142718 Incremental rebuild fails if dependent files deleted
+ --no-depend-generate added to suppress the generation and processing of dependency files
+ .DEFAULT target introduced for all non --no-depend-generate and/or --no-depend-include builds
+- Add support for PLUGIN3 TARGETTYPEs
+- Fixing logfile corruption for large GCCXML builds by suppressing zip output
+- Stop copying .bmp files to epoc32/localisation and fix the "what" reporting
+
+
version 2.12.3
Defect Fixes:
--- a/sbsv2/raptor/bin/sbs Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/bin/sbs Mon Mar 01 16:51:58 2010 +0000
@@ -1,5 +1,5 @@
#!/bin/bash
-# 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"
@@ -17,7 +17,7 @@
#
# If SBS_HOME is not set in the environment then work it out
-# from the path to this batch file
+# from the path to this script
if [ -z "$SBS_HOME" ] ; then
temp=$0
SBS_HOME=$(cd ${temp%/*} && echo $PWD)
@@ -62,30 +62,44 @@
fi
if [ "$OSTYPE" == "cygwin" ]; then
-
- SBS_HOME=${SBS_HOME//\\//}
-
__MINGW__=${SBS_MINGW:-$SBS_HOME/$HOSTPLATFORM_DIR/mingw}
__CYGWIN__=${SBS_CYGWIN:-$SBS_HOME/$HOSTPLATFORM_DIR/cygwin}
- __PYTHON__=${SBS_PYTHON:-$SBS_HOME/$HOSTPLATFORM_DIR/python264/python.exe}
- export PYTHONPATH=${SBS_PYTHONPATH:-$SBS_HOME/$HOSTPLATFORM_DIR/python264}
- # Command for unifying path strings. For example, "c:\some\path" and
- # "/cygdrive/c/some/path" will both be converted into "c:/some/path".
+ # Command for unifying path strings. For example, "c:\some\path" and
+ # "/cygdrive/c/some/path" will both be converted into "c:/some/path".
u="$__CYGWIN__/bin/cygpath.exe -m"
-
+
+ SBS_HOME=${SBS_HOME//\\//}
+ export SBS_HOME=$($u "$SBS_HOME")
+
__MINGW__=$($u "$__MINGW__")
__CYGWIN__=$($u "$__MINGW__")
- __PYTHON__=$($u "$__PYTHON__")
-
- export SBS_HOME=$($u "$SBS_HOME")
-
export PATH=${__MINGW__}/bin:${__CYGWIN__}/bin:$SBS_HOME/$HOSTPLATFORM_DIR/bin:$PATH
# Tell Cygwin not to map unix security attributes to windows to
# prevent raptor from potentially creating read-only files:
export CYGWIN='nontsec nosmbntsec'
+ # The python and PYTHONPATH used by Raptor are determined by, in order of precedence:
+ # 1. the SBS_PYTHON and SBS_PYTHONPATH environment variables (if set)
+ # 2. the python shipped locally with Raptor (if present)
+ # 3. the python on the system PATH and the PYTHONPATH set in the system environment
+
+ __LOCAL_PYTHON__=$SBS_HOME/win32/python264/python.exe
+
+ if [ -n "$SBS_PYTHON" ]; then
+ __PYTHON__=$SBS_PYTHON
+ elif [ -f "$__LOCAL_PYTHON__" ]; then
+ __PYTHON__=$__LOCAL_PYTHON__
+ export PYTHONPATH=
+ else
+ __PYTHON__=python.exe
+ fi
+ __PYTHON__=$($u "$__PYTHON__")
+
+ if [ -n "$SBS_PYTHONPATH" ]; then
+ export PYTHONPATH=$($u "$SBS_PYTHONPATH")
+ fi
else
export PYTHONPATH=${SBS_PYTHONPATH:-$SBS_HOME/$HOSTPLATFORM_DIR/python262/lib}
PATH=$SBS_HOME/$HOSTPLATFORM_DIR/python262/bin:$SBS_HOME/$HOSTPLATFORM_DIR/bin:$PATH
--- a/sbsv2/raptor/bin/sbs.bat Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/bin/sbs.bat Mon Mar 01 16:51:58 2010 +0000
@@ -1,5 +1,5 @@
@rem
-@rem Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+@rem Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
@rem All rights reserved.
@rem This component and the accompanying materials are made available
@rem under the terms of the License "Eclipse Public License v1.0"
@@ -28,11 +28,27 @@
@cd /d %WD%
:foundhome
-@REM Use the python set by the environment if possible
+@REM The python and PYTHONPATH used by Raptor are determined by, in order of precedence:
+@REM 1. the SBS_PYTHON and SBS_PYTHONPATH environment variables (if set)
+@REM 2. the python shipped locally with Raptor (if present)
+@REM 3. the python on the system PATH and the PYTHONPATH set in the system environment
+
+@SET __LOCAL_PYTHON__=%SBS_HOME%\win32\python264\python.exe
+@IF NOT "%SBS_PYTHON%"=="" GOTO sbspython
+@IF EXIST %__LOCAL_PYTHON__% GOTO localpython
+@SET __PYTHON__=python.exe
+@GOTO sbspythonpath
+
+:sbspython
@SET __PYTHON__=%SBS_PYTHON%
-@IF "%__PYTHON__%"=="" SET __PYTHON__=%SBS_HOME%\win32\python264\python.exe
-@SET PYTHONPATH=%SBS_PYTHONPATH%
-@IF "%PYTHONPATH%"=="" SET PYTHONPATH=%SBS_HOME%\win32\python264
+@GOTO sbspythonpath
+
+:localpython
+@SET __PYTHON__=%__LOCAL_PYTHON__%
+@SET PYTHONPATH=
+
+:sbspythonpath
+@IF NOT "%SBS_PYTHONPATH%"=="" SET PYTHONPATH=%SBS_PYTHONPATH%
@REM Use the mingw set by the environment if possible
@SET __MINGW__=%SBS_MINGW%
--- a/sbsv2/raptor/lib/config/gcce.xml Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/lib/config/gcce.xml Mon Mar 01 16:51:58 2010 +0000
@@ -5,101 +5,123 @@
<var name="gcce_base">
<set name="TOOLCHAIN" value="GCCE"/>
<set name="PLATMACROS.TOOLCHAIN" value="GCCE"/>
- <set name="CC" value="$(GCCECC)"/>
- <set name="LD" value="$(GCCELD)"/>
- <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-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)"/>
+
+ <set name="CC" value="$(GCCECC)"/>
+ <set name="LD" value="$(GCCELD)"/>
+ <set name="ASM" value="$(GCCEASM)"/>
+ <set name="AR" value="$(GCCEAR)"/>
+
<set name="AAPCS_OPTION" value="-mapcs -mthumb-interwork"/>
<set name="ARCHIVER_CREATE_OPTION" value="cr"/>
<set name="ARM_INSTRUCTION_SET" value="-marm"/>
+ <set name="ARMLIBS" value=""/>
<set name="ASM_OUTPUT_OPTION" value="-o"/>
<set name="ASSEMBLER_LISTING_OPTION" value="-S"/>
<set name="BPABI_OPTION" value=""/>
- <set name="CC_ERRORS_CONTROL_OPTION" value=""/>
- <set name="CC_WARNINGS_CONTROL_OPTION" value="-Wall -Wno-unknown-pragmas"/>
<set name="C_LANG_OPTION" value="-x c"/>
- <set name="COMMANDFILE_OPTION" value="@"/>
- <set name="COMPILE_ONLY_OPTION" value="-c"/>
- <set name="CPP_LANG_OPTION" value="-x c++ -Wno-ctor-dtor-privacy"/>
- <set name="DEBUG_OPTIMISATION" value="-O0"/>
- <set name="DEPEND_OPTION" value="-MD -MF"/>
- <set name="ENUM_OPTION" value=""/>
- <set name="EXPORT_VTBL_OPTION" value=""/>
- <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="-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="-nodefaultlibs"/>
- <set name="RUNTIME_SYMBOL_VISIBILITY_OPTION" value=""/>
- <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"/>
+ <set name="CC.ARMV5" value="-march=armv5t"/>
+ <set name="CC.ARMV6" value="-march=armv6t2"/>
+ <set name="CC.ARMV7" value="-march=armv7"/>
<!-- From the GCC manual: "With this option, GCC uses features of DWARF version 3 when they are useful; ..." -->
<!-- There is no -gdwarf-3 option; hence CC.DWARF2 and CC.DWARF3 have the same value. -->
<set name="CC.DWARF2" value="-gdwarf-2"/>
<set name="CC.DWARF3" value="-gdwarf-2"/>
- <set name="LD.ARMV5" value=""/>
- <set name="LD.ARMV6" value=""/>
- <set name="LD.ARMV7" value=""/>
+ <set name="CC.NO_UNALIGNED_ACCESS" value=""/>
+ <set name="CC.SOFTVFP_MAYBE_VFPV2" value="soft"/>
+ <set name="CC.SOFTVFP_MAYBE_VFPV3" value="soft"/>
+ <set name="CC_ERRORS_CONTROL_OPTION" value=""/>
+ <set name="CC_WARNINGS_CONTROL_OPTION" value="-Wall -Wno-unknown-pragmas"/>
<set name="CFLAGS" value=""/>
<set name="CIADEFS" value="__CIA__"/>
- <append name="CDEFS" value='__SUPPORT_CPP_EXCEPTIONS__ _UNICODE __SYMBIAN32__ __GCCE__ __EPOC32__ __MARM__ __EABI__ __PRODUCT_INCLUDE__="$(PRODUCT_INCLUDE)" $(MMPDEFS) $(ARMMACROS)'/>
- <!-- Note that the intention of ABLD for CIA compilation seems to be "-S -Wa,-adln", although this doesn't work -->
+ <set name="CODE_SEGMENT_START" value="-Ttext"/>
+ <set name="COMMANDFILE_OPTION" value="@"/>
+ <set name="COMPILE_ONLY_OPTION" value="-c"/>
<set name="COMPILER_CIA_FLAGS" value="-marm"/>
<set name="COMPILER_DEFINES" value="-D__GCCE__"/>
<set name="COMPILER_FPU_OPTION" value="-mfloat-abi="/>
<set name="COMPILER_INTERWORK_DEFINES" value="__MARM_INTERWORK__"/>
<set name="COMPILER_SYSTEM_INCLUDE_OPTION" value="-I"/>
<set name="COMPILER_THUMB_DEFINES" value="__MARM_THUMB__"/>
+ <set name="CPP_LANG_OPTION" value="-x c++ -Wno-ctor-dtor-privacy"/>
<set name="DATA_SEGMENT_START" value="$(SPLIT_OPTION) $(RW_BASE_OPTION)"/>
+ <set name="DEBUG_OPTIMISATION" value="-O0"/>
+ <set name="DEPEND_OPTION" value="-MD -MF"/>
+ <set name="ENUM_OPTION" value=""/>
+ <set name="EXCEPTIONS" value="-fexceptions"/>
+ <set name="EXPORT_VTBL_OPTION" value=""/>
<set name="EXTRA_CC_OPTION" value=""/>
+ <set name="EXTRA_LD_OPTION" value=""/>
+ <set name="FPMODE_OPTION" value=""/>
<set name="HEADER_FILES_CONTROL_OPTION" value=""/>
+ <set name="INSTRUCTION_SET" value=""/>
+ <set name="KERNEL_STATIC_RUNTIME_LIB" value="ksrt3_1.lib"/>
+ <set name="LD.ARMV5" value=""/>
+ <set name="LD.ARMV6" value=""/>
+ <set name="LD.ARMV7" value=""/>
+ <set name="LD_ERRORS_CONTROL_OPTION" value=""/>
+ <set name="LD_WARNINGS_CONTROL_OPTION" value="-Wl,--no-undefined"/>
<set name="LIBPATH" value=""/>
<set name="LIBRARY" value=""/>
<set name="LICENSERETRY_OPTION" value=""/>
<set name="LINKER_ADD_STATIC_RUNTIME" value="1"/>
<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_LIB_PATHS" value=""/>
<set name="LINKER_DEFAULT_LIBS" value="-lsupc++ -lgcc"/>
- <set name="LINKER_DEFAULT_LIB_PATHS" value=""/>
<set name="LINKER_ENTRY_OPTION" value="-Wl,--entry"/>
+ <set name="LINKER_GROUP_END_OPTION" value="--end-group"/>
<set name="LINKER_GROUP_START_OPTION" value="--start-group"/>
- <set name="LINKER_GROUP_END_OPTION" value="--end-group"/>
<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_FILE_OPTION" value="-Wl,-Map"/>
<set name="LINKER_SYMBOLS_OPTION" value=""/>
- <set name="LINKER_SYMBOLS_FILE_OPTION" value="-Wl,-Map"/>
+ <set name="LISTING_OPTION" value="-S"/>
+ <set name="NEED_ENTRYPOINT_LIBRARY" value="" />
+ <set name="NEED_ENTRYPOINT_LIBRARY" value=""/>
+ <set name="NO_EXCEPTIONS" value="-fno-exceptions"/>
+ <set name="NO_UNALIGNED_ACCESS" value="$(CC.NO_UNALIGNED_ACCESS)"/>
+ <set name="OWN_LIBRARY_OPTION" value=""/>
+ <set name="PL.SOFTVFP_MAYBE_VFPV2" value="softvfp"/>
+ <set name="PL.SOFTVFP_MAYBE_VFPV3" value="softvfp"/>
+ <set name="PREINCLUDE" value="$(EPOCINCLUDE)/gcce/gcce.h"/>
+ <set name="PREINCLUDE_OPTION" value="-include"/>
+ <set name="PREPROCESSOR_OPTION" value="-E"/>
+ <set name="REL_OPTIMISATION" value="-O2"/>
+ <set name="RELOCATABLE_IMAGE_OPTION" value=""/>
+ <set name="RUNTIME_SYMBOL_VISIBILITY_OPTION" value=""/>
+ <set name="RVCTBIN" value="" />
+ <set name="RVCTINC" value="" />
+ <set name="RVCTLIB" value=""/>
+ <set name="RW_BASE" value="$(RW_BASE_OPTION)0x400000"/>
+ <set name="RW_BASE_OPTION" value="-Wl,-Tdata,"/>
<set name="SHARED_OBJECT_OPTION" value="-Wl,-shared"/>
<set name="SID" value=""/>
<set name="SO_NAME_OPTION" value="-Wl,-soname"/>
+ <set name="SPLIT_OPTION" value=""/>
+ <set name="STATIC_LIBS_LIST" value=""/>
<set name="STATIC_LIBS_PATH" value="" />
<set name="STDCPP_INCLUDE" value="$(EPOCINCLUDE)/stdapis"/>
+ <set name="STDLIB_OPTION" value="-nodefaultlibs"/>
<set name="SUPPORTS_ABIV1_IMPLIBS" value=""/>
<set name="SYMBIAN_LD_MESSAGE_OPTION" value="$(LD_WARNINGS_CONTROL_OPTION) $(LD_ERRORS_CONTROL_OPTION)"/>
+ <set name="SYMVER_OPTION" value="-Wl,--default-symver"/>
<set name="TARGET_RELOCATION_OPTION" value="--target1-rel" />
- <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=""/>
- <set name="INSTRUCTION_SET" value=""/>
<set name="UNDEFINED_SYMBOL_REF_OPTION" value="-u"/>
<set name="UNRESOLVED_SYMBOL_REF_OPTION" value=""/>
+ <set name="USER_LIBS_PATH_OPTION" value="--userlibpath"/>
+ <set name="USER_STATIC_RUNTIME_LIB" value="usrt3_1.lib"/>
<set name="USERINCLUDE" value=""/>
- <set name="USER_LIBS_PATH_OPTION" value="--userlibpath"/>
<set name="VFE_OPTION" value=""/>
- <set name="NO_UNALIGNED_ACCESS" value="$(CC.NO_UNALIGNED_ACCESS)"/>
+
+ <append name="CDEFS" value='__SUPPORT_CPP_EXCEPTIONS__ _UNICODE __SYMBIAN32__ __GCCE__ __EPOC32__ __MARM__ __EABI__ __PRODUCT_INCLUDE__="$(PRODUCT_INCLUDE)" $(MMPDEFS) $(ARMMACROS)'/>
</var>
</build>
--- a/sbsv2/raptor/lib/config/interfaces.xml Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/lib/config/interfaces.xml Mon Mar 01 16:51:58 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/variants.xml Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/lib/config/variants.xml Mon Mar 01 16:51:58 2010 +0000
@@ -77,41 +77,24 @@
<var name="whatlog">
<set name='WHATLOG' value='TRUE'/>
</var>
-
+
<var name="gcce4_3_2" extends="gcce_base">
<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=""/>
- <set name="SPLIT_OPTION" value=""/>
- <set name="NEED_ENTRYPOINT_LIBRARY" value=""/>
- <set name="RVCTBIN" value="" />
- <set name="RVCTINC" value="" />
- <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">
+ <var name="gcce4_3_3" extends="gcce_base">
<env name="SBS_GCCE433BIN" type="path" />
<set name="GCCEBIN" value="$(SBS_GCCE433BIN)" />
+ <set name="RUNTIME_LIBS_LIST" value="drtaeabi.dso dfpaeabi.dso dfprvct3_1.dso drtrvct3_1.dso"/>
+ <set name="PLATMACROS.VAR" value="GCCE_4 GCCE_4_3"/>
+ <set name="ARMMACROS.VAR" value="__GCCE_4__ __GCCE_4_3__"/>
</var>
- <var name="gcce4_4_1" extends="gcce4_3_3">
+ <var name="gcce4_4_1" extends="gcce_base">
<env name="SBS_GCCE441BIN" type="path" />
<set name="GCCEBIN" value="$(SBS_GCCE441BIN)" />
<set name="RUNTIME_LIBS_LIST" value="drtaeabi.dso dfpaeabi.dso"/>
--- a/sbsv2/raptor/lib/config/winscw.xml Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/lib/config/winscw.xml Mon Mar 01 16:51:58 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/bitmap.flm Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/lib/flm/bitmap.flm Mon Mar 01 16:51:58 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"
@@ -118,54 +118,6 @@
$(eval $(call copybitmap))
endif
-################################### localisation #########################################
-## copy .bmp files to localisation
-
-# $(BMPFILES) is a list of bmp files in src
-BMPFILES:=$(subst FILE=,,$(filter FILE=%,$(SOURCE)))
-BMBASENAME:=$(call lowercase,$(basename $(BMTARGET)))
-BMPCOPYFILES:=
-BMPCOPYDIR:=$(EPOCROOT)/epoc32/localisation/$(BMBASENAME)/mbm
-$(call makepath,$(BMPCOPYDIR))
-
-define copyBMP
-# $(1) is the source .bmp file
-# $(2) is the (lower cased) copy in localisation
-
-ifneq ($(BINCOPYDIRS),)
-BITMAP:: $(2)
-
-$(2): $(1)
- $(call startrule,bmpfilecopy,FORCESUCCESS) \
- $(GNUCP) $(1) $(2) && $(GNUCHMOD) +rw $(2) \
- $(call endrule,bmpfilecopy)
-
-endif
-
-BMPCOPYFILES:=$$(BMPCOPYFILES) $(2)
-endef
-
-$(foreach BMP,$(BMPFILES),$(eval $(call copyBMP,$(BMP),$(BMPCOPYDIR)/$(call lowercase,$(notdir $(BMP))))))
-
-## create and edit info files for bitmap files in localisation/group
-INFOFILE:=$(EPOCROOT)/epoc32/localisation/group/$(BMBASENAME).info
-DEPTH:=$(subst DEPTH=,,$(filter DEPTH=%,$(SOURCE)))
-BMP:=$(notdir $(BMPFILES))
-DEPTHBMP:=$(subst _,\,$(join $(patsubst %,/%,$(DEPTH)),$(patsubst %,_%,$(BMP))))
-
-define bmpInfo
-
-BITMAP::$(INFOFILE)
-
-$(INFOFILE)::
- @if [ ! -d $(EPOCROOT)/epoc32/localisation/group ]; then $(GNUMKDIR) -p $(EPOCROOT)/epoc32/localisation/group; fi
- @if [ ! -f $$@ ]; then echo "DATADIR: /$(BMBASENAME)" > $$@ ; fi
- @echo -e "\n/z$(TARGETPATH)/$(BMTARGET) : $(DEPTHBMP)" >> $$@
-endef
-
-$(eval $(call bmpInfo))
-
-# end of localisation #########################################################
## Clean up
$(call raptor_clean,$(CLEANTARGETS))
@@ -173,6 +125,6 @@
$(call makepathfor,$(BITMAPHEADER))
# for the abld -what target
-BMPRELEASEABLES:=$(RELEASEABLES) $(MBMCOPYFILES) $(BMPCOPYFILES) $(INFOFILE)
+BMPRELEASEABLES:=$(RELEASEABLES) $(MBMCOPYFILES)
$(call raptor_release,$(BMPRELEASEABLES),BITMAP)
--- a/sbsv2/raptor/lib/flm/e32abiv2.flm Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2.flm Mon Mar 01 16:51:58 2010 +0000
@@ -773,20 +773,23 @@
$(if $(USERINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(USERINCLUDE))) \
$(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(SYSTEMINCLUDE))) \
$(if $(NOHIDEALL),--no_hide_all,) \
- $(DEPEND_OPTION) $(call dblquote,$(1).d) \
- $(if $(LINKERFEEDBACK_STAGE2),$(FEEDBACK_OPTION)$(call dblquote,$(FEEDBACKFILE))) \
+ $(if $(NO_DEPEND_GENERATE),,$(DEPEND_OPTION) $(call dblquote,$(1).d)) \
+ $(if $(LINKERFEEDBACK_STAGE2),$(FEEDBACK_OPTION)$(call dblquote,$(FEEDBACKFILE))) \
$(if $(MULTIFILE_ENABLED),--multifile $(OUTPUT_OPTION) $(MULTIFILEOBJECT) \
--via $$(call dblquote, $(MULTIFILE_VIAFILE)),$(OUTPUT_OPTION) $$@ $$(call dblquote, $$<)) \
$(call endrule,compile)
-CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME)
-ifneq "$(DEPENDFILE)" ""
-ifeq ($(NO_DEPEND_INCLUDE),)
- ifeq "$(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS)))" ""
- -include $(DEPENDFILE)
+ifeq ($(NO_DEPEND_GENERATE),)
+ CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME)
+endif
+
+ifneq ($(DEPENDFILE),)
+ ifeq ($(NO_DEPEND_INCLUDE),)
+ ifeq ($(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS))),)
+ -include $(DEPENDFILE)
+ endif
endif
endif
-endif
# individual source file compilation
SOURCETARGET_$(call sanitise,$(2)): $(1)
@@ -866,20 +869,23 @@
$(if $(USERINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(USERINCLUDE))) \
$(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(SYSTEMINCLUDE))) \
$(if $(NOHIDEALL),--no_hide_all,) \
- $(DEPEND_OPTION) $(call dblquote,$(DEPENDFILENAME)) \
+ $(if $(NO_DEPEND_GENERATE),,$(DEPEND_OPTION) $(call dblquote,$(DEPENDFILENAME))) \
$$(call dblquote, $$<) $(OUTPUT_OPTION) $$(@) \
$(call endrule,e32listing)
CLEANTARGETS:=$$(CLEANTARGETS) $(LISTINGTARGET)
-CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME)
-ifneq "$(DEPENDFILE)" ""
-ifeq ($(NO_DEPEND_INCLUDE),)
- ifeq "$(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS)))" ""
- -include $(DEPENDFILE)
+ifeq ($(NO_DEPEND_GENERATE),))
+ CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME)
+endif
+
+ifneq ($(DEPENDFILE),)
+ ifeq ($(NO_DEPEND_INCLUDE),)
+ ifeq ($(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS))),)
+ -include $(DEPENDFILE)
+ endif
endif
endif
-endif
endef
@@ -985,19 +991,21 @@
$(e32abiv2_PREFILE): $1 $(PROJECT_META) $(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT)
$(call startrule,cia2cpp,,$1) \
$(if $(PERTURBSTARTTIME),$(RANSLEEP) $(PERTURBMSECS) ;,) \
- $(CC) $(e32abiv2_PREFILE_OPTIONS) $(OUTPUT_OPTION) $$@ $$(call dblquote,$1) && \
- $(CC) -M $(e32abiv2_PREFILE_OPTIONS) --depend_format=unix \
- $(OUTPUT_OPTION) $$@ $$(call dblquote,$1) > $(call dblquote,$(e32abiv2_PREFILE).d) \
+ $(CC) $(e32abiv2_PREFILE_OPTIONS) $(OUTPUT_OPTION) $$@ $$(call dblquote,$1) \
+ $(if $(NO_DEPEND_GENERATE),,&& $(CC) -M $(e32abiv2_PREFILE_OPTIONS) --depend_format=unix $(OUTPUT_OPTION) $$@ $$(call dblquote,$1) > $(call dblquote,$(e32abiv2_PREFILE).d)) \
$(call endrule,cia2cpp)
-CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME)
-ifneq "$(DEPENDFILE)" ""
-ifeq ($(NO_DEPEND_INCLUDE),)
- ifeq "$(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS)))" ""
- -include $(DEPENDFILE)
+ifeq ($(NO_DEPEND_GENERATE),)
+ CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME)
+endif
+
+ifneq ($(DEPENDFILE),)
+ ifeq ($(NO_DEPEND_INCLUDE),)
+ ifeq ($(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS))),)
+ -include $(DEPENDFILE)
+ endif
endif
endif
-endif
endef
@@ -1027,22 +1035,27 @@
$(call startrule,asmcompile,,$(2)) \
$(if $(PERTURBSTARTTIME),$(RANSLEEP) $(PERTURBMSECS) ;,) \
$(CC) $(e32abiv2_asm_OPTIONS) \
- $(DEPEND_OPTION) $(call dblquote,$(DEPENDFILENAME)) \
+ $(if $(NO_DEPEND_GENERATE),,$(DEPEND_OPTION) $(call dblquote,$(DEPENDFILENAME))) \
$$(call dblquote, $$<) $(OUTPUT_OPTION) $$@ \
$(call endrule,asmcompile)
+ifeq ($(NO_DEPEND_GENERATE),)
$(call startrule,asmdependencies) \
$(CC) -M $(subst --no_rtti,,$(e32abiv2_asm_OPTIONS)) --depend_format=unix \
$(OUTPUT_OPTION) $$@ $$(call dblquote,$2) > $(call dblquote,$(DEPENDFILENAME)) \
$(call endrule,asmdependencies)
+endif
-CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME)
-ifneq "$(DEPENDFILE)" ""
-ifeq ($(NO_DEPEND_INCLUDE),)
- ifeq "$(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS)))" ""
- -include $(DEPENDFILE)
+ifeq ($(NO_DEPEND_GENERATE),)
+ CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME)
+endif
+
+ifneq ($(DEPENDFILE),)
+ ifeq ($(NO_DEPEND_INCLUDE),)
+ ifeq ($(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS))),)
+ -include $(DEPENDFILE)
+ endif
endif
endif
-endif
CREATABLEPATHS:=$$(CREATABLEPATHS) $(INTERMEDIATEPATH)
--- a/sbsv2/raptor/lib/flm/e32abiv2ani.flm Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2ani.flm Mon Mar 01 16:51:58 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"
@@ -39,6 +39,15 @@
STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
CANIGNORENONCALLABLE:=1
+# Fixed export TARGETTYPEs should only reference a .def file if an explicit DEFFILE statement is present in the .mmp file
+ifneq ($(DEFFILEKEYWORD),)
+POSTLINKDEFFILE:=$(DEFFILE)
+SUPPORT_FREEZE:=1
+ifeq ($(NOEXPORTLIBRARY),)
+IMPORTLIBRARYREQUIRED:=1
+endif
+endif
+
UID2:=10003b22
--- a/sbsv2/raptor/lib/flm/e32abiv2defaults.mk Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2defaults.mk Mon Mar 01 16:51:58 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/e32abiv2fsy.flm Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2fsy.flm Mon Mar 01 16:51:58 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"
@@ -36,6 +36,15 @@
LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib
+# Fixed export TARGETTYPEs should only reference a .def file if an explicit DEFFILE statement is present in the .mmp file
+ifneq ($(DEFFILEKEYWORD),)
+POSTLINKDEFFILE:=$(DEFFILE)
+SUPPORT_FREEZE:=1
+ifeq ($(NOEXPORTLIBRARY),)
+IMPORTLIBRARYREQUIRED:=1
+endif
+endif
+
UID2:=100039df
STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
CANIGNORENONCALLABLE:=1
--- a/sbsv2/raptor/lib/flm/e32abiv2ldd.flm Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2ldd.flm Mon Mar 01 16:51:58 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"
@@ -46,6 +46,15 @@
# No dedicated library for operator new/delete functions.
HAS_DEDICATED_OP_NEWDEL_LIB:=
+# Fixed export TARGETTYPEs should only reference a .def file if an explicit DEFFILE statement is present in the .mmp file
+ifneq ($(DEFFILEKEYWORD),)
+POSTLINKDEFFILE:=$(DEFFILE)
+SUPPORT_FREEZE:=1
+ifeq ($(NOEXPORTLIBRARY),)
+IMPORTLIBRARYREQUIRED:=1
+endif
+endif
+
BASELIBS:=edev
UID2:=100000af
--- a/sbsv2/raptor/lib/flm/e32abiv2pdd.flm Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2pdd.flm Mon Mar 01 16:51:58 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"
@@ -45,6 +45,14 @@
# No dedicated library for operator new/delete functions.
HAS_DEDICATED_OP_NEWDEL_LIB:=
+# Fixed export TARGETTYPEs should only reference a .def file if an explicit DEFFILE statement is present in the .mmp file
+ifneq ($(DEFFILEKEYWORD),)
+POSTLINKDEFFILE:=$(DEFFILE)
+SUPPORT_FREEZE:=1
+ifeq ($(NOEXPORTLIBRARY),)
+IMPORTLIBRARYREQUIRED:=1
+endif
+endif
BASELIBS:=edev
UID2:=100039d0
--- a/sbsv2/raptor/lib/flm/e32abiv2pdl.flm Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2pdl.flm Mon Mar 01 16:51:58 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"
@@ -38,6 +38,15 @@
STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
CANIGNORENONCALLABLE:=1
+# Fixed export TARGETTYPEs should only reference a .def file if an explicit DEFFILE statement is present in the .mmp file
+ifneq ($(DEFFILEKEYWORD),)
+POSTLINKDEFFILE:=$(DEFFILE)
+SUPPORT_FREEZE:=1
+ifeq ($(NOEXPORTLIBRARY),)
+IMPORTLIBRARYREQUIRED:=1
+endif
+endif
+
BASELIBS:=
UID2:=10003b1c
RESOURCEPATH:=Resource\Printers
--- a/sbsv2/raptor/lib/flm/e32abiv2plugin.flm Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2plugin.flm Mon Mar 01 16:51:58 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,9 @@
#
#
-ifeq ($(TARGETTYPE),plugin)
+ifneq ($(filter plugin plugin3,$(TARGETTYPE)),)
include $(FLMHOME)/e32abiv2defaults.mk
-# This is basically a DLL with some tweaks
-# If DEFFILE keyword is specified in the MMP, set the POSTLINKDEFFILE
-# and guarantee the generation of import library; if not specified import library
-# won't be generated for plugin (default)
-ifneq ($(DEFFILEKEYWORD),)
-POSTLINKDEFFILE:=$(DEFFILE)
-SUPPORT_FREEZE:=1
-IMPORTLIBRARYREQUIRED:=1
-endif
-
# 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))
@@ -48,9 +38,22 @@
AUTOEXPORTS:=_Z24ImplementationGroupProxyRi,1;
CANIGNORENONCALLABLE:=1
+# Fixed export TARGETTYPEs should only reference a .def file if an explicit DEFFILE statement is present in the .mmp file
+ifneq ($(DEFFILEKEYWORD),)
+POSTLINKDEFFILE:=$(DEFFILE)
+SUPPORT_FREEZE:=1
+ifeq ($(NOEXPORTLIBRARY),)
+IMPORTLIBRARYREQUIRED:=1
+endif
+endif
+
# 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
@@ -65,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/e32abiv2textnotifier2.flm Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2textnotifier2.flm Mon Mar 01 16:51:58 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"
@@ -38,6 +38,15 @@
STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
CANIGNORENONCALLABLE:=1
+# Fixed export TARGETTYPEs should only reference a .def file if an explicit DEFFILE statement is present in the .mmp file
+ifneq ($(DEFFILEKEYWORD),)
+POSTLINKDEFFILE:=$(DEFFILE)
+SUPPORT_FREEZE:=1
+ifeq ($(NOEXPORTLIBRARY),)
+IMPORTLIBRARYREQUIRED:=1
+endif
+endif
+
RESOURCEPATH:=System/Notifiers
UID2:=101fe38b
POSTLINKDEFFILE:=$(DEFFILE)
--- a/sbsv2/raptor/lib/flm/e32abiv2var.flm Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2var.flm Mon Mar 01 16:51:58 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"
@@ -19,14 +19,6 @@
ifeq ($(TARGETTYPE),var)
include $(FLMHOME)/e32abiv2defaults.mk
-# What we need to build a DLL
-# May need a dso e.g. ecust.dll
-ifeq ($(NOEXPORTLIBRARY),)
-IMPORTLIBRARYREQUIRED:=1
-endif
-POSTLINKDEFFILE:=$(DEFFILE)
-SUPPORT_FREEZE:=1
-
# 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)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/evar.lib$(LINKER_ENTRYPOINT_ADORNMENT))
@@ -55,7 +47,14 @@
# No exception support for kernel code?
EXCEPTIONS:=$(NO_EXCEPTIONS)
-
+# Fixed export TARGETTYPEs should only reference a .def file if an explicit DEFFILE statement is present in the .mmp file
+ifneq ($(DEFFILEKEYWORD),)
+POSTLINKDEFFILE:=$(DEFFILE)
+SUPPORT_FREEZE:=1
+ifeq ($(NOEXPORTLIBRARY),)
+IMPORTLIBRARYREQUIRED:=1
+endif
+endif
# 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
--- a/sbsv2/raptor/lib/flm/e32abiv2var2.flm Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/lib/flm/e32abiv2var2.flm Mon Mar 01 16:51:58 2010 +0000
@@ -1,4 +1,4 @@
-# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2008-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"
@@ -19,14 +19,6 @@
ifeq ($(TARGETTYPE),var2)
include $(FLMHOME)/e32abiv2defaults.mk
-# What we need to build a DLL
-# May need a dso e.g. ecust.dll
-ifeq ($(NOEXPORTLIBRARY),)
-IMPORTLIBRARYREQUIRED:=1
-endif
-POSTLINKDEFFILE:=$(DEFFILE)
-SUPPORT_FREEZE:=1
-
# 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)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/evar.lib$(LINKER_ENTRYPOINT_ADORNMENT))
@@ -55,7 +47,14 @@
# No exception support for kernel code?
EXCEPTIONS:=$(NO_EXCEPTIONS)
-
+# Fixed export TARGETTYPEs should only reference a .def file if an explicit DEFFILE statement is present in the .mmp file
+ifneq ($(DEFFILEKEYWORD),)
+POSTLINKDEFFILE:=$(DEFFILE)
+SUPPORT_FREEZE:=1
+ifeq ($(NOEXPORTLIBRARY),)
+IMPORTLIBRARYREQUIRED:=1
+endif
+endif
# 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
--- a/sbsv2/raptor/lib/flm/emulator.xml Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/lib/flm/emulator.xml Mon Mar 01 16:51:58 2010 +0000
@@ -89,7 +89,6 @@
<param name='OPT.DEFINE'/>
<param name='OPT.DEFFILE'/>
<param name='OPT.DEPEND'/>
- <param name='DEPEND_SKIP' default=''/>
<param name='OPT.EXPORT'/>
<param name='OPT.IMPORTLIB'/>
<param name='OPT.LISTING'/>
@@ -232,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/gccxml.flm Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/lib/flm/gccxml.flm Mon Mar 01 16:51:58 2010 +0000
@@ -1,4 +1,4 @@
-# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2008-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"
@@ -71,7 +71,7 @@
# $(2) list of further variable arguments to group in 150 element calls
define groupcallin50
$(if $2,$1 $(foreach L,$(wordlist 1,50,$2),$(L)),)
- $(if $2,$(call groupcallin50,$1,$(wordlist 51,$(words $2),$2)),true)
+ $(if $2,$(call groupcallin50,$1,$(wordlist 51,$(words $2),$2)),@true)
endef
# echos content to a file in groups performing optional search/replace based on passed args
@@ -200,7 +200,7 @@
define gccxmlprocesssource
$(eval DEPENDFILENAME:=$(call mapsource2output,$(1),.xml.d))
- $(eval DEPENDFILE:=$(DEPENDFILENAME))
+ $(eval DEPENDFILE:=$(wildcard $(DEPENDFILENAME)))
$(call mapsource2output,$(1),.xml): $(1) $(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT)
$(call startrule,gccxmlprocesssource) \
@@ -214,13 +214,13 @@
$(call endrule,gccxmlprocesssource)
CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME)
- ifneq "$(DEPENDFILE)" ""
- ifeq ($(NO_DEPEND_INCLUDE),)
- ifeq "$(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS)))" ""
- -include $(DEPENDFILE)
+ ifneq ($(DEPENDFILE),)
+ ifeq ($(NO_DEPEND_INCLUDE),)
+ ifeq ($(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS))),)
+ -include $(DEPENDFILE)
+ endif
endif
endif
- endif
endef
$(foreach SRCFILE,$(SOURCE),$(eval $(call gccxmlprocesssource,$(SRCFILE))))
@@ -235,7 +235,7 @@
# note: the main call here needs to reside outside of start/endrule in order to avoid command line length issues.
define gccxmlpackage
$(TEMPGXPARCHIVE): $(MMPXMLFILE) $(SRCXMLFILES) $(DEFFILE)
- $$(call groupcallin50,$(ZIP) -j $$@,$$^ $(RFIFILES)) ;
+ $$(call groupcallin50,@$(ZIP) -j $$@ > /dev/null 2>&1,$$^ $(RFIFILES)) ;
$(call startrule,gccxmlpackage) \
$(GNURM) -f $(GXPARCHIVE) && \
$(GNUCP) $$@ $(GXPARCHIVE) \
--- a/sbsv2/raptor/lib/flm/standard.xml Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/lib/flm/standard.xml Mon Mar 01 16:51:58 2010 +0000
@@ -106,7 +106,6 @@
<param name='DEBUG_FORMAT'/>
<param name='DEBUG_INFO'/>
<param name='DEPEND_OPTION'/>
- <param name='DEPEND_SKIP' default=''/>
<param name='ELF2E32'/>
<param name='EFREEZE'/>
<param name='EFREEZE_REMOVE_OPTION' default=''/>
@@ -238,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/tools2common.flm Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/lib/flm/tools2common.flm Mon Mar 01 16:51:58 2010 +0000
@@ -1,4 +1,4 @@
-# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2006-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"
@@ -75,17 +75,22 @@
$(compile2object_TARGET): $(1) $(if (DEPENDFILE),,EXPORT)
$(call startrule,compile2object,,$(1)) \
$(if $(COMPILER_PATH),COMPILER_PATH="$(COMPILER_PATH)",) \
- $(COMPILER) $(CFLAGS) $(CDEFS.TOOLS2) -MD -MT"$$@" -MF"$(DEPENDFILENAME)" $(INCLUDES) $(OPT.O)"$$@" "$(1)" \
+ $(COMPILER) $(CFLAGS) $(CDEFS.TOOLS2) \
+ $(if $(NO_DEPEND_GENERATE),,-MD -MT"$$@" -MF"$(DEPENDFILENAME)") \
+ $(INCLUDES) $(OPT.O)"$$@" "$(1)" \
$(call endrule,compile2object)
-CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME)
-ifneq "$(DEPENDFILE)" ""
-ifeq ($(NO_DEPEND_INCLUDE),)
- ifeq "$(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS)))" ""
- -include $(DEPENDFILE)
+ifeq ($(NO_DEPEND_GENERATE),)
+ CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME)
+endif
+
+ifneq ($(DEPENDFILE),)
+ ifeq ($(NO_DEPEND_INCLUDE),)
+ ifeq ($(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS))),)
+ -include $(DEPENDFILE)
+ endif
endif
endif
-endif
endef
--- a/sbsv2/raptor/lib/flm/tracecompiler.mk Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/lib/flm/tracecompiler.mk Mon Mar 01 16:51:58 2010 +0000
@@ -1,4 +1,4 @@
-# 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"
@@ -13,15 +13,34 @@
# Description:
# Run Trace Compiler on source files to generate trace headers and decode files
+# Set project name as <mmp_name>
TRACE_PRJNAME:=$(basename $(notdir $(PROJECT_META)))
+
+TARGETEXT:=$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(POSTLINKFILETYPE))
+
# Find out TRACE_PATH
+# first look for .*/traces/traces_<target_name>_<target_extension>
+TRACE_PATH:=$(strip $(foreach DIR,$(USERINCLUDE),$(filter %/traces/traces_$(TARGET)_$(TARGETEXT),$(DIR))))
+
+ifneq ($(TRACE_PATH),)
+# set project name as <target_name>_<target_extension> instead of <mmp_name>
+TRACE_PRJNAME:=$(TARGET)_$(TARGETEXT)
+endif
+
+# if not found look for .*/traces_<mmp_name>
+ifeq ($(TRACE_PATH),)
TRACE_PATH:=$(strip $(foreach DIR,$(USERINCLUDE),$(filter %/traces_$(TRACE_PRJNAME),$(DIR))))
+endif
+
+# if not found look for .*/traces
ifeq ($(TRACE_PATH),)
TRACE_PATH:=$(strip $(foreach DIR,$(USERINCLUDE),$(filter %/traces,$(DIR))))
endif
+
+# if not found look for .*/traces_<target_name>_<target_type>
ifeq ($(TRACE_PATH),)
TRACE_PATH:=$(strip $(foreach DIR,$(USERINCLUDE),$(filter %/traces_$(TARGET)_$(TARGETTYPE),$(DIR))))
-# Use target name instead of mmp file name
+# set project name as <target_name>_<target_type> instead of <mmp_name>
TRACE_PRJNAME:=$(TARGET)_$(TARGETTYPE)
endif
@@ -70,7 +89,7 @@
( echo -en "$(TRACE_PRJNAME)\n$(PROJECT_META)\n"; \
$(GNUCAT) $(TRACE_SOURCE_LIST); \
echo -en "*ENDOFSOURCEFILES*\n" ) | \
- $(JAVA_COMMAND) $(TRACE_COMPILER_START) $(UID_TC) && \
+ $(JAVA_COMMAND) $(TRACE_COMPILER_START) -vb $(UID_TC) && \
$(GNUMD5SUM) $(TRACE_SOURCE_LIST) > $(TRACE_MARKER) && \
{ $(GNUCAT) $(TRACE_SOURCE_LIST) ; true ; } \
$(call endrule,tracecompile)
--- a/sbsv2/raptor/lib/flm/win32.flm Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/lib/flm/win32.flm Mon Mar 01 16:51:58 2010 +0000
@@ -150,7 +150,7 @@
endif
# get the compiler to generate dependencies for us?
-ifeq ($(DEPEND_SKIP),)
+ifeq ($(NO_DEPEND_GENERATE),)
CFLAGS:=$(CFLAGS) $(OPT.DEPEND)
endif
@@ -379,20 +379,21 @@
$(call startrule,win32compile2object,,$(1)) \
$(CC) $$(if $$(filter %.C,$(1)),-lang c) $(CFLAGS) $(OPTION_CW) \
$(if $(STDCPP_BUILD),$$(if $$(filter %.c %.C,$(1)),,$$(call makemacrodef,$(OPT.DEFINE),$(STDCPP_WCHAR_DEF))),) \
- $(DEFINES) $(INCLUDES) $(OPT.OUT)"$$@" "$(1)" && \
- $(GNUSED) 's#\\\\\(.\)#/\1#g;s#/ #\\\ #g;s#\([A-Za-z]:\)\\\\#\1/#g;1,1s#.*: .* \(.\)\?$$$$#$(call mapwin32file,$(1),.o): $1 \1#' $(call mapwin32file,$(1),.dep) > $(call mapwin32file,$(1),.o.d) \
+ $(DEFINES) $(INCLUDES) $(OPT.OUT)"$$@" "$(1)" \
+ $(if $(NO_DEPEND_GENERATE),,&& $(GNUSED) 's#\\\\\(.\)#/\1#g;s#/ #\\\ #g;s#\([A-Za-z]:\)\\\\#\1/#g;1,1s#.*: .* \(.\)\?$$$$#$(call mapwin32file,$(1),.o): $1 \1#' $(call mapwin32file,$(1),.dep) > $(call mapwin32file,$(1),.o.d)) \
$(call endrule,win32compile2object)
- CLEANTARGETS:=$$(CLEANTARGETS) $(call mapwin32file,$(1),.dep)
-
- CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME)
- ifneq "$(DEPENDFILE)" ""
- ifeq ($(NO_DEPEND_INCLUDE),)
- ifeq "$(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS)))" ""
- -include $(DEPENDFILE)
+ ifeq ($(NO_DEPEND_GENERATE),)
+ CLEANTARGETS:=$$(CLEANTARGETS) $(call mapwin32file,$(1),.dep) $(DEPENDFILENAME)
+ endif
+
+ ifneq ($(DEPENDFILE),)
+ ifeq ($(NO_DEPEND_INCLUDE),)
+ ifeq ($(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS))),)
+ -include $(DEPENDFILE)
+ endif
endif
endif
- endif
# individual source file compilation
SOURCETARGET_$(call sanitise,$(1)): $(call mapwin32file,$(1),.o)
@@ -419,28 +420,32 @@
STDMWCINCLUDEPATHS:=$(if $(MWCSym2Includes),$(MWCSym2Includes),$(MWCSYM2INCLUDES))
define win32resourcecompile
- # Note that two calls are made to the resource compiler here. There seems to be no means to override the
- # default behaviour of dumping dependency files into the CWD when using -MD. So - we compile once for real,
- # and then pipe dependency output through SED afterwards to create the dependency file where we want it
+ # Note that, if dependency files are required, two calls are made to the resource compiler here.
+ # There seems to be no means to override the default behaviour of dumping dependency files into the CWD when using -MD.
+ # So - we compile once for real, and then pipe dependency output through SED afterwards to create the dependency file where we want it
$(eval DEPENDFILENAME:=$(call mapwin32file,$(1),.res.d))
$(eval DEPENDFILE:=$(wildcard $(DEPENDFILENAME)))
$(call mapwin32file,$(1),.res): $(1) $(PROJECT_META) $(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT)
$(call startrule,win32resourcecompile,,$(1)) \
- MWCIncludes='$(STDMWCINCLUDEPATHS)' $(RC) $(OPT.OUT)"$$@" "$(1)" && \
- MWCIncludes='$(STDMWCINCLUDEPATHS)' $(RC) -make $(OPT.OUT)"$$@" "$(1)" | \
- $(GNUSED) 's#\\\\\(.\)#/\1#g;s#/ #\\\ #g;s#\([A-Za-z]:\)\\\\#\1/#g;1,1s#.*: .* \(.\)\?$$$$#$(call mapwin32file,$(1),.res): $1 \1#' > $(call mapwin32file,$(1),.res.d) \
+ MWCIncludes='$(STDMWCINCLUDEPATHS)' $(RC) $(OPT.OUT)"$$@" "$(1)" \
+ $(if $(NO_DEPEND_GENERATE),,&& \
+ MWCIncludes='$(STDMWCINCLUDEPATHS)' $(RC) -make $(OPT.OUT)"$$@" "$(1)" | \
+ $(GNUSED) 's#\\\\\(.\)#/\1#g;s#/ #\\\ #g;s#\([A-Za-z]:\)\\\\#\1/#g;1,1s#.*: .* \(.\)\?$$$$#$(call mapwin32file,$(1),.res): $1 \1#' > $(call mapwin32file,$(1),.res.d)) \
$(call endrule,win32resourcecompile)
- CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME)
- ifneq "$(DEPENDFILE)" ""
- ifeq ($(NO_DEPEND_INCLUDE),)
- ifeq "$(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS)))" ""
- -include $(DEPENDFILE)
+ ifeq ($(NO_DEPEND_GENERATE),)
+ CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME)
+ endif
+
+ ifneq ($(DEPENDFILE),)
+ ifeq ($(NO_DEPEND_INCLUDE),)
+ ifeq ($(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS))),)
+ -include $(DEPENDFILE)
+ endif
endif
endif
- endif
endef
--- a/sbsv2/raptor/lib/flm/win32plugin.flm Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/lib/flm/win32plugin.flm Mon Mar 01 16:51:58 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/python/plugins/filter_terminal.py Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/python/plugins/filter_terminal.py Mon Mar 01 16:51:58 2010 +0000
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2008-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"
@@ -230,6 +230,8 @@
# detect the status report from a recipe
if text.find('failed') != -1:
self.failed = True
+ if text.find("reason='timeout'") != -1:
+ self.timedout = True
else:
self.failed = False
return
@@ -282,6 +284,7 @@
# This variable holds all recipe information
self.failed = False # Recipe status
+ self.timedout = False # Did it Timeout?
self.recipeBody = []
self.recipelineExceeded = 0
return
@@ -298,16 +301,30 @@
if self.failed == True:
if not self.analyseonly:
- sys.stderr.write("\n FAILED %s for %s: %s\n" % \
+ reason=""
+ if self.timedout:
+ reason="(timeout)"
+
+ sys.stderr.write("\n FAILED %s %s for %s: %s\n" % \
(self.recipe_dict['name'],
+ reason,
self.recipe_dict['config'],
self.recipe_dict['name_to_user']))
mmppath = generic_path.Path(self.recipe_dict['mmp']).From(generic_path.CurrentDir()).GetShellPath()
- sys.stderr.write(" mmp: %s\n" % mmppath)
- for L in self.recipeBody:
- if not L.startswith('+'):
- sys.stdout.write(" %s\n" % L.rstrip())
+ if mmppath is not "":
+ sys.stderr.write(" mmp: %s\n" % mmppath)
+ if self.timedout:
+ sys.stderr.write( \
+""" Timeouts may be due to network related issues (e.g. license servers),
+ tool bugs or abnormally large components. TALON_TIMEOUT can be adjusted
+ in the make engine configuration if required. Make engines may have
+ their own timeouts that Raptor cannot influence
+""")
+ else:
+ for L in self.recipeBody:
+ if not L.startswith('+'):
+ sys.stdout.write(" %s\n" % L.rstrip())
self.err_count += 1
else:
r = Recipe.factory(self.recipe_dict['name'], "".join(self.recipeBody))
--- a/sbsv2/raptor/python/raptor.py Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/python/raptor.py Mon Mar 01 16:51:58 2010 +0000
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2006-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"
@@ -238,7 +238,7 @@
class Component(ModelNode):
"""A group of projects or, in symbian-speak, a bld.inf.
"""
- def __init__(self, filename):
+ def __init__(self, filename, layername="", componentname=""):
super(Component,self).__init__(filename)
# Assume that components are specified in bld.inf files for now
# One day that tyranny might end.
@@ -249,21 +249,34 @@
self.exportspecs = []
self.depfiles = []
self.unfurled = False # We can parse this
+
+ # Extra metadata optionally supplied with system definition file gathered components
+ self.layername = layername
+ self.componentname = componentname
def AddMMP(self, filename):
self.children.add(Project(filename))
class Layer(ModelNode):
- """ Some components that should be built togther
+ """ Some components that should be built togther
e.g. a Layer in the system definition.
+
+ Components that come from system definition files can
+ have extra surrounding metadata that we need to pass
+ on for use in log output.
"""
def __init__(self, name, componentlist=[]):
super(Layer,self).__init__(name)
self.name = name
for c in componentlist:
- self.children.add(Component(c))
+ if isinstance(c, raptor_xml.SystemModelComponent):
+ # this component came from a system_definition.xml
+ self.children.add(Component(c, c.GetContainerName("layer"), c.GetContainerName("component")))
+ else:
+ # this is a plain old bld.inf file from the command-line
+ self.children.add(Component(c))
def unfurl(self, build):
"""Discover the children of this layer. This involves parsing the component MetaData (bld.infs, mmps).
@@ -329,6 +342,12 @@
if build.timing == True:
cli_options += " --timing"
+ if build.noDependInclude == True:
+ cli_options += " --no-depend-include"
+
+ if build.noDependGenerate == True:
+ cli_options += " --no-depend-generate"
+
nc = len(self.children)
number_blocks = build.jobs
@@ -501,6 +520,7 @@
self.doExport = True
self.noBuild = False
self.noDependInclude = False
+ self.noDependGenerate = False
self.projects = set()
self.cache = raptor_cache.Cache(self)
@@ -619,6 +639,10 @@
self.noDependInclude = TrueOrFalse
return True
+ def SetNoDependGenerate(self, TrueOrFalse):
+ self.noDependGenerate = TrueOrFalse
+ return True
+
def SetKeepGoing(self, TrueOrFalse):
self.keepGoing = TrueOrFalse
return True
--- a/sbsv2/raptor/python/raptor_cli.py Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/python/raptor_cli.py Mon Mar 01 16:51:58 2010 +0000
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2006-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"
@@ -47,7 +47,7 @@
LIBRARY Create import libraries from frozen .DEF files
LISTING Create assembler listing files for source files
REALLYCLEAN Same as CLEAN but also remove exported files
-RESOURCE Create resource files and AIFs
+RESOURCE Create resource files
ROMFILE Create an IBY file to be included in a ROM
TARGET Create main executables
WHAT List all releaseable targets
@@ -119,6 +119,9 @@
parser.add_option("--no-depend-include",action="store_true",dest="noDependInclude",
help="Do not include generated dependency files. This is only useful for extremely large non-incremental builds.")
+
+parser.add_option("--no-depend-generate",action="store_true",dest="noDependGenerate",
+ help="Do not generate dependency files. This is only useful for extremely large non-incremental builds. Implies --no-depend-include.")
parser.add_option("-o","--orderlayers",action="store_true",dest="sys_def_order_layers",
help="Build layers in the System Definition XML file in the order listed or, if given, in the order of -l options.")
@@ -274,6 +277,7 @@
'make_engine': Raptor.SetMakeEngine,
'make_option': Raptor.AddMakeOption,
'noDependInclude': Raptor.SetNoDependInclude,
+ 'noDependGenerate': Raptor.SetNoDependGenerate,
'number_of_jobs': Raptor.SetJobs,
'project_name' : Raptor.AddProject,
'filter_list' : Raptor.FilterList,
@@ -285,8 +289,8 @@
'timing' : Raptor.SetTiming,
'source_target' : Raptor.AddSourceTarget,
'command_file' : CommandFile,
- 'parallel_parsing' : Raptor.SetParallelParsing,
- 'version' : Raptor.PrintVersion
+ 'parallel_parsing' : Raptor.SetParallelParsing,
+ 'version' : Raptor.PrintVersion
}
# Check if Quiet mode has been specified (otherwise we will make noise)
--- a/sbsv2/raptor/python/raptor_make.py Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/python/raptor_make.py Mon Mar 01 16:51:58 2010 +0000
@@ -178,6 +178,20 @@
talon_settings,
self.raptor.systemFLM.Append('globals.mk') )
+ # Unless dependency processing has been eschewed via the CLI, use a .DEFAULT target to
+ # trap missing dependencies (ignoring user config files that we know are usually absent)
+ if not (self.raptor.noDependGenerate or self.raptor.noDependInclude):
+ self.makefile_prologue += """
+
+$(FLMHOME)/user/final.mk:
+$(FLMHOME)/user/default.flm:
+$(FLMHOME)/user/globals.mk:
+
+.DEFAULT::
+ @echo "<warning>Missing dependency detected: $@</warning>"
+
+"""
+
# Only output timings if requested on CLI
if self.raptor.timing:
self.makefile_prologue += "\n# Print Start-time of Makefile parsing\n" \
@@ -427,9 +441,13 @@
command += " " + o
# Switch off dependency file including?
- if self.raptor.noDependInclude:
+ if self.raptor.noDependInclude or self.raptor.noDependGenerate:
command += " NO_DEPEND_INCLUDE=1"
+ # Switch off dependency file generation (and, implicitly, inclusion)?
+ if self.raptor.noDependGenerate:
+ command += " NO_DEPEND_GENERATE=1"
+
if self.usetalon:
# use the descrambler if we set it up
command += ' TALON_DESCRAMBLE='
--- a/sbsv2/raptor/python/raptor_meta.py Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/python/raptor_meta.py Mon Mar 01 16:51:58 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"
@@ -2177,6 +2177,9 @@
self.BuildVariant.AddOperation(raptor_data.Set("DEFFILEKEYWORD", deffile_keyword))
self.__debug("Set DEFFILEKEYWORD to '%s'",deffile_keyword)
+ # If target type is "implib" it must have a def file
+ self.checkImplibDefFile(resolvedDefFile)
+
# if this target type has a default TARGETPATH other than "" for
# resources then we need to add that default to all resources which
# do not explicitly set the TARGETPATH themselves.
@@ -2268,6 +2271,14 @@
"""Target type in lower case - the standard format"""
return self.__targettype.lower()
+ def checkImplibDefFile(self, defFile):
+ """Project with target type implib must have DEFFILE defined
+ explicitly or implicitly, otherwise it is an error
+ """
+ if self.getTargetType() == 'implib' and defFile == '':
+ self.__Raptor.Error("No DEF File for IMPLIB target type in " + \
+ self.__currentMmpFile, bldinf=self.__bldInfFilename)
+
def resolveDefFile(self, aTARGET, aBuildPlatform):
"""Returns a fully resolved DEFFILE entry depending on .mmp file location and TARGET, DEFFILE and NOSTRICTDEF
entries in the .mmp file itself (where appropriate).
@@ -2675,15 +2686,6 @@
specName = getSpecName(component.bldinf_filename, fullPath=True)
- if isinstance(component.bldinf, raptor_xml.SystemModelComponent):
- # this component came from a system_definition.xml
- layer = component.bldinf.GetContainerName("layer")
- componentName = component.bldinf.GetContainerName("component")
- else:
- # this is a plain old bld.inf file from the command-line
- layer = ""
- componentName = ""
-
# exports are independent of build platform
for i,ep in enumerate(self.ExportPlatforms):
specNode = raptor_data.Specification(name = specName)
@@ -2694,8 +2696,8 @@
# add some basic data in a component-wide variant
var = raptor_data.Variant(name='component-wide')
var.AddOperation(raptor_data.Set("COMPONENT_META", str(component.bldinf_filename)))
- var.AddOperation(raptor_data.Set("COMPONENT_NAME", componentName))
- var.AddOperation(raptor_data.Set("COMPONENT_LAYER", layer))
+ var.AddOperation(raptor_data.Set("COMPONENT_NAME", component.componentname))
+ var.AddOperation(raptor_data.Set("COMPONENT_LAYER", component.layername))
specNode.AddVariant(var)
# add this bld.inf Specification to the export platform
@@ -2726,8 +2728,8 @@
# add some basic data in a component-wide variant
var = raptor_data.Variant(name='component-wide-settings-' + plat)
var.AddOperation(raptor_data.Set("COMPONENT_META",str(component.bldinf_filename)))
- var.AddOperation(raptor_data.Set("COMPONENT_NAME", componentName))
- var.AddOperation(raptor_data.Set("COMPONENT_LAYER", layer))
+ var.AddOperation(raptor_data.Set("COMPONENT_NAME", component.componentname))
+ var.AddOperation(raptor_data.Set("COMPONENT_LAYER", component.layername))
var.AddOperation(raptor_data.Set("MODULE", modulename))
var.AddOperation(raptor_data.Append("OUTPUTPATHOFFSET", outputDir, '/'))
var.AddOperation(raptor_data.Append("OUTPUTPATH", outputDir, '/'))
@@ -2824,8 +2826,10 @@
sourceMTime = 0
destMTime = 0
+ sourceStat = 0
try:
- sourceMTime = os.stat(source_str)[stat.ST_MTIME]
+ sourceStat = os.stat(source_str)
+ sourceMTime = sourceStat[stat.ST_MTIME]
destMTime = os.stat(dest_str)[stat.ST_MTIME]
except OSError, e:
if sourceMTime == 0:
@@ -2839,6 +2843,9 @@
if os.path.exists(dest_str):
os.chmod(dest_str,stat.S_IREAD | stat.S_IWRITE)
shutil.copyfile(source_str, dest_str)
+
+ # Ensure that the destination file remains executable if the source was also:
+ os.chmod(dest_str,sourceStat[stat.ST_MODE] | stat.S_IREAD | stat.S_IWRITE | stat.S_IWGRP )
self.__Raptor.Info("Copied %s to %s", source_str, dest_str)
else:
self.__Raptor.Info("Up-to-date: %s", dest_str)
--- a/sbsv2/raptor/schema/build/log/1_0.xsd Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/schema/build/log/1_0.xsd Mon Mar 01 16:51:58 2010 +0000
@@ -3,7 +3,7 @@
<xsd:annotation>
<xsd:documentation xml:lang="en">
- Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+ Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
All rights reserved.
This component and the accompanying materials are made available
uunder the terms of the License "Eclipse Public License v1.0"
@@ -60,7 +60,8 @@
<xsd:attribute name="name" type="xsd:string"/>
<xsd:attribute name="project" type="xsd:string"/>
<xsd:attribute name="component" type="xsd:string"/>
- <xsd:attribute name="forcesuccess" type="xsd:string"/>
+ <xsd:attribute name="flags" type="xsd:string"/>
+ <xsd:attribute name="reason" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
--- a/sbsv2/raptor/test/smoke_suite/basic_dependency.py Tue Feb 23 13:15:31 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-#
-# 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
-from raptor_meta import BldInfFile
-
-def run():
- result = SmokeTest.PASS
-
- t = SmokeTest()
- t.id = "0098a"
- t.name = "Build a component to begin with"
- t.description = "Build a simple component"
- t.usebash = True
- t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf"
-
- t.targets = [
- "$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe",
- "$(EPOCROOT)/epoc32/release/armv5/udeb/test.exe.map",
- "$(EPOCROOT)/epoc32/release/armv5/urel/test.exe",
- "$(EPOCROOT)/epoc32/release/armv5/urel/test.exe.map",
- "$(EPOCROOT)/epoc32/release/winscw/urel/test.exe",
- "$(EPOCROOT)/epoc32/release/winscw/udeb/test.exe"
- ]
- t.run()
- if t.result == SmokeTest.FAIL:
- result = SmokeTest.FAIL
-
- # Ensure we don't clean up from the previous build in any subsequent runs
- t = SmokeTest()
- t.addbuildtargets('smoke_suite/test_resources/simple/bld.inf', [])
- t.targets = []
- t.usebash = True
-
- t.id = "0098b"
- t.name ="Touch a source file dependency and make sure thats the only one rebuilt"
- t.description = "Touches one source file's dependency to check if its rebuilt"
- t.command = """
- sleep 1
- touch smoke_suite/test_resources/simple/test.h
- sbs -f - -b smoke_suite/test_resources/simple/bld.inf """
- # We should only recompile 1 source file, twice for armv5 and twice for winscw
- t.countmatch = [
- [".*recipe name='compile'.*", 2],
- [".*recipe name='win32compile2object'.*", 2]
- ]
-
- t.run()
- if t.result == SmokeTest.FAIL:
- result = SmokeTest.FAIL
-
- # Invalidate the dependency file to make sure its not regenerated
- t = SmokeTest()
- # Ensure we don't clean up from the previous build in any subsequent runs
- t.addbuildtargets('smoke_suite/test_resources/simple/bld.inf', [])
- t.targets = []
- t.usebash = True
-
- t.id = "0098c"
- t.name ="Invalidate the dependency file to make sure its not regenerated"
- t.description = "Invalidate the dependency file to make sure its not regenerated"
- fragment = BldInfFile.outputPathFragment('smoke_suite/test_resources/simple/Bld.inf')
- t.command = """
- sleep 1
- touch smoke_suite/test_resources/simple/test.cpp
- echo INVALIDATE_ARMV5_DEPENDENCY_FILE >> $(EPOCROOT)/epoc32/build/"""+ fragment + """/test_/armv5/urel/test.o.d
- echo INVALIDATE_WINSCW_DEPENDENCY_FILE >> $(EPOCROOT)/epoc32/build/"""+ fragment + """/test_/winscw/urel/test.o.d
- sbs -b smoke_suite/test_resources/simple/bld.inf -c armv5_urel -c winscw_urel
- rm -rf $(EPOCROOT)/epoc32/build/"""+ fragment + """/test_/armv5/urel/test.o.d
- rm -rf $(EPOCROOT)/epoc32/build/"""+ fragment + """/test_/winscw/urel/test.o.d"""
- t.errors = 1 # We expect the build to fail since we messed up the dependency file
- t.run()
- if t.result == SmokeTest.FAIL:
- result = SmokeTest.FAIL
-
- t.id = "98"
- t.name = "basic_dependency"
- t.result = result
- t.print_result()
- return t
--- a/sbsv2/raptor/test/smoke_suite/bitmap.py Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/bitmap.py Mon Mar 01 16:51:58 2010 +0000
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2000-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"
@@ -26,13 +26,6 @@
t.targets = [
"$(EPOCROOT)/epoc32/include/testbitmap.mbg",
"$(EPOCROOT)/epoc32/data/z/resource/apps/testbitmap.mBm",
- "$(EPOCROOT)/epoc32/localisation/group/testbitmap.info",
- "$(EPOCROOT)/epoc32/localisation/testbitmap/mbm/def2m.bmp",
- "$(EPOCROOT)/epoc32/localisation/testbitmap/mbm/def3m.bmp",
- "$(EPOCROOT)/epoc32/localisation/testbitmap/mbm/def4m.bmp",
- "$(EPOCROOT)/epoc32/localisation/testbitmap/mbm/def24.bmp",
- "$(EPOCROOT)/epoc32/localisation/testbitmap/mbm/def32.bmp",
- "$(EPOCROOT)/epoc32/localisation/testbitmap/mbm/def48.bmp",
"$(EPOCROOT)/epoc32/tools/makefile_templates/test/mifconv.xml",
"$(EPOCROOT)/epoc32/tools/makefile_templates/test/mifconv.flm"
]
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/dependencies.py Mon Mar 01 16:51:58 2010 +0000
@@ -0,0 +1,194 @@
+#
+# 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:
+#
+
+from raptor_tests import AntiTargetSmokeTest
+from raptor_meta import BldInfFile
+import os
+
+def run():
+ t = AntiTargetSmokeTest()
+ t.usebash = True
+
+ genericTargets = [
+ "$(EPOCROOT)/epoc32/release/armv5/udeb/dependency.exe",
+ "$(EPOCROOT)/epoc32/release/armv5/udeb/dependency.exe.map",
+ "$(EPOCROOT)/epoc32/release/armv5/urel/dependency.exe",
+ "$(EPOCROOT)/epoc32/release/armv5/urel/dependency.exe.map",
+ "$(EPOCROOT)/epoc32/release/winscw/urel/dependency.exe",
+ "$(EPOCROOT)/epoc32/release/winscw/urel/dependency.exe.map",
+ "$(EPOCROOT)/epoc32/release/winscw/udeb/dependency.exe",
+ "$(EPOCROOT)/epoc32/include/dependency.rsg",
+ "$(EPOCROOT)/epoc32/data/z/resource/apps/dependency.rsc",
+ "$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/dependency.rsc",
+ "$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/dependency.rsc",
+ "$(EPOCROOT)/epoc32/include/main.rsg",
+ "$(EPOCROOT)/epoc32/data/z/resource/apps/main.rsc",
+ "$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/main.rsc",
+ "$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/main.rsc"
+ ]
+ windowsTargets = [
+ "$(EPOCROOT)/epoc32/release/tools2/rel/dependency.exe",
+ "$(EPOCROOT)/epoc32/tools/dependency.exe"
+ ]
+ linuxTargets = [
+ "$(EPOCROOT)/epoc32/release/tools2/$(HOSTPLATFORM_DIR)/rel/dependency",
+ "$(EPOCROOT)/epoc32/tools/dependency"
+ ]
+
+ # Set general host platform specifics from first test run, but assume Windows initially
+ hostPlatform = "windows"
+ hostPlatformTargets = genericTargets + windowsTargets
+ hostPlatformOffset = ""
+
+ t.id = "0098a"
+ t.name = "baseline_build"
+ t.description = "Build a component with source and resource files that are dependent on header files exported in the build"
+ t.command = """
+ cp smoke_suite/test_resources/dependencies/src/dependency1.cpp smoke_suite/test_resources/dependencies/dependency.cpp
+ cp smoke_suite/test_resources/dependencies/src/dependency1.rss smoke_suite/test_resources/dependencies/dependency.rss
+ sbs -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel"""
+ t.mustnotmatch = [
+ "<warning>Missing dependency detected: .*</warning>"
+ ]
+ t.targets = hostPlatformTargets
+ t.run(hostPlatform)
+ if t.result == AntiTargetSmokeTest.SKIP:
+ hostPlatform = "linux"
+ hostPlatformTargets = genericTargets + linuxTargets
+ hostPlatformOffset = "$(HOSTPLATFORM_DIR)/"
+ t.targets = hostPlatformTargets
+ t.run(hostPlatform)
+
+ # Ensure we don't clean up from the previous build in the following two tests
+ t.targets = []
+
+ # Core expected outcome for the following two tests
+ t.mustmatch = [
+ ".*recipe name='compile' target='.*dependency\.o'",
+ ".*recipe name='win32compile2object' target='.*dependency\.o'",
+ ".*recipe name='compile2object' target='.*dependency\.o'",
+ ".*recipe name='resourcecompile' target='.*dependency\.rsc'"
+ ]
+ t.countmatch = [
+ [".*recipe name='compile'", 2],
+ [".*recipe name='win32compile2object'", 2],
+ [".*recipe name='compile2object'", 1],
+ [".*recipe name='resourcecompile'", 1]
+ ]
+
+
+ t.id = "0098b"
+ t.name ="touched_header_dependencies"
+ t.description = "Touch the exported header files and check that only the related source and resource files are re-built"
+ t.command = """
+ sleep 1
+ touch $(EPOCROOT)/epoc32/include/dependency.h
+ touch $(EPOCROOT)/epoc32/include/dependency.rh
+ sbs -f- -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel"""
+ t.run()
+
+
+ t.id = "0098c"
+ t.name ="redundant_header_dependencies"
+ t.description = """
+ Build the component again, but manipulate it so that (a) it no longer has a dependency on the exported header files and
+ (b) the header files have been removed and (c) the header files are no longer exported. Check that only the related source
+ and resource files are re-built"""
+ t.command = """
+ cp smoke_suite/test_resources/dependencies/src/dependency2.cpp smoke_suite/test_resources/dependencies/dependency.cpp
+ cp smoke_suite/test_resources/dependencies/src/dependency2.rss smoke_suite/test_resources/dependencies/dependency.rss
+ rm -rf $(EPOCROOT)/epoc32/include/dependency.h
+ rm -rf $(EPOCROOT)/epoc32/include/dependency.rh
+ sbs -f- --noexport -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel"""
+ t.mustnotmatch = []
+ # Note that the resource build does not exhibit a missing dependency as its dependency files are generated in a separate stage where
+ # the target file isn't actually a target of that stage
+ t.mustmatch.extend([
+ "<warning>Missing dependency detected: .*/epoc32/include/dependency.h</warning>"
+ ])
+ t.warnings = 1
+ t.run()
+
+
+ t.id = "0098d"
+ t.name ="invalid_dependency_files"
+ t.description = "Invalidate dependency files, then make sure we can clean and re-build successfully"
+ buildLocation = "$(EPOCROOT)/epoc32/build/" + BldInfFile.outputPathFragment('smoke_suite/test_resources/dependencies/bld.inf') + "/dependency_"
+ t.command = """
+ sleep 1
+ touch smoke_suite/test_resources/dependencies/dependency.cpp
+ echo INVALIDATE_ARMV5_DEPENDENCY_FILE >> """+buildLocation+"""/armv5/urel/dependency.o.d
+ echo INVALIDATE_WINSCW_DEPENDENCY_FILE >> """+buildLocation+"""/winscw/urel/dependency.o.d
+ echo INVALIDATE_TOOLS2_DEPENDENCY_FILE >> """+buildLocation+"""/dependency_exe/tools2/rel/"""+hostPlatformOffset+"""dependency.o.d
+ echo INVALIDATE_RESOURCE_DEPENDENCY_FILE >> """+buildLocation+"""/dependency__resource_apps_sc.rpp.d
+ sbs -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel
+ sbs -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel clean
+ sbs -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel"""
+ t.mustmatch = []
+ t.countmatch = []
+ t.warnings = 0
+ t.errors = 1 # We expect an error from the first build due to the deliberate dependency file corruption
+ t.targets = hostPlatformTargets
+ t.run(hostPlatform)
+
+
+ t.id = "0098e"
+ t.name ="no_depend_include"
+ t.description = "Invalidate dependency files in order to confirm they aren't processed when --no-depend-include is used"
+ buildLocation = "$(EPOCROOT)/epoc32/build/" + BldInfFile.outputPathFragment('smoke_suite/test_resources/dependencies/bld.inf') + "/dependency_"
+ t.command = """
+ sleep 1
+ touch smoke_suite/test_resources/dependencies/dependency.cpp
+ echo INVALIDATE_ARMV5_DEPENDENCY_FILE >> """+buildLocation+"""/armv5/urel/dependency.o.d
+ echo INVALIDATE_WINSCW_DEPENDENCY_FILE >> """+buildLocation+"""/winscw/urel/dependency.o.d
+ echo INVALIDATE_TOOLS2_DEPENDENCY_FILE >> """+buildLocation+"""/dependency_exe/tools2/rel/"""+hostPlatformOffset+"""dependency.o.d
+ sbs --no-depend-include -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel"""
+ t.errors = 0
+ t.targets = hostPlatformTargets
+ t.run(hostPlatform)
+
+
+ t.id = "0098f"
+ t.name ="no_depend_generate"
+ t.description = "Invalidate and remove dependency files in order to confirm they are neither included nor re-generated when --no-depend-generate is used"
+ buildLocation = "$(EPOCROOT)/epoc32/build/" + BldInfFile.outputPathFragment('smoke_suite/test_resources/dependencies/bld.inf') + "/dependency_"
+ t.command = """
+ sleep 1
+ touch smoke_suite/test_resources/dependencies/dependency.cpp
+ touch smoke_suite/test_resources/dependencies/main.cpp
+ echo INVALIDATE_ARMV5_DEPENDENCY_FILE >> """+buildLocation+"""/armv5/urel/dependency.o.d
+ echo INVALIDATE_WINSCW_DEPENDENCY_FILE >> """+buildLocation+"""/winscw/urel/dependency.o.d
+ echo INVALIDATE_TOOLS2_DEPENDENCY_FILE >> """+buildLocation+"""/dependency_exe/tools2/rel/"""+hostPlatformOffset+"""dependency.o.d
+ sbs --no-depend-generate -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel"""
+ t.antitargets = [
+ buildLocation+"/armv5/urel/main.o.d",
+ buildLocation+"/armv5/udeb/main.o.d",
+ buildLocation+"/winscw/urel/main.o.d",
+ buildLocation+"/winscw/udeb/main.o.d",
+ buildLocation+"/dependency_exe/tools2/rel/"+hostPlatformOffset+"main.o.d"
+ ]
+ t.targets = hostPlatformTargets
+ t.run(hostPlatform)
+
+ # clean-up
+ os.remove("smoke_suite/test_resources/dependencies/dependency.cpp")
+ os.remove("smoke_suite/test_resources/dependencies/dependency.rss")
+
+ t.id = "98"
+ t.name = "dependencies"
+ t.print_result()
+ return t
+
--- a/sbsv2/raptor/test/smoke_suite/export.py Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/export.py Mon Mar 01 16:51:58 2010 +0000
@@ -35,6 +35,7 @@
"simple_exp1.h exported_1.h\n"
"simple_exp2.h exported_2.h\n"
"simple_exp3.h exported_3.h\n"
+ "executable_file executable_file\n"
'"file with a space.doc" "exportedfilewithspacesremoved.doc"\n'
'"file with a space.doc" "exported file with a space.doc"\n\n'
@@ -59,6 +60,7 @@
"/tmp/$(USER)/simple_exp1.h",
"/tmp/$(USER)/simple_exp2.h",
"/tmp/$(USER)/simple_exp3.h",
+ "$(EPOCROOT)/epoc32/include/executable_file",
"$(EPOCROOT)/epoc32/include/simple_exp4.h"
]
t.run()
@@ -66,15 +68,31 @@
result = SmokeTest.FAIL
+ t = SmokeTest()
+ t.id = "0023a1"
+ t.name = "export"
+ t.usebash = True
+ t.command = "ls -l ${EPOCROOT}/epoc32/include/executable_file"
+ t.mustmatch = [ "^.rwxrwxr.x .*executable_file.*$" ]
+ t.targets = []
+ t.run("linux")
+ t.usebash = False
+
+ if t.result == SmokeTest.FAIL:
+ result = SmokeTest.FAIL
+
+
# Testing if clean deletes any exports which it is not supposed to
t.id = "0023b"
t.name = "export_clean"
t.command = "sbs -b smoke_suite/test_resources/simple_export/expbld.inf " \
+ "-c armv5 clean"
+ t.mustmatch = []
t.targets = [
"$(EPOCROOT)/epoc32/include/exported_1.h",
"$(EPOCROOT)/epoc32/include/exported_2.h",
"$(EPOCROOT)/epoc32/include/exported_3.h",
+ "$(EPOCROOT)/epoc32/include/executable_file",
"$(EPOCROOT)/epoc32/include/exportedfilewithspacesremoved.doc",
"$(EPOCROOT)/epoc32/include/exported file with a space.doc",
"/tmp/$(USER)/simple_exp1.h",
@@ -95,6 +113,7 @@
'$(EPOCROOT)/epoc32/include/exported_1.h',
'$(EPOCROOT)/epoc32/include/exported_2.h',
'$(EPOCROOT)/epoc32/include/exported_3.h',
+ "$(EPOCROOT)/epoc32/include/executable_file",
'$(EPOCROOT)/epoc32/include/exportedfilewithspacesremoved.doc',
'$(EPOCROOT)/epoc32/include/exported file with a space.doc',
'/tmp/$(USER)/simple_exp1.h',
@@ -116,6 +135,7 @@
'$(EPOCROOT)/epoc32/include/exported_1.h',
'$(EPOCROOT)/epoc32/include/exported_2.h',
'$(EPOCROOT)/epoc32/include/exported_3.h',
+ "$(EPOCROOT)/epoc32/include/executable_file",
'$(EPOCROOT)/epoc32/include/exportedfilewithspacesremoved.doc',
'$(EPOCROOT)/epoc32/include/exported file with a space.doc',
'/tmp/$(USER)/simple_exp1.h',
--- a/sbsv2/raptor/test/smoke_suite/gui_whatlog.py Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/gui_whatlog.py Mon Mar 01 16:51:58 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"
@@ -30,12 +30,6 @@
t.usebash = True
t.targets = [
"$(EPOCROOT)/epoc32/data/z/resource/apps/helloworld.mbm",
- "$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon24.bmp",
- "$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon2m.bmp",
- "$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon32.bmp",
- "$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon3m.bmp",
- "$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon48.bmp",
- "$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon4m.bmp",
"$(EPOCROOT)/epoc32/localisation/group/helloworld.info",
"$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/helloworld.mbm",
"$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/helloworld.mbm",
@@ -122,13 +116,6 @@
t.stdout = [
"<whatlog bldinf='"+componentpath+"/Bld.inf' mmp='"+componentpath+"/HelloWorld.mmp' config='armv5_udeb.whatlog'>",
"<bitmap>$(EPOCROOT)/epoc32/data/z/resource/apps/helloworld.mbm</bitmap>",
- "<bitmap>$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon24.bmp</bitmap>",
- "<bitmap>$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon2m.bmp</bitmap>",
- "<bitmap>$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon32.bmp</bitmap>",
- "<bitmap>$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon3m.bmp</bitmap>",
- "<bitmap>$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon48.bmp</bitmap>",
- "<bitmap>$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon4m.bmp</bitmap>",
- "<bitmap>$(EPOCROOT)/epoc32/localisation/group/helloworld.info</bitmap>",
"<resource>$(EPOCROOT)/epoc32/include/helloworld.rsg</resource>",
"<resource>$(EPOCROOT)/epoc32/data/z/resource/apps/helloworld.rsc</resource>",
"<resource>$(EPOCROOT)/epoc32/localisation/helloworld/rsc/helloworld.rpp</resource>",
@@ -142,13 +129,6 @@
"<bitmap>$(EPOCROOT)/epoc32/data/z/resource/apps/helloworld.mbm</bitmap>",
"<bitmap>$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/helloworld.mbm</bitmap>",
"<bitmap>$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/helloworld.mbm</bitmap>",
- "<bitmap>$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon24.bmp</bitmap>",
- "<bitmap>$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon2m.bmp</bitmap>",
- "<bitmap>$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon32.bmp</bitmap>",
- "<bitmap>$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon3m.bmp</bitmap>",
- "<bitmap>$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon48.bmp</bitmap>",
- "<bitmap>$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon4m.bmp</bitmap>",
- "<bitmap>$(EPOCROOT)/epoc32/localisation/group/helloworld.info</bitmap>",
"<resource>$(EPOCROOT)/epoc32/include/helloworld.rsg</resource>",
"<resource>$(EPOCROOT)/epoc32/data/z/resource/apps/helloworld.rsc</resource>",
"<resource>$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/helloworld.rsc</resource>",
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/implib_nodef.py Mon Mar 01 16:51:58 2010 +0000
@@ -0,0 +1,55 @@
+#
+# 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:
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+ t = SmokeTest()
+
+ t.id = "71a"
+ t.name = "implib_implicit_def"
+ t.command = "sbs -b smoke_suite/test_resources/simple_implib/nodef/group/bld.inf" \
+ + " -p implib_implicit_def.mmp"
+ t.targets = [
+ "$(EPOCROOT)/epoc32/release/armv5/lib/implib_implicit_def.dso",
+ "$(EPOCROOT)/epoc32/release/armv5/lib/implib_implicit_def{000a0000}.dso",
+ "$(EPOCROOT)/epoc32/release/winscw/udeb/implib_implicit_def.lib"
+ ]
+ t.run("linux")
+ if t.result == SmokeTest.SKIP:
+ t.targets.extend([
+ "$(EPOCROOT)/epoc32/release/armv5/lib/implib_implicit_def.lib",
+ "$(EPOCROOT)/epoc32/release/armv5/lib/implib_implicit_def{000a0000}.lib"
+ ])
+ t.run("windows")
+
+ t.id = "71b"
+ t.name = "implib_no_def"
+ t.command = "sbs -b smoke_suite/test_resources/simple_implib/nodef/group/bld.inf" \
+ + " -p implib_no_def.mmp"
+ t.targets = []
+ t.mustmatch = [
+ "No DEF File for IMPLIB target type in"
+ ]
+ t.errors = 2 # 1 for winscw and 1 for armv5
+ t.returncode = 1
+ t.run()
+
+ t.id = "71"
+ t.name = "implib_nodef"
+ t.print_result()
+
+ return t
--- a/sbsv2/raptor/test/smoke_suite/make_engine_errors.py Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/make_engine_errors.py Mon Mar 01 16:51:58 2010 +0000
@@ -31,7 +31,7 @@
t.usebash = True
t.errors = 1
t.returncode = 1
- base_command = "sbs -b smoke_suite/test_resources/make_engine_errors/bld.inf -f-"
+ base_command = "sbs --no-depend-generate -b smoke_suite/test_resources/make_engine_errors/bld.inf -f-"
t.id = "113a"
t.name = "gmake_engine_errors"
--- a/sbsv2/raptor/test/smoke_suite/plugin_armv5_winscw_freeze.py Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/plugin_armv5_winscw_freeze.py Mon Mar 01 16:51:58 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/resource.py Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/resource.py Mon Mar 01 16:51:58 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"
@@ -30,12 +30,6 @@
"$(EPOCROOT)/epoc32/localisation/testresource/rsc/testresource.rpp",
"$(EPOCROOT)/epoc32/data/z/resource/apps/helloworld.mbm",
- "$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon24.bmp",
- "$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon2m.bmp",
- "$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon32.bmp",
- "$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon3m.bmp",
- "$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon48.bmp",
- "$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon4m.bmp",
"$(EPOCROOT)/epoc32/localisation/group/helloworld.info",
"$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/helloworld.mbm",
"$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/helloworld.mbm",
--- a/sbsv2/raptor/test/smoke_suite/sysdef_layers.py Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/sysdef_layers.py Mon Mar 01 16:51:58 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,11 +20,10 @@
t = SmokeTest()
t.id = "48"
t.name = "sysdef_layers"
- t.description = "Test system_definition.xml layer processing"
- t.command = 'sbs -s ' + \
- 'smoke_suite/test_resources/sysdef/system_definition_order_layer_test.xml' + \
- ' -l "Metadata Export" -l "Build Generated Source" -l ' + \
- '"Component with Layer Dependencies" -o'
+ t.usebash = True
+ t.description = "Test system_definition.xml layer processing and log reporting"
+ t.command = 'sbs -f- -s smoke_suite/test_resources/sysdef/system_definition_order_layer_test.xml ' + \
+ '-l "Metadata Export" -l "Build Generated Source" -l "Component with Layer Dependencies" -o'
t.targets = [
"$(SBS_HOME)/test/smoke_suite/test_resources/sysdef/build_gen_source/exported.inf",
"$(SBS_HOME)/test/smoke_suite/test_resources/sysdef/build_gen_source/exported.mmh",
@@ -49,12 +48,6 @@
"$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/helloworld.rsc",
"$(EPOCROOT)/epoc32/localisation/group/helloworld.info",
"$(EPOCROOT)/epoc32/localisation/helloworld/rsc/helloworld.rpp",
- "$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon2m.bmp",
- "$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon3m.bmp",
- "$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon4m.bmp",
- "$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon24.bmp",
- "$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon32.bmp",
- "$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon48.bmp",
"$(EPOCROOT)/epoc32/localisation/group/helloworld_reg.info",
"$(EPOCROOT)/epoc32/localisation/helloworld_reg/rsc/helloworld_reg.rpp"
]
@@ -88,5 +81,9 @@
"helloworld_exe/winscw/urel/helloworld_UID_.o",
"helloworld_reg_exe/helloworld_reg__private_10003a3f_apps_sc.rpp"
])
+ t.countmatch = [
+ ["<recipe .*layer='Component with Layer Dependencies' component='dependent'.*>", 37],
+ ["<recipe .*layer='Build Generated Source' component='build generated source'.*>", 7]
+ ]
t.run()
return t
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/bld.inf Mon Mar 01 16:51:58 2010 +0000
@@ -0,0 +1,26 @@
+/*
+* 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:
+*
+*/
+
+PRJ_EXPORTS
+inc/dependency.h
+inc/dependency.rh
+
+PRJ_PLATFORMS
+ARMV5 WINSCW TOOLS2
+
+PRJ_MMPFILES
+dependencies.mmp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/dependencies.mmp Mon Mar 01 16:51:58 2010 +0000
@@ -0,0 +1,41 @@
+/*
+* 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:
+*
+* Test component that can build as a basic EXE for both OS and tools platforms
+*
+*/
+
+TARGET dependency
+TARGETTYPE exe
+UID 0x100039ce 0x00000001
+SYSTEMINCLUDE /epoc32/include
+SOURCE main.cpp
+SOURCE dependency.cpp
+
+#ifndef TOOLS2
+SYSTEMINCLUDE /epoc32/include/techview
+
+START RESOURCE main.rss
+HEADER
+TARGETPATH /resource/apps
+END
+
+START RESOURCE dependency.rss
+HEADER
+TARGETPATH /resource/apps
+END
+
+LIBRARY euser.lib
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/inc/dependency.h Mon Mar 01 16:51:58 2010 +0000
@@ -0,0 +1,18 @@
+/*
+* 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:
+*
+*/
+
+#define DEPENDENCY_VALUE 1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/inc/dependency.rh Mon Mar 01 16:51:58 2010 +0000
@@ -0,0 +1,18 @@
+/*
+* 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:
+*
+*/
+
+#define DEPENDENCY_TEXT SomeText
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/main.cpp Mon Mar 01 16:51:58 2010 +0000
@@ -0,0 +1,26 @@
+/*
+* 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:
+*
+*/
+
+#ifndef __TOOLS2__
+#include <e32def.h>
+TInt E32Main()
+#else
+int main(void)
+#endif
+ {
+ return 0;
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/main.rss Mon Mar 01 16:51:58 2010 +0000
@@ -0,0 +1,25 @@
+/*
+* 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:
+*
+*/
+
+NAME MAIN
+
+#include <eikon.rh>
+#include <eikcore.rsg>
+#include <appinfo.rh>
+
+RESOURCE TBUF { buf=""; }
+RESOURCE TBUF r_somestaticresource { buf="text"; }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/src/dependency1.cpp Mon Mar 01 16:51:58 2010 +0000
@@ -0,0 +1,20 @@
+/*
+* 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:
+*
+*/
+
+#include <dependency.h>
+
+int SomeVariable = DEPENDENCY_VALUE;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/src/dependency1.rss Mon Mar 01 16:51:58 2010 +0000
@@ -0,0 +1,26 @@
+/*
+* 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:
+*
+*/
+
+NAME DEPE
+
+#include <eikon.rh>
+#include <eikcore.rsg>
+#include <appinfo.rh>
+#include <dependency.rh>
+
+RESOURCE TBUF { buf=""; }
+RESOURCE TBUF r_someresource { buf="DEPENDENCY_TEXT"; }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/src/dependency2.cpp Mon Mar 01 16:51:58 2010 +0000
@@ -0,0 +1,18 @@
+/*
+* 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:
+*
+*/
+
+int SomeVariable = 0;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/src/dependency2.rss Mon Mar 01 16:51:58 2010 +0000
@@ -0,0 +1,25 @@
+/*
+* 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:
+*
+*/
+
+NAME DEPE
+
+#include <eikon.rh>
+#include <eikcore.rsg>
+#include <appinfo.rh>
+
+RESOURCE TBUF { buf=""; }
+RESOURCE TBUF r_someresource { buf="SomeText"; }
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_export/bld.inf Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_export/bld.inf Mon Mar 01 16:51:58 2010 +0000
@@ -26,6 +26,7 @@
simple_exp3.h exported_3.h
"file with a space.doc" "exportedfilewithspacesremoved.doc"
"file with a space.doc" "exported file with a space.doc"
+executable_file executable_file
simple_exp1.h /tmp/$$(USER)/ //
simple_exp2.h \tmp\$$(USER)/ //
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_implib/nodef/bwins/implib_implicit_def.def Mon Mar 01 16:51:58 2010 +0000
@@ -0,0 +1,5 @@
+EXPORTS
+; NEW:
+ ?NewLC@CMessenger@@SAPAV1@AAVCConsoleBase@@ABVTDesC16@@@Z @ 1 NONAME ; public: static class CMessenger * __cdecl CMessenger::NewLC(class CConsoleBase &,class TDesC16 const &)
+ ?ShowMessage@CMessenger@@QAEXXZ @ 2 NONAME ; public: void __thiscall CMessenger::ShowMessage(void)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_implib/nodef/eabi/implib_implicit_def.def Mon Mar 01 16:51:58 2010 +0000
@@ -0,0 +1,6 @@
+EXPORTS
+ _ZN10CMessenger11ShowMessageEv @ 1 NONAME
+ _ZN10CMessenger5NewLCER12CConsoleBaseRK7TDesC16 @ 2 NONAME
+ _ZTI10CMessenger @ 3 NONAME ; #<TI>#
+ _ZTV10CMessenger @ 4 NONAME ; #<VT>#
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_implib/nodef/group/bld.inf Mon Mar 01 16:51:58 2010 +0000
@@ -0,0 +1,24 @@
+/*
+* 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:
+*
+*/
+
+
+PRJ_PLATFORMS
+WINSCW ARMV5 ARMV5SMP
+
+PRJ_MMPFILES
+implib_no_def.mmp
+implib_implicit_def.mmp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_implib/nodef/group/implib_implicit_def.mmp Mon Mar 01 16:51:58 2010 +0000
@@ -0,0 +1,23 @@
+/*
+* 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:
+*
+*/
+
+
+TARGET implib_implicit_def.lib
+TARGETTYPE implib
+
+NOSTRICTDEF
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_implib/nodef/group/implib_no_def.mmp Mon Mar 01 16:51:58 2010 +0000
@@ -0,0 +1,23 @@
+/*
+* 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:
+*
+*/
+
+
+TARGET implib_no_def.lib
+TARGETTYPE implib
+
+NOSTRICTDEF
+
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/bld.inf Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/bld.inf Mon Mar 01 16:51:58 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 Mon Mar 01 16:51:58 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
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_featurevariant/group/HelloWorld.mmp Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_featurevariant/group/HelloWorld.mmp Mon Mar 01 16:51:58 2010 +0000
@@ -14,7 +14,7 @@
USERINCLUDE ..\inc
USERINCLUDE ..\traces
SYSTEMINCLUDE \epoc32\include
-SYSTEMINCLUDE \epoc32\include\internal
+SYSTEMINCLUDE \epoc32\include\platform
SOURCEPATH ..\src
SOURCE HelloWorld.cpp
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_featurevariant/traces/OstTraceDefinitions.h Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_featurevariant/traces/OstTraceDefinitions.h Mon Mar 01 16:51:58 2010 +0000
@@ -1,7 +1,7 @@
-#ifndef __OSTTRACEDEFINITIONS_H__
-#define __OSTTRACEDEFINITIONS_H__
-// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
-// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
-// #define OST_TRACE_COMPILER_IN_USE
-#include <OpenSystemTrace.h>
-#endif
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
+// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
+#define OST_TRACE_COMPILER_IN_USE
+#include <opensystemtrace.h>
+#endif
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/tcwinsStaticDLL.mmp Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/tcwinsStaticDLL.mmp Mon Mar 01 16:51:58 2010 +0000
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-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"
@@ -30,7 +30,7 @@
USERINCLUDE .
SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/internal
+SYSTEMINCLUDE /epoc32/include/platform
USERINCLUDE traces
LIBRARY euser.lib
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/traces/OstTraceDefinitions.h Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/TC_winscw/traces/OstTraceDefinitions.h Mon Mar 01 16:51:58 2010 +0000
@@ -3,5 +3,5 @@
// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
#define OST_TRACE_COMPILER_IN_USE
-#include <OpenSystemTrace.h>
+#include <opensystemtrace.h>
#endif
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/multiple_variants/group/tc_variants.mmp Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/multiple_variants/group/tc_variants.mmp Mon Mar 01 16:51:58 2010 +0000
@@ -5,7 +5,7 @@
UID 0x100039ce 0x10000004
LIBRARY euser.lib
SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/internal
+SYSTEMINCLUDE /epoc32/include/platform
SOURCEPATH ../src
SOURCE tc_main.cpp
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/multiple_variants/traces/OstTraceDefinitions.h Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/multiple_variants/traces/OstTraceDefinitions.h Mon Mar 01 16:51:58 2010 +0000
@@ -1,7 +1,7 @@
-#ifndef __OSTTRACEDEFINITIONS_H__
-#define __OSTTRACEDEFINITIONS_H__
-// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
-// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
-// #define OST_TRACE_COMPILER_IN_USE
-#include <OpenSystemTrace.h>
-#endif
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
+// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
+#define OST_TRACE_COMPILER_IN_USE
+#include <opensystemtrace.h>
+#endif
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/child1.mmp Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/child1.mmp Mon Mar 01 16:51:58 2010 +0000
@@ -5,7 +5,7 @@
UID 0x100039ce 0x11100001
LIBRARY euser.lib
SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/internal
+SYSTEMINCLUDE /epoc32/include/platform
SOURCEPATH ../src
SOURCE child1.cpp
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/child2.mmp Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/child2.mmp Mon Mar 01 16:51:58 2010 +0000
@@ -5,7 +5,7 @@
UID 0x100039ce 0x11100002
LIBRARY euser.lib
SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/internal
+SYSTEMINCLUDE /epoc32/include/platform
SOURCEPATH ../src
SOURCE child2.cpp
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/child3.mmp Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/child3.mmp Mon Mar 01 16:51:58 2010 +0000
@@ -4,7 +4,7 @@
UID 0x100039ce 0x11100002
LIBRARY euser.lib
SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/internal
+SYSTEMINCLUDE /epoc32/include/platform
SOURCEPATH ../src
SOURCE child3.cpp
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces_child1_exe/OstTraceDefinitions.h Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces_child1_exe/OstTraceDefinitions.h Mon Mar 01 16:51:58 2010 +0000
@@ -1,7 +1,7 @@
-#ifndef __OSTTRACEDEFINITIONS_H__
-#define __OSTTRACEDEFINITIONS_H__
-// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
-// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
-// #define OST_TRACE_COMPILER_IN_USE
-#include <OpenSystemTrace.h>
-#endif
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
+// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
+#define OST_TRACE_COMPILER_IN_USE
+#include <opensystemtrace.h>
+#endif
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces_child2_exe/OstTraceDefinitions.h Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces_child2_exe/OstTraceDefinitions.h Mon Mar 01 16:51:58 2010 +0000
@@ -1,7 +1,7 @@
-#ifndef __OSTTRACEDEFINITIONS_H__
-#define __OSTTRACEDEFINITIONS_H__
-// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
-// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
-// #define OST_TRACE_COMPILER_IN_USE
-#include <OpenSystemTrace.h>
-#endif
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
+// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
+#define OST_TRACE_COMPILER_IN_USE
+#include <opensystemtrace.h>
+#endif
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces_child3_exe/OstTraceDefinitions.h Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces_child3_exe/OstTraceDefinitions.h Mon Mar 01 16:51:58 2010 +0000
@@ -1,7 +1,7 @@
-#ifndef __OSTTRACEDEFINITIONS_H__
-#define __OSTTRACEDEFINITIONS_H__
-// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
-// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
-// #define OST_TRACE_COMPILER_IN_USE
-#include <OpenSystemTrace.h>
-#endif
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
+// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
+#define OST_TRACE_COMPILER_IN_USE
+#include <opensystemtrace.h>
+#endif
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/group/testTC.mmp Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/group/testTC.mmp Mon Mar 01 16:51:58 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"
@@ -36,6 +36,7 @@
OS_LAYER_SYSTEMINCLUDE
SYSTEMINCLUDE /epoc32/include/libc
SYSTEMINCLUDE /epoc32/include/internal
+SYSTEMINCLUDE /epoc32/include/platform
LIBRARY euser.lib
LIBRARY iscapi.lib
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/src/wlanhwinit.cpp Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/src/wlanhwinit.cpp Mon Mar 01 16:51:58 2010 +0000
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2002-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"
@@ -43,7 +43,7 @@
EXPORT_C CWlanHwInit* CWlanHwInit::NewL()
{
- OstTrace0( TRACE_API, CWLANHWINIT_NEWL, "CWlanHwInit::NewL()" );
+ OstTrace0( TRACE_BORDER, CWLANHWINIT_NEWL, "CWlanHwInit::NewL()" );
OstTrace0( TRACE_NORMAL, DUP1_CWLANHWINIT_NEWL, "CWlanHwInit::NewL()" );
CWlanHwInit* self = new( ELeave ) CWlanHwInit;
CleanupStack::PushL( self );
@@ -55,7 +55,7 @@
EXPORT_C CWlanHwInit::~CWlanHwInit()
{
TraceDump( INFO_LEVEL, ( _L( "CWlanHwInit::~CWlanHwInit()" ) ) );
- OstTrace0( TRACE_API, DUP1_CWLANHWINIT_CWLANHWINIT, "CWlanHwInit::~CWlanHwInit()" );
+ OstTrace0( TRACE_BORDER, DUP1_CWLANHWINIT_CWLANHWINIT, "CWlanHwInit::~CWlanHwInit()" );
OstTrace0( TRACE_NORMAL, DUP2_CWLANHWINIT_CWLANHWINIT, "CWlanHwInit::~CWlanHwInit()" );
delete iMain;
iMain = NULL;
@@ -72,7 +72,7 @@
TUint& aFwLength )
{
TraceDump( INFO_LEVEL, ( _L( "CWlanHwInit::GetHwInitData()" ) ) );
- OstTrace0( TRACE_API, DUP1_CWLANHWINIT_GETHWINITDATA, "CWlanHwInit::GetHwInitData()" );
+ OstTrace0( TRACE_BORDER, DUP1_CWLANHWINIT_GETHWINITDATA, "CWlanHwInit::GetHwInitData()" );
OstTrace0( TRACE_NORMAL, CWLANHWINIT_GETHWINITDATA, "CWlanHwInit::GetHwInitData()" );
//BOB10d initialization data block is in one piece (NVS + FW)
@@ -97,7 +97,7 @@
TMacAddr& aMacAddress )
{
TraceDump( INFO_LEVEL, ( _L( "CWlanHwInit::GetMacAddress()" ) ) );
- OstTrace0( TRACE_API, CWLANHWINIT_GETMACADDRESS, "CWlanHwInit::GetMacAddress()" );
+ OstTrace0( TRACE_BORDER, CWLANHWINIT_GETMACADDRESS, "CWlanHwInit::GetMacAddress()" );
OstTrace0( TRACE_NORMAL, DUP1_CWLANHWINIT_GETMACADDRESS, "CWlanHwInit::GetMacAddress()" );
return iMain->GetMacAddress( aMacAddress );
}
@@ -113,7 +113,7 @@
TUint& aFwLength )
{
TraceDump( INFO_LEVEL, ( _L( "CWlanHwInit::GetHwTestInitData()" ) ) );
- OstTrace0( TRACE_API, CWLANHWINIT_GETHWTESTINITDATA, "CWlanHwInit::GetHwTestInitData()" );
+ OstTrace0( TRACE_BORDER, CWLANHWINIT_GETHWTESTINITDATA, "CWlanHwInit::GetHwTestInitData()" );
OstTrace0( TRACE_NORMAL, DUP1_CWLANHWINIT_GETHWTESTINITDATA, "CWlanHwInit::GetHwTestInitData()" );
//BOB10d initialization data block is in one piece (NVS + FW)
@@ -139,7 +139,7 @@
TDes8& aData )
{
TraceDump( INFO_LEVEL, ( _L( "CWlanHwInit::GetHwTestData()" ) ) );
- OstTrace0( TRACE_API, DUP1_CWLANHWINIT_GETHWTESTDATA, "CWlanHwInit::GetHwTestData()" );
+ OstTrace0( TRACE_BORDER, DUP1_CWLANHWINIT_GETHWTESTDATA, "CWlanHwInit::GetHwTestData()" );
OstTrace0( TRACE_NORMAL, CWLANHWINIT_GETHWTESTDATA, "CWlanHwInit::GetHwTestData()" );
return iMain->GetHwTestData( aId, aData );
}
@@ -153,7 +153,7 @@
TDesC8& aData )
{
TraceDump( INFO_LEVEL, ( _L( "CWlanHwInit::SetHwTestData()" ) ) );
- OstTrace0( TRACE_API, DUP1_CWLANHWINIT_SETHWTESTDATA, "CWlanHwInit::SetHwTestData()" );
+ OstTrace0( TRACE_BORDER, DUP1_CWLANHWINIT_SETHWTESTDATA, "CWlanHwInit::SetHwTestData()" );
OstTrace0( TRACE_NORMAL, CWLANHWINIT_SETHWTESTDATA, "CWlanHwInit::SetHwTestData()" );
return iMain->SetHwTestData( aId, aData );
}
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/traces/OstTraceDefinitions.h Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/traces/OstTraceDefinitions.h Mon Mar 01 16:51:58 2010 +0000
@@ -1,7 +1,7 @@
-#ifndef __OSTTRACEDEFINITIONS_H__
-#define __OSTTRACEDEFINITIONS_H__
-// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
-// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
-// #define OST_TRACE_COMPILER_IN_USE
-#include <OpenSystemTrace.h>
-#endif
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
+// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
+#define OST_TRACE_COMPILER_IN_USE
+#include <opensystemtrace.h>
+#endif
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/variant_source/group/invariant_source.mmp Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/variant_source/group/invariant_source.mmp Mon Mar 01 16:51:58 2010 +0000
@@ -4,7 +4,7 @@
UID 0x100039ce 0x10000002
LIBRARY euser.lib
SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/internal
+SYSTEMINCLUDE /epoc32/include/platform
SOURCEPATH ../src
SOURCE inv_source.cpp
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/variant_source/group/variant_source.mmp Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/variant_source/group/variant_source.mmp Mon Mar 01 16:51:58 2010 +0000
@@ -6,7 +6,7 @@
UID 0x100039ce 0x10000003
LIBRARY euser.lib
SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/internal
+SYSTEMINCLUDE /epoc32/include/platform
SOURCEPATH ../src
SOURCE var_source1.cpp
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/OstTraceDefinitions.h Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/OstTraceDefinitions.h Mon Mar 01 16:51:58 2010 +0000
@@ -1,7 +1,7 @@
-#ifndef __OSTTRACEDEFINITIONS_H__
-#define __OSTTRACEDEFINITIONS_H__
-// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
-// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
-// #define OST_TRACE_COMPILER_IN_USE
-#include <OpenSystemTrace.h>
-#endif
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
+// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
+#define OST_TRACE_COMPILER_IN_USE
+#include <opensystemtrace.h>
+#endif
--- a/sbsv2/raptor/test/smoke_suite/timeout.py Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/timeout.py Mon Mar 01 16:51:58 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"
@@ -21,9 +21,7 @@
t = SmokeTest()
t.description = "test that long commands time out and get retried"
- exitCode = "15"
- if t.onWindows:
- exitCode = "128" # why are they different?
+ exitCode = "128"
t.id = "60a"
t.name = "timeout"
@@ -31,7 +29,7 @@
t.command = "sbs -b smoke_suite/test_resources/timeout/bld.inf -f-"
t.mustmatch = [
- "status exit='failed' code='" + exitCode + "' attempt='1'",
+ "status exit='failed' code='" + exitCode + "' attempt='1' *reason='timeout'",
]
t.errors = -1
t.returncode = 1
@@ -43,9 +41,9 @@
t.command = "sbs -b smoke_suite/test_resources/timeout/bld.inf -t 3 -f-"
t.mustmatch = [
- "status exit='retry' code='" + exitCode + "' attempt='1'",
- "status exit='retry' code='" + exitCode + "' attempt='2'",
- "status exit='failed' code='" + exitCode + "' attempt='3'",
+ "status exit='retry' code='" + exitCode + "' attempt='1' *reason='timeout'",
+ "status exit='retry' code='" + exitCode + "' attempt='2' *reason='timeout'",
+ "status exit='failed' code='" + exitCode + "' attempt='3' *reason='timeout'",
]
t.errors = -1
t.returncode = 1
--- a/sbsv2/raptor/test/smoke_suite/whatlog_cache.py Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/test/smoke_suite/whatlog_cache.py Mon Mar 01 16:51:58 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"
@@ -42,12 +42,6 @@
t.targets = [
"$(EPOCROOT)/epoc32/data/z/resource/apps/helloworld.mbm",
- "$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon24.bmp",
- "$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon2m.bmp",
- "$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon32.bmp",
- "$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon3m.bmp",
- "$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon48.bmp",
- "$(EPOCROOT)/epoc32/localisation/helloworld/mbm/icon4m.bmp",
"$(EPOCROOT)/epoc32/localisation/group/helloworld.info",
"$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/helloworld.mbm",
"$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/helloworld.mbm",
@@ -142,12 +136,6 @@
[".*\'.*\\\\\\\\epoc32\\\\\\\\include\\\\\\\\helloworld.rsg\'", 4],
[".*\'.*\\\\\\\\epoc32\\\\\\\\localisation\\\\\\\\group\\\\\\\\helloworld.info\'", 4],
[".*\'.*\\\\\\\\epoc32\\\\\\\\localisation\\\\\\\\group\\\\\\\\helloworld_reg.info\'", 4],
- [".*\'.*\\\\\\\\epoc32\\\\\\\\localisation\\\\\\\\helloworld\\\\\\\\mbm\\\\\\\\icon24.bmp\'", 4],
- [".*\'.*\\\\\\\\epoc32\\\\\\\\localisation\\\\\\\\helloworld\\\\\\\\mbm\\\\\\\\icon2m.bmp\'", 4],
- [".*\'.*\\\\\\\\epoc32\\\\\\\\localisation\\\\\\\\helloworld\\\\\\\\mbm\\\\\\\\icon32.bmp\'", 4],
- [".*\'.*\\\\\\\\epoc32\\\\\\\\localisation\\\\\\\\helloworld\\\\\\\\mbm\\\\\\\\icon3m.bmp\'", 4],
- [".*\'.*\\\\\\\\epoc32\\\\\\\\localisation\\\\\\\\helloworld\\\\\\\\mbm\\\\\\\\icon48.bmp\'", 4],
- [".*\'.*\\\\\\\\epoc32\\\\\\\\localisation\\\\\\\\helloworld\\\\\\\\mbm\\\\\\\\icon4m.bmp\'", 4],
[".*\'.*\\\\\\\\epoc32\\\\\\\\localisation\\\\\\\\helloworld\\\\\\\\rsc\\\\\\\\helloworld.rpp\'", 4],
[".*\'.*\\\\\\\\epoc32\\\\\\\\localisation\\\\\\\\helloworld_reg\\\\\\\\rsc\\\\\\\\helloworld_reg.rpp\'", 4],
[".*\'.*\\\\\\\\epoc32\\\\\\\\release\\\\\\\\(armv5|winscw)\\\\\\\\(udeb|urel)\\\\\\\\helloworld.exe\'",4],
--- a/sbsv2/raptor/test/unit_suite/raptor_cli_unit.py Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/test/unit_suite/raptor_cli_unit.py Mon Mar 01 16:51:58 2010 +0000
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# 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"
@@ -14,7 +14,7 @@
# Description:
#
-1# Unit Test for the Raptor_cli (command line interface) module
+# Unit Test for the Raptor_cli (command line interface) module
import raptor_cli
import sys
@@ -42,6 +42,8 @@
self.allowCommandLineOverrides = True
self.ignoreOsDetection = False
self.filterList = "filter_terminal,filter_logfile"
+ self.noDependInclude = False
+ self.noDependGenerate = False
def AddConfigName(self,configname):
self.listconfig.append(configname)
@@ -128,6 +130,11 @@
return True
def SetNoDependInclude(self, yesOrNo):
+ self.noDependInclude = yesOrNo
+ return True
+
+ def SetNoDependGenerate(self, yesOrNo):
+ self.noDependGenerate = yesOrNo
return True
def SetJobs(self, N):
@@ -187,7 +194,9 @@
'--export-only',
'--source-target', 'some_source_file.cpp',
'--source-target', 'some_resource_file.rss',
- '--pp', 'on']
+ '--pp', 'on',
+ '--no-depend-include',
+ '--no-depend-generate']
raptor_cli.GetArgs(self,args)
self.assertEqual(self.RunningQuiet,False)
@@ -206,6 +215,8 @@
self.assertEqual(self.targets[0], 'some_source_file.cpp')
self.assertEqual(self.targets[1], 'some_resource_file.rss')
self.assertEqual(self.pp, 'on')
+ self.assertEqual(self.noDependInclude, True)
+ self.assertEqual(self.noDependGenerate, True)
# run all the tests
--- a/sbsv2/raptor/util/config.h Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/util/config.h Mon Mar 01 16:51:58 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"
@@ -21,6 +21,7 @@
#define HAS_GETCOMMANDLINE 1
#define HAS_MILLISECONDSLEEP 1
#define HAS_MSVCRT 1
+#define HAS_WINSOCK2 1
#else
#define HAS_POLL 1
#define HAS_SETENV 1
--- a/sbsv2/raptor/util/gccprogram.mk Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/util/gccprogram.mk Mon Mar 01 16:51:58 2010 +0000
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2006-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"
@@ -62,7 +62,7 @@
$(foreach SOURCEFILE,$(SOURCES),$(c2obj))
$(BINDIR)/$(TARGET)$(PROGRAMEXT): $$(OBJECTS)
- gcc $(LDFLAGS) $$^ -o $$@
+ gcc $$^ $(LDFLAGS) -o $$@
$$(shell mkdir -p $(OUTPUTPATH)/$(TARGET))
--- a/sbsv2/raptor/util/talon/Makefile Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/util/talon/Makefile Mon Mar 01 16:51:58 2010 +0000
@@ -1,4 +1,4 @@
-# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2006-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"
@@ -21,6 +21,7 @@
include $(SBS_HOME:\=/)/util/gccprogram.mk
ifeq ($(filter win,$(HOSTPLATFORM)),win)
+CHOMP_C:=chomp.c
PROCESS_C:=process_win.c
CFLAGS:=-DHOST_WIN
ifeq ($(SBS_MINGW),)
@@ -28,7 +29,9 @@
else
LDFLAGS:=$(subst \,/,$(SBS_MINGW:\=/)\lib\libiberty.a)
endif
+LDFLAGS:=$(LDFLAGS) -Wl,-lws2_32
else
+CHOMP_C:=
PROCESS_C:=process.c
CFLAGS:=-g
linux_PTHREADLIBS:=-lpthread
@@ -43,8 +46,7 @@
MANIFEST:=$(SOURCEDIR)/manifest
TARGET:=talon
-SOURCES:=$(addprefix $(SOURCEDIR)/,talon.c buffer.c sema.c log.c $(PROCESS_C))
-#$(info $(cprogram))
+SOURCES:=$(addprefix $(SOURCEDIR)/,talon.c buffer.c sema.c log.c $(PROCESS_C) $(CHOMP_C))
$(eval $(cprogram))
TARGET:=talonctl
@@ -63,3 +65,7 @@
SOURCES:=$(addprefix $(SOURCEDIR)/,lock.c sema.c log.c)
$(eval $(cprogram))
+TARGET:=testchomp
+SOURCES:=$(addprefix $(SOURCEDIR)/,testchomp.c chomp.c log.c)
+$(eval $(cprogram))
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/util/talon/chomp.c Mon Mar 01 16:51:58 2010 +0000
@@ -0,0 +1,177 @@
+/*
+* 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:
+*
+*/
+
+/*
+ Get rid of the path to talon from a commandline string on windows find the
+ -c (if it's there) and step past it to after the quote on the first command:
+
+ "g:\program files\talon\talon.exe" -c "gcc -c . . ."
+ ^------ Returns a pointer to here
+
+ Take care of the possibilty that there might be spaces in the command
+ if it is quoted.
+
+ A state-machine is flexible but not all that easy to write. Should investigate
+ the possiblity of using the Ragel state machine generator perhaps.
+
+*/
+#define CH_START 0 /* start state */
+#define CH_PRE 1 /* spaces before executable name */
+#define CH_EXQUOTE 2 /* part of the executable name, outside quotes */
+#define CH_INQUOTE 3 /* part of the executable name, in a quoted region */
+#define CH_POST 4 /* spaces after executable name */
+#define CH_MINUS 5 /* start of -c option */
+#define CH_C 6 /* end of -c option */
+#define CH_PRECOMMAND 7 /* spaces before shell commands */
+#define CH_COMMAND 8 /* first character of shell command */
+#define CH_ERR 9 /* Error! */
+
+#include "log.h"
+#include "chomp.h"
+
+char * chompCommand(char command[])
+{
+ char *result = command;
+ int state = CH_START;
+
+ while (state != CH_COMMAND && state != CH_ERR)
+ {
+ DEBUG(("startstate: %d, char %c ",state, *result));
+ switch (*result)
+ {
+ case ' ':
+ switch (state)
+ {
+ case CH_START:
+ case CH_PRE:
+ state = CH_PRE;
+ break;
+ case CH_EXQUOTE:
+ state = CH_POST;
+ break;
+ case CH_INQUOTE:
+ break;
+ case CH_POST:
+ break;
+ case CH_MINUS:
+ state = CH_C;
+ break;
+ case CH_C:
+ state = CH_PRECOMMAND;
+ break;
+ case CH_PRECOMMAND:
+ break;
+ default:
+ state = CH_ERR;
+ break;
+ }
+ break;
+ case 'c':
+ switch (state)
+ {
+ case CH_START:
+ case CH_PRE:
+ state = CH_EXQUOTE;
+ break;
+ case CH_EXQUOTE:
+ case CH_INQUOTE:
+ break;
+ case CH_POST:
+ state = CH_ERR;
+ break;
+ case CH_MINUS:
+ state = CH_C;
+ break;
+ case CH_C:
+ case CH_PRECOMMAND:
+ default:
+ state = CH_ERR;
+ break;
+ }
+ break;
+ case '-':
+ switch (state)
+ {
+ case CH_START:
+ case CH_PRE:
+ state = CH_EXQUOTE;
+ break;
+ case CH_EXQUOTE:
+ case CH_INQUOTE:
+ break;
+ case CH_POST:
+ state = CH_MINUS;
+ break;
+ case CH_MINUS:
+ case CH_C:
+ case CH_PRECOMMAND:
+ default:
+ state = CH_ERR;
+ break;
+ }
+ break;
+ case '"':
+ switch (state)
+ {
+ case CH_START:
+ case CH_PRE:
+ case CH_EXQUOTE:
+ state = CH_INQUOTE;
+ break;
+ case CH_INQUOTE:
+ state = CH_EXQUOTE;
+ break;
+ case CH_POST:
+ case CH_MINUS:
+ case CH_C:
+ state = CH_ERR;
+ break;
+ case CH_PRECOMMAND:
+ state = CH_COMMAND;
+ break;
+ default:
+ state = CH_ERR;
+ break;
+ }
+
+ break;
+ default:
+ switch (state)
+ {
+ case CH_START:
+ case CH_PRE:
+ state = CH_EXQUOTE;
+ break;
+ case CH_INQUOTE:
+ case CH_EXQUOTE:
+ break;
+ default:
+ state = CH_ERR;
+ break;
+ }
+ break;
+ }
+ DEBUG(("endstate: %d\n",state));
+ result ++;
+
+ }
+
+ if (state == CH_ERR)
+ return (char *)0;
+
+ return result;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/util/talon/chomp.h Mon Mar 01 16:51:58 2010 +0000
@@ -0,0 +1,21 @@
+/*
+* 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:
+*
+*/
+
+#ifndef _CHOMP_H_
+#define _CHOMP_H_
+char * chompCommand(char command[]);
+#endif
--- a/sbsv2/raptor/util/talon/process.c Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/util/talon/process.c Mon Mar 01 16:51:58 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"
@@ -176,11 +176,15 @@
p->returncode = WEXITSTATUS(status);
DEBUG(("process exited normally \n"));
} else {
- p->causeofdeath = PROC_SOMEODDDEATH;
- if (WIFSIGNALED(status))
- p->returncode = WTERMSIG(status);
- else
+ if (p->causeofdeath == PROC_TIMEOUTDEATH)
p->returncode = 128;
+ else {
+ p->causeofdeath = PROC_SOMEODDDEATH;
+ if (WIFSIGNALED(status))
+ p->returncode = WTERMSIG(status);
+ else
+ p->returncode = 128;
+ }
DEBUG(("process terminated \n"));
}
--- a/sbsv2/raptor/util/talon/talon.c Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/util/talon/talon.c Mon Mar 01 16:51:58 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"
@@ -16,6 +16,11 @@
*/
+#ifdef HAS_WINSOCK2
+#include <winsock2.h>
+#include <ws2tcpip.h>
+#define WIN32_LEAN_AND_MEAN
+#endif
#include <stdlib.h>
@@ -33,17 +38,23 @@
#include "buffer.h"
#include "../config.h"
+#ifdef HAS_GETCOMMANDLINE
+#include "chomp.h"
+#endif
+
/* The output semaphore. */
sbs_semaphore talon_sem;
#define TALON_ATTEMPT_STRMAX 32
#define RECIPETAG_STRMAX 2048
-#define STATUS_STRMAX 100
+#define STATUS_STRMAX 120
#define TALONDELIMITER '|'
#define VARNAMEMAX 100
#define VARVALMAX 1024
+#define HOSTNAME_MAX 100
+
#include "log.h"
@@ -52,6 +63,7 @@
unsigned int _CRT_fmode = _O_BINARY;
#endif
+
double getseconds(void)
{
struct timeval tp;
@@ -125,7 +137,7 @@
att++;
} while ( e < (VARNAMEMAX-1) && (isalnum(*att) || *att == '_'));
envvarname[e] = '\0';
-/* DEBUG(("envvarname: %s\n", envvarname)); */
+ /* DEBUG(("envvarname: %s\n", envvarname));*/
v = talon_getenv(envvarname);
if (v)
{
@@ -229,9 +241,20 @@
char *recipe = NULL;
int talon_returncode = 0;
+#ifdef HAS_WINSOCK2
+ WSADATA wsaData;
+
+ WSAStartup(MAKEWORD(2,2), &wsaData);
+
+ /* We ignore the result as we are only doing this to use gethostname
+ and if that fails then leaving the host attribute blank is perfectly
+ acceptable.
+ */
+
+#endif
+
#ifdef HAS_GETCOMMANDLINE
char *commandline= GetCommandLine();
- DEBUG(("talon: commandline: %s\n", commandline));
/*
* The command line should be either,
* talon -c "some shell commands"
@@ -240,21 +263,13 @@
*
* talon could be an absolute path and may have a .exe extension.
*/
- recipe = strstr(commandline, "-c");
+
+
+ recipe = chompCommand(commandline);
if (recipe)
{
/* there was a -c so extract the quoted commands */
- while (*recipe != '"' && *recipe != '\0')
- recipe++;
-
- if (*recipe != '"') /* we found -c but no following quote */
- {
- error("talon: error: unquoted recipe in shell call '%s'\n", commandline);
- return 1;
- }
- recipe++;
-
int recipelen = strlen(recipe);
if (recipelen > 0 && recipe[recipelen - 1] == '"')
recipe[recipelen - 1] = '\0'; /* remove trailing quote */
@@ -337,6 +352,20 @@
DEBUG(("talon: recipe: %s\n", recipe));
+ /* Make sure that the agent's hostname can be put into the host attribute */
+ char hostname[HOSTNAME_MAX];
+ int hostresult=0;
+
+ hostresult = gethostname(hostname, HOSTNAME_MAX-1);
+ if (0 != hostresult)
+ {
+ DEBUG(("talon: failed to get hostname: %d\n", hostresult));
+ hostname[0] = '\0';
+ }
+
+ talon_setenv("HOSTNAME", hostname);
+ DEBUG(("talon: setenv: hostname: %s\n", hostname));
+
char varname[VARNAMEMAX];
char varval[VARVALMAX];
@@ -549,14 +578,18 @@
if (dotagging)
{
- char *forcesuccessstr = force_success == 0 ? "" : " forcesuccess='FORCESUCCESS'";
+ char *flagsstr = force_success == 0 ? "" : " flags='FORCESUCCESS'";
+ char *reasonstr = "" ;
+
+ if (p->causeofdeath == PROC_TIMEOUTDEATH)
+ reasonstr = " reason='timeout'";
if (p->returncode != 0)
{
char *exitstr = retries > 0 ? "retry" : "failed";
- snprintf(status, STATUS_STRMAX - 1, "\n<status exit='%s' code='%d' attempt='%d'%s />", exitstr, p->returncode, attempt, forcesuccessstr );
+ snprintf(status, STATUS_STRMAX - 1, "\n<status exit='%s' code='%d' attempt='%d'%s%s />", exitstr, p->returncode, attempt, flagsstr, reasonstr );
} else {
- snprintf(status, STATUS_STRMAX - 1, "\n<status exit='ok' attempt='%d'%s />", attempt, forcesuccessstr );
+ snprintf(status, STATUS_STRMAX - 1, "\n<status exit='ok' attempt='%d'%s%s />", attempt, flagsstr, reasonstr );
}
status[STATUS_STRMAX-1] = '\0';
--- a/sbsv2/raptor/util/talon/testbuffer.c Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/util/talon/testbuffer.c Mon Mar 01 16:51:58 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"
@@ -12,7 +12,10 @@
* Contributors:
*
* Description:
-*
+* This program reads from stdin into a "buffer" structure. It is designed to be
+* run from within valgrind to detect memory corruption errors.
+* The buffer is then written to /tmp/outfile where it can be compared
+* with the input to determine if they are the same
*/
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/util/talon/testchomp.c Mon Mar 01 16:51:58 2010 +0000
@@ -0,0 +1,96 @@
+/*
+* 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:
+* This programs tests the chompCommand function used by talon.
+*/
+
+
+
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <stdio.h>
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+
+
+#include "chomp.h"
+#include "log.h"
+
+char *positives[] = {
+"c:\\apps\\talon.exe -c \"armcc -o barney.o\"",
+"c:\\apps\\sbs2112-capabilites\\bin\\talon.exe -c \"armcc -o barney.o\"",
+"\"c:\\apps and stuff\\talon.exe\" -c \"armcc -o barney.o\"",
+"\"c:\\apps-can-cause-crxxx\\talon.exe\" -c \"armcc -o barney.o\"",
+"c:\\bigspaces-\" \"\\talon.exe -c \"armcc -o barney.o\"",
+"c:\\bigspaces2\" \"\\talon.exe -c \"armcc -o barney.o\"",
+"c:\\apps\\talon.exe -c \"armcc -o barney.o\"",
+"c:\\\"apps\"\\talon.exe -c \"armcc -o barney.o\"",
+"c:\\\"ap ps\"\\talon.exe -c \"armcc -o barney.o\"",
+(char *)0
+};
+
+char *negatives[] = {
+"c:\\apps\\talon.exe -c\"armcc -o barney.o\"",
+"c:\\apps and stuff\\talon.exe -c \"armcc -o barney.o\"",
+"c:\\apps\\talon.exe -c armcc -o barney.o",
+"c:\\apps\\talon.exe commandlist.tmp",
+(char *)0
+};
+
+char commandstr[]="armcc -o barney.o\"";
+
+int main(int argc, char *argv[])
+{
+ int i;
+ int errors = 0;
+ /* loglevel = LOGDEBUG; /* useful to leave this here */
+
+ for (i=0; positives[i] != (char *)0 ; i++)
+ {
+ char * c = chompCommand(positives[i]);
+ if (!c)
+ {
+ fprintf(stdout,"error: test failed with NULL on: %s\n", positives[i]);
+ errors++;
+ continue;
+ }
+
+ if (strcmp(commandstr, c) != 0)
+ {
+ fprintf(stdout,"error: test failed with %s on: %s\n", c,positives[i]);
+ errors++;
+ continue;
+ }
+ fprintf(stdout,"ok: %s\n", positives[i]);
+ }
+
+ for (i=0; negatives[i] != (char *)0 ; i++)
+ {
+ char * c = chompCommand(negatives[i]);
+ if (c)
+ {
+ fprintf(stdout,"error: negatice test failed with %s on: %s\n", c, negatives[i]);
+ errors++;
+ continue;
+ }
+ fprintf(stdout,"ok: negative: %s\n", negatives[i]);
+ }
+
+
+ fprintf(stdout,"TOTAL errors: %d\n", errors);
+ return errors;
+}
--- a/sbsv2/raptor/util/talon/testprocess.c Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/util/talon/testprocess.c Mon Mar 01 16:51:58 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"
@@ -12,7 +12,11 @@
* Contributors:
*
* Description:
-*
+* This programs tests the process execution functions in talon.
+* it executes it's first argument with the following arguments
+* as parameters to it. Output is buffered and finally printed.
+* Should be run from within valgrind if possible to detect memory
+* corruption errors.
*/
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/util/talon/tests/config.sh Mon Mar 01 16:51:58 2010 +0000
@@ -0,0 +1,25 @@
+#!/bin/bash
+#
+# 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:
+#
+# set up the environment for some talon tests.
+
+cat >settings.mk <<-endofsettings
+ SHELL:=$(cygpath -w $SBS_HOME/win32/bin/talon.exe)
+ TALON_SHELL:=$(cygpath -w $SBS_CYGWIN/bin/bash.exe)
+ TALON_BUILDID:=100
+ TALON_DEBUG:=""
+ export TALON_SHELL TALON_BUILDID TALON_DEBUG
+endofsettings
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/util/talon/tests/run.sh Mon Mar 01 16:51:58 2010 +0000
@@ -0,0 +1,22 @@
+#!/bin/sh
+#
+# 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:
+#
+
+bash ./config.sh
+
+make -f t3.mk
+make -f t4.mk
+make -f t5.mk
--- a/sbsv2/raptor/util/talon/tests/t.mk Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/util/talon/tests/t.mk Mon Mar 01 16:51:58 2010 +0000
@@ -14,6 +14,7 @@
# Description:
#
+include settings.mk
HOSTNAME:=fred
COMPONENT_LAYER:=base
--- a/sbsv2/raptor/util/talon/tests/t3.mk Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/util/talon/tests/t3.mk Mon Mar 01 16:51:58 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"
@@ -13,10 +13,10 @@
#
# Description:
#
+include settings.mk
-SHELL:=$(TALON)
TALON_RECIPEATTRIBUTES:=name='$$RECIPENAME' host='$$HOSTNAME'
-export TALON_RECIPEATTRIBUTES
+export TALON_RECIPEATTRIBUTES
$(info SHELL="$(SHELL)")
--- a/sbsv2/raptor/util/talon/tests/t4.mk Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/util/talon/tests/t4.mk Mon Mar 01 16:51:58 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"
@@ -14,7 +14,7 @@
# Description:
#
-SHELL:=$(TALON)
+include settings.mk
TALON_TIMEOUT:=4000
TALON_RETRIES:=4
TALON_RECIPEATTRIBUTES:=platform='$$PLATFORM' mmp='$$MMP' bldinf='$$BLDINF'
--- a/sbsv2/raptor/util/talon/tests/t5.mk Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/util/talon/tests/t5.mk Mon Mar 01 16:51:58 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"
@@ -13,6 +13,7 @@
#
# Description:
#
+include settings.mk
all:
||"echo this command should cause a bash error which should be visible"
--- a/sbsv2/raptor/util/talon/tests/xcopystdin.mk Tue Feb 23 13:15:31 2010 +0000
+++ b/sbsv2/raptor/util/talon/tests/xcopystdin.mk Mon Mar 01 16:51:58 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"
@@ -14,9 +14,7 @@
# Description:
#
-SHELL:=$(SBS_HOME)/win32/bin/talon.exe
-TALON_SHELL:=$(SBS_HOME)/win32/cygwin/bin/bash.exe
-TALON_BUILDID:=1
+include settings.mk
TALON_RECIPEATTRIBUTES:=123
export
Binary file sbsv2/raptor/win32/bin/talon.exe has changed
Binary file sbsv2/raptor/win32/bin/talonctl.exe has changed