--- a/sbsv2/raptor/RELEASE-NOTES.html Wed May 05 09:48:16 2010 +0100
+++ b/sbsv2/raptor/RELEASE-NOTES.html Thu May 06 14:28:33 2010 +0100
@@ -8,15 +8,21 @@
<h2>next version</h2>
+<h3>New Features</h3>
+<ul>
+<li><a href="notes/tcomsupport.txt"> Support new Trace Compiler commandline interface, autogen header location </a></li>
+</ul
+
<h3>Defect Fixes</h3>
<ul>
-
<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2495"> SF Bug 2495 </a> - [Raptor] KDLL TARGETTYPEs do not support .def file freezing </li>
<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2420"> SF Bug 2420 </a> - [Raptor] Output from recipes is mis-recognised as "what" output </li>
<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2297"> SF Bug 2297 </a> Python exception in raptor_meta.py when processing bld.inf file </li>
<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2174"> SF Bug 2174 </a> - [Raptor] -- layer option shows errors when bld.inf missing in another layer </li>
+<li><a href="notes/tcomsupport.txt">Fix: ensure trace paths exist before build starts to avoid clashes during the build with some make engines </a></li>
+<li><a href="notes/tcomsupport.txt">Fix: permit traces header directory to be specified in systemincludes - helps Qt </a></li>
+</ul>
-</ul>
<h2>version 2.13.0</h2>
--- a/sbsv2/raptor/lib/flm/e32abiv2.flm Wed May 05 09:48:16 2010 +0100
+++ b/sbsv2/raptor/lib/flm/e32abiv2.flm Thu May 06 14:28:33 2010 +0100
@@ -53,6 +53,8 @@
# Strip switch-type parameters
#
POSTLINKTARGETTYPE:=$(strip $(POSTLINKTARGETTYPE))
+TARGETEXT:=$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(POSTLINKFILETYPE))
+
UID1:=$(strip $(UID1))
UID2:=$(strip $(UID2))
UID3:=$(strip $(UID3))
@@ -128,9 +130,9 @@
# Postlinkable targets need to be linked and elf2e32'd
ifneq ($(DOPOSTLINK),)
- E32TARGET:=$(RELEASABLEPATH)/$(TARGET)$(if $(EXPLICITVERSION),{$(VERSIONHEX)},).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(POSTLINKFILETYPE))
- LINK_TARGET:=$(RELEASABLEPATH)/$(TARGET)$(if $(EXPLICITVERSION),{$(VERSIONHEX)},).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(POSTLINKFILETYPE)).sym
- MAPFILE:=$(RELEASABLEPATH)/$(TARGET).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(POSTLINKFILETYPE)).map
+ E32TARGET:=$(RELEASABLEPATH)/$(TARGET)$(if $(EXPLICITVERSION),{$(VERSIONHEX)},).$(TARGETEXT)
+ LINK_TARGET:=$(RELEASABLEPATH)/$(TARGET)$(if $(EXPLICITVERSION),{$(VERSIONHEX)},).$(TARGETEXT).sym
+ MAPFILE:=$(RELEASABLEPATH)/$(TARGET).$(TARGETEXT).map
else
E32TARGET:=
LINK_TARGET:=
@@ -187,7 +189,7 @@
# put the hex version number in the right place
ifeq ($(LINKAS),)
LINKASNAME=$(TARGET)
- LINKASTYPE=$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(POSTLINKFILETYPE))
+ LINKASTYPE=$(TARGETEXT)
else
SPLIT_LINKAS=$(subst ., ,$(LINKAS))
LINKASNAME=$(word 1,$(SPLIT_LINKAS))
@@ -712,6 +714,7 @@
# USE_TRACE_COMPILER defaults to blank in Raptor config.
# Users can turn TC on by setting it to 1 in user config.
ifneq ($(USE_TRACE_COMPILER),)
+ # TARGETEXT is already set
include $(FLMHOME)/tracecompiler.mk
WHATRELEASE:=$(WHATRELEASE) $(TRACE_DICTIONARY) $(AUTOGEN_HEADER)
endif
@@ -864,7 +867,7 @@
define e32abiv2_listing
# $1 is the sourcefile
-$(eval LISTINGTARGET:=$(strip $(call extractandmap,$(CPPFILEEXTENSIONS) $(CFILEEXTENSIONS),.$(subst _,.,$(call sanitise,$(FULLVARIANTPATH))).$(TARGET).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(POSTLINKFILETYPE)).lst,$1)))
+$(eval LISTINGTARGET:=$(strip $(call extractandmap,$(CPPFILEEXTENSIONS) $(CFILEEXTENSIONS),.$(subst _,.,$(call sanitise,$(FULLVARIANTPATH))).$(TARGET).$(TARGETEXT).lst,$1)))
$(eval DEPENDFILENAME:=$(call map2listfile,$1).d)
$(eval DEPENDFILE:=$(wildcard $(DEPENDFILENAME)))
@@ -920,7 +923,7 @@
# separate arguments are interpreted as a single argument when passed to bash
FIVESPACES=$(BLANK) $(BLANK)
-FREEZEGUARD:=TARGET_$(TARGET)_$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(POSTLINKFILETYPE))_$(IMPORTLIBPATH)_EFREEZE
+FREEZEGUARD:=TARGET_$(TARGET)_$(TARGETEXT)_$(IMPORTLIBPATH)_EFREEZE
define e32freeze
--- a/sbsv2/raptor/lib/flm/tracecompiler.mk Wed May 05 09:48:16 2010 +0100
+++ b/sbsv2/raptor/lib/flm/tracecompiler.mk Thu May 06 14:28:33 2010 +0100
@@ -13,49 +13,64 @@
# Description:
# Run Trace Compiler on source files to generate trace headers and decode files
+# Expected inputs:
+# TARGETEXT
+
# Set project name as <mmp_name>
TRACE_PRJNAME:=$(basename $(notdir $(PROJECT_META)))
+OLDTC_TRACE_PRJNAME:=$(TRACE_PRJNAME)
+TRACE_RELEASABLE_ID:=$(TARGET)_$(TARGETEXT)
-TARGETEXT:=$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(POSTLINKFILETYPE))
+define get_trace_path
+$(firstword $(filter %$1, $(USERINCLUDE) $(SYSTEMINCLUDE)))
+endef
+
+$(if $(FLMDEBUG),$(info <debug>INCLUDES=$(USERINCLUDE) $(SYSTEMINCLUDE)</debug>))
+$(if $(FLMDEBUG),$(info <debug>TARGET=$(TARGET) TARGETEXT=$(TARGETEXT)</debug>))
-# 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))))
-
+# Find out TRACE_PATH by looking for the trace folder in SYSTEMINCLUDE and USERINCLUDES
+# traces/traces_<target_name>_<target_extension>
+TRACE_PATH:=$(call get_trace_path,/traces/traces_$(TRACE_RELEASABLE_ID))
ifneq ($(TRACE_PATH),)
-# set project name as <target_name>_<target_extension> instead of <mmp_name>
-TRACE_PRJNAME:=$(TARGET)_$(TARGETEXT)
+ TRACE_PRJNAME:=$(TRACE_RELEASABLE_ID)
+else # obsolete forms for compatibility
+ # traces_<target_name>_<target_ext>
+ TRACE_PATH:=$(call get_trace_path,/traces_$(TARGET)_$(TARGETEXT))
+ ifneq ($(TRACE_PATH),)
+ # set project name as <target_name>_<target_ext> instead of <mmp_name>
+ # to trick old TCom into finding the path.
+ OLDTC_TRACE_PRJNAME:=$(TARGET)_$(TARGETEXT)
+ else
+ # traces_<target_name>_<target_type>
+ TRACE_PATH:=$(call get_trace_path,/traces_$(TARGET)_$(TARGETTYPE))
+ ifneq ($(TRACE_PATH),)
+ # set project name as <target_name>_<target_type> instead of <mmp_name>
+ # to trick old TCom into finding the path.
+ OLDTC_TRACE_PRJNAME:=$(TARGET)_$(TARGETTYPE)
+ else
+ # traces_<mmp_name>
+ TRACE_PATH:=$(call get_trace_path,/traces_$(TRACE_PRJNAME))
+
+ # traces
+ ifeq ($(TRACE_PATH),)
+ TRACE_PATH:=$(call get_trace_path,/traces)
+ endif
+ endif
+ endif
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))))
-# set project name as <target_name>_<target_type> instead of <mmp_name>
-TRACE_PRJNAME:=$(TARGET)_$(TARGETTYPE)
-endif
# initialise (so what output will be correct if we don't actually run the TC)
TRACE_DICTIONARY:=
AUTOGEN_HEADER:=
-
-$(if $(FLMDEBUG),$(info <debug>TRACE_PATH = $(TRACE_PATH)</debug>))
+$(if $(FLMDEBUG),$(info <debug>TRACE_PATH='$(TRACE_PATH)' TRACE_RELEASABLE_ID='$(TRACE_RELEASABLE_ID)'</debug>))
# Run trace compiler only if TRACE_PATH exists
ifneq ($(TRACE_PATH),)
-TRACE_MARKER:=$(TRACE_MARKER_PATH)/tracecompile_$(TRACE_PRJNAME)_$(UID_TC).done
+TRACE_MARKER:=$(TRACE_MARKER_PATH)/tracecompile_$(TRACE_RELEASABLE_ID)_$(UID_TC).done
TRACE_HEADERS:=
-TRACE_SOURCE_LIST:=$(TRACE_MARKER_PATH)/tracecompile_$(TRACE_PRJNAME)_$(UID_TC).sourcelist
+TRACE_SOURCE_LIST:=$(TRACE_MARKER_PATH)/tracecompile_$(TRACE_RELEASABLE_ID)_$(UID_TC).sourcelist
# 1. Append to or create the list of source files for trace compiler to process
# 2. Check if the hash in trace marker remain unchanged. If not, remove marker so trace compiler will run again.
@@ -72,25 +87,57 @@
ifeq ($(GUARD_$(call sanitise,$(TRACE_MARKER))),)
GUARD_$(call sanitise,$(TRACE_MARKER)):=1
+$(if $(FLMDEBUG),$(info <debug>PAST MARKER='$(TRACE_RELEASABLE_ID)'</debug>))
# The trace compiler likes to change . into _ so we must do the same in the case of mmps with a name like
# fred.prd.mmp we want fred_prd
TRACE_PRJNAME_SANITISED:=$(subst .,_,$(TRACE_PRJNAME))
+OLDTC_TRACE_PRJNAME_SANITISED:=$(subst .,_,$(OLDTC_TRACE_PRJNAME))
-TRACE_DICTIONARY:=$(EPOCROOT)/epoc32/ost_dictionaries/$(TRACE_PRJNAME_SANITISED)_0x$(UID_TC)_Dictionary.xml
-AUTOGEN_HEADER:=$(EPOCROOT)/epoc32/include/internal/SymbianTraces/autogen/$(TRACE_PRJNAME_SANITISED)_0x$(UID_TC)_TraceDefinitions.h
JAVA_COMMAND:=$(SBS_JAVATC)
TRACE_COMPILER_PATH:=$(EPOCROOT)/epoc32/tools
-TRACE_COMPILER_START:=-classpath $(TRACE_COMPILER_PATH)/tracecompiler com.nokia.tracecompiler.TraceCompiler
+
+# declare the trace_compile macro but only do it once in the build
+ifeq ($(trace_compile),)
+
+# Find out which macro to declare - the one supporting the new CLI
+# or the old one. First try to find TraceCompilerMain.class
+# If it is there then it might be the new posix-like interface
+TRACE_VER:=
+TRACE_VSTR:=
+TCClass:=$(wildcard $(TRACE_COMPILER_PATH)/tracecompiler/com/nokia/tracecompiler/TraceCompilerMain.class)
+ifneq ($(TCClass),)
+# Get the version string from the TC (assume it's the new one)
+TRACE_COMPILER_START:=-classpath $(TRACE_COMPILER_PATH)/tracecompiler com.nokia.tracecompiler.TraceCompilerMain
+TRACE_VSTR:=$(firstword $(subst TraceCompiler version ,,$(shell $(JAVA_COMMAND) $(TRACE_COMPILER_START) --version)))
+# check if it looks like a version that supports the new cli interface: supporting up to verion 9 in the future.
+TRACE_VER:=$(findstring new,$(foreach version,2 3 4 5 6 7 8 9,$(patsubst $(version).%,new,$(TRACE_VSTR))))
+endif
+$(if $(FLMDEBUG),$(info <debug>TRACE_VSTR=$(TRACE_VSTR) TRACE_VER=$(TRACE_VER)</debug>))
+ifeq ($(TRACE_VER),new)
+define trace_compile
+$(TRACE_MARKER) : $(PROJECT_META)
+ $(call startrule,tracecompile) \
+ ( $(GNUCAT) $(TRACE_SOURCE_LIST); \
+ echo -en "*ENDOFSOURCEFILES*\n" ) | \
+ $(JAVA_COMMAND) $(TRACE_COMPILER_START) $(if $(FLMDEBUG),-d,) --uid=$(UID_TC) --project=$(TRACE_PRJNAME) --mmp=$(PROJECT_META) --traces=$(TRACE_PATH) && \
+ $(GNUMD5SUM) $(TRACE_SOURCE_LIST) > $(TRACE_MARKER) && \
+ { $(GNUTOUCH) $(TRACE_DICTIONARY) $(AUTOGEN_HEADER); \
+ $(GNUCAT) $(TRACE_SOURCE_LIST) ; true ; } \
+ $(call endrule,tracecompile)
+endef
+
+else # Old inteface
+TRACE_COMPILER_START:=-classpath $(TRACE_COMPILER_PATH)/tracecompiler com.nokia.tracecompiler.TraceCompiler
# 1. Use pipe to send inputs to trace compiler to process
# 2. Create a hash regarding to source names and put it in marker.
# 3. Show source names that are processed by trace compiler
define trace_compile
$(TRACE_MARKER) : $(PROJECT_META)
$(call startrule,tracecompile) \
- ( echo -en "$(TRACE_PRJNAME)\n$(PROJECT_META)\n"; \
+ ( echo -en "$(OLDTC_TRACE_PRJNAME)\n$(PROJECT_META)\n"; \
$(GNUCAT) $(TRACE_SOURCE_LIST); \
echo -en "*ENDOFSOURCEFILES*\n" ) | \
$(JAVA_COMMAND) $(TRACE_COMPILER_START) $(UID_TC) && \
@@ -100,15 +147,31 @@
$(call endrule,tracecompile)
endef
+# End - new/old trace compiler
+endif
+
+# End - tracecompile is defined
+endif
+
+ifeq ($(TRACE_VER),new)
+TRACE_DICTIONARY:=$(EPOCROOT)/epoc32/ost_dictionaries/$(TRACE_PRJNAME_SANITISED)_0x$(UID_TC)_Dictionary.xml
+AUTOGEN_HEADER:=$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/$(TRACE_PRJNAME_SANITISED)_0x$(UID_TC)_TraceDefinitions.h
+else
+TRACE_DICTIONARY:=$(EPOCROOT)/epoc32/ost_dictionaries/$(OLDTC_TRACE_PRJNAME_SANITISED)_0x$(UID_TC)_Dictionary.xml
+AUTOGEN_HEADER:=$(EPOCROOT)/epoc32/include/internal/symbiantraces/autogen/$(OLDTC_TRACE_PRJNAME_SANITISED)_0x$(UID_TC)_TraceDefinitions.h
+endif
+
$(eval $(trace_compile))
$(eval $(call GenerateStandardCleanTarget, $(TRACE_PATH)/tracebuilder.cache $(TRACE_MARKER) $(TRACE_SOURCE_LIST),,))
-# End sanity guard
+$(call makepath,$(TRACE_PATH) $(dir $(TRACE_DICTIONARY) $(AUTOGEN_HEADER)))
+# End - guard that prevents repeated calls to TCom
endif
$(eval $(call GenerateStandardCleanTarget,$(TRACE_HEADERS),,))
+# End - Nothing to trace (not trace path in include)
else
# Indicate to following parts of the FLM that we actually won't run
# trace compiler so they can set dependencies accordingly.
--- a/sbsv2/raptor/lib/flm/win32.flm Wed May 05 09:48:16 2010 +0100
+++ b/sbsv2/raptor/lib/flm/win32.flm Thu May 06 14:28:33 2010 +0100
@@ -199,7 +199,8 @@
endif
-BINTARGET:=$(BINDIR)/$(TARGET).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(TARGETTYPE))
+TARGETEXT:=$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(TARGETTYPE))
+BINTARGET:=$(BINDIR)/$(TARGET).$(TARGETEXT)
# Run trace compiler #####################################
@@ -217,7 +218,8 @@
# USE_TRACE_COMPILER defaults to blank in Raptor config.
# Users can turn TC on by setting it to 1 in user config.
-ifneq ($(USE_TRACE_COMPILER),)
+ifneq ($(USE_TRACE_COMPILER),)
+ # TARGETEXT must be set before here
include $(FLMHOME)/tracecompiler.mk
TC_RELEASABLES:=$(TRACE_DICTIONARY) $(AUTOGEN_HEADER)
endif
@@ -227,7 +229,7 @@
## IMPORT LIBRARY ##
####################
-IMPORTLIBLINKAS:=$(TARGET).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(TARGETTYPE))
+IMPORTLIBLINKAS:=$(TARGET).$(TARGETEXT)
# LINKAS, if supplied, only applies to IMPLIB TARGETTYPEs
ifeq ($(BASE_TYPE),importlib)
ifneq ($(LINKAS),)
@@ -295,7 +297,7 @@
#############
ifeq ($(COPY_FOR_STATIC_LINKAGE),1)
- BINTARGETSTATICLINK:=$(BINDIRSTATICLINK)/$(TARGET).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(TARGETTYPE))
+ BINTARGETSTATICLINK:=$(BINDIRSTATICLINK)/$(TARGET).$(TARGETEXT)
endif
RELEASABLES:=$(RELEASABLES) $(BINTARGET) $(BINTARGETSTATICLINK)
@@ -535,7 +537,7 @@
TMP_IMPLIB:=$(BLDDIR)/$(TARGET).lib
TMP_INFFILE:=$(BLDDIR)/$(TARGET).inf
TMP_SYMFILE:=$(if $(OPEN_ENVIRONMENT),$(BLDDIR)/$(TARGET).sym,)
- TMP_TARGET:=$(BLDDIR)/$(TARGET).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(TARGETTYPE))
+ TMP_TARGET:=$(BLDDIR)/$(TARGET).$(TARGETEXT)
TMP_DEFFILE:=$(BLDDIR)/$(TARGET).def
CLEANTARGETS:=$(CLEANTARGETS) $(TMP_IMPLIB) $(TMP_INFFILE) $(TMP_TARGET) $(TMP_DEFFILE) $(TMP_SYMFILE)
@@ -576,7 +578,7 @@
$(call groupin10,$(notdir $(OBJECTFILES))) ;
$(call startrule,win32stageonelink) \
$(if $(SUPPORTS_STDCPP_NEWLIB),$(if $(STATICLIBFILES),$(CHECKLIB) $(CHECKLIB_TYPE) $(OPT.CHECKLIB.WIN32) $(STATICLIBFILES) &&,),) \
- MWSym2LibraryFiles="$(MWSym2LibraryFiles)" $(LD) $(LFLAGS) $(OPT.MENTRYPOINT)$(ENTRYSYMBOL) $(OPT.EXPORT)$(EXPORT_TYPE) $(OPT.NOCOMPACTIMPORTLIB) $(OPT.ADDCOMMAND) "out:$(TARGET).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(TARGETTYPE))" $(OPT.WARNINGS) off $(OPT.IMPLIB)"$(TMP_IMPLIB)" $(OPT.OUT)"$(TMP_TARGET)" $(LINKER_FIRSTSTATLIBFILE) $(NEWLIBFILE) $(WIN32_LIBRARIES) $(STATICLIBFILES) $(LINKLIBFILES) $(OPT.LIBPATH)$(BLDDIR) $(OPT.SEARCH) @$(OBJECTFILES_LRF) \
+ MWSym2LibraryFiles="$(MWSym2LibraryFiles)" $(LD) $(LFLAGS) $(OPT.MENTRYPOINT)$(ENTRYSYMBOL) $(OPT.EXPORT)$(EXPORT_TYPE) $(OPT.NOCOMPACTIMPORTLIB) $(OPT.ADDCOMMAND) "out:$(TARGET).$(TARGETEXT)" $(OPT.WARNINGS) off $(OPT.IMPLIB)"$(TMP_IMPLIB)" $(OPT.OUT)"$(TMP_TARGET)" $(LINKER_FIRSTSTATLIBFILE) $(NEWLIBFILE) $(WIN32_LIBRARIES) $(STATICLIBFILES) $(LINKLIBFILES) $(OPT.LIBPATH)$(BLDDIR) $(OPT.SEARCH) @$(OBJECTFILES_LRF) \
$(call endrule,win32stageonelink)
endef
$(eval $(win32stageonelink))
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/notes/tcomsupport.txt Thu May 06 14:28:33 2010 +0100
@@ -0,0 +1,42 @@
+New Trace Compiler
+-------------------
+
+Raptor supports an updated version of the Trace Compiler which has
+an improved command-line interface that allows Raptor to specify the
+directory in which trace data should be written. This allows MMPs to
+implement a new convention for where trace files are stored.
+
+The new convention prevents clashes where building the same
+source file for different MMPs would previously have resulted in two
+build tasks trying to create the same trace file (header/dictionary).
+This caused build slowdowns and also made the trace data inaccurate.
+
+The standard for this directory is that the last two elements of the
+path should be
+
+ traces/traces_<targetname>_<ext>
+
+e.g.
+
+ traces/traces_euser_dll
+
+The new trace compiler also creates "autogen" headers in a new location
+under epoc32/include/platform rather than epoc32/include/internal.
+
+Trace Headers Directory can now also be in SYSTEMINCLUDEs
+----------------------------------------------------------
+
+Some teams were having trouble getting qmake to generate MMPs with
+USERINCLUDEs set. So they were specifying the trace header directory in
+their SYTEMINCLUDEs. This change causes Raptor to look for the traces
+directory in bot SYSTEMINCLUDES and USERINCLUDES.
+
+
+Create Trace Directories During Makefile Parse
+-----------------------------------------------
+
+Some build engines consider it a "clash" when two jobs attempt to make the
+same directory. This change causes some important trace output directories
+to be created during makefile parsing which removes the (small) possibility
+that they would clash during the build part.
+
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/child1.mmp Wed May 05 09:48:16 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/child1.mmp Thu May 06 14:28:33 2010 +0100
@@ -11,5 +11,5 @@
SOURCE child1.cpp
SOURCE common.cpp
-USERINCLUDE ../traces_child1_exe
+USERINCLUDE ../traces/traces_child1_exe
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/child2.mmp Wed May 05 09:48:16 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/child2.mmp Thu May 06 14:28:33 2010 +0100
@@ -11,5 +11,5 @@
SOURCE child2.cpp
SOURCE common.cpp
-USERINCLUDE ../traces_child2_exe
+USERINCLUDE ../traces/traces_child2_exe
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/child3.mmp Wed May 05 09:48:16 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/child3.mmp Thu May 06 14:28:33 2010 +0100
@@ -10,5 +10,5 @@
SOURCE child3.cpp
SOURCE common.cpp
-USERINCLUDE ../traces_child3_exe
+USERINCLUDE ../traces/traces_child3_exe
--- a/sbsv2/raptor/test/smoke_suite/tracecompiler_general.py Wed May 05 09:48:16 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/tracecompiler_general.py Thu May 06 14:28:33 2010 +0100
@@ -40,7 +40,7 @@
"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/wlanhwinitpermparserTraces.h",
"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/fixed_id.definitions",
"$(EPOCROOT)/epoc32/ost_dictionaries/testTC_0x1000008d_Dictionary.xml",
- "$(EPOCROOT)/epoc32/include/internal/symbiantraces/autogen/testTC_0x1000008d_TraceDefinitions.h"
+ "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/testTC_0x1000008d_TraceDefinitions.h"
]
t.addbuildtargets('smoke_suite/test_resources/tracecompiler/testTC/group/bld.inf', [
"testtc_dll/armv5/udeb/wlanhwinit.o",
@@ -59,7 +59,7 @@
"testtc_dll/armv5/urel/wlanhwinitpermparser.o.d",
"testtc_dll/armv5/urel/testTC_urel_objects.via",
"testtc_dll/armv5/urel/testTC{000a0000}.def",
- "testtc_dll/tracecompile_testTC_1000008d.done"
+ "testtc_dll/tracecompile_testTC_dll_1000008d.done"
])
t.run()
@@ -74,7 +74,7 @@
"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/wlanhwinitpermparserTraces.h"
]
t.addbuildantitargets('smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf', [
- "testtc_dll/tracecompile_testTC_1000008d.done"
+ "testtc_dll/tracecompile_testTC_dll_1000008d.done"
])
t.run()
@@ -90,7 +90,7 @@
"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/TC_featurevariant/traces/HelloWorldTraces.h",
"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/TC_featurevariant/traces/fixed_id.definitions",
"$(EPOCROOT)/epoc32/ost_dictionaries/HelloWorld_0xe78a5aa3_Dictionary.xml",
- "$(EPOCROOT)/epoc32/include/internal/symbiantraces/autogen/HelloWorld_0xe78a5aa3_TraceDefinitions.h"
+ "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/HelloWorld_0xe78a5aa3_TraceDefinitions.h"
]
t.addbuildtargets('smoke_suite/test_resources/tracecompiler/TC_featurevariant/group/bld.inf', [
"helloworld_exe/armv5/udeb/HelloWorld.o",
@@ -99,7 +99,7 @@
"helloworld_exe/armv5/urel/HelloWorld.o",
"helloworld_exe/armv5/urel/HelloWorld.o.d",
"helloworld_exe/armv5/urel/HelloWorld_urel_objects.via",
- "helloworld_exe/tracecompile_HelloWorld_e78a5aa3.done"
+ "helloworld_exe/tracecompile_HelloWorld_exe_e78a5aa3.done"
])
t.run()
@@ -120,7 +120,7 @@
t.addbuildtargets('smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf', [
"test_/armv5/udeb/test.o",
"test_/armv5/urel/test.o",
- "test_/tracecompile_autorun1_00000001.done"
+ "test_/tracecompile_test_exe_00000001.done"
])
t.run()
@@ -141,7 +141,7 @@
"test_/armv5/urel/test.o",
])
t.addbuildantitargets('smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf', [
- "test_/tracecompile_autorun2_00000001.done"
+ "test_/tracecompile_test_exe_00000001.done"
])
t.run()
@@ -162,7 +162,7 @@
"test_/armv5/urel/test.o",
])
t.addbuildantitargets('smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf', [
- "test_/tracecompile_autorun3_00000001.done"
+ "test_/tracecompile_test_exe_00000001.done"
])
t.run()
@@ -183,7 +183,7 @@
"test_/armv5/urel/test.o"
])
t.addbuildantitargets('smoke_suite/test_resources/tracecompiler/TC_autorun/bld.inf', [
- "test_/tracecompile_autorun1_00000001.done"
+ "test_/tracecompile_test_exe_00000001.done"
])
t.run()
--- a/sbsv2/raptor/test/smoke_suite/tracecompiler_variants.py Wed May 05 09:48:16 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/tracecompiler_variants.py Thu May 06 14:28:33 2010 +0100
@@ -42,8 +42,8 @@
"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/fixed_id.definitions",
"$(EPOCROOT)/epoc32/ost_dictionaries/invariant_source_0x10000002_Dictionary.xml",
"$(EPOCROOT)/epoc32/ost_dictionaries/variant_source_0x10000003_Dictionary.xml",
- "$(EPOCROOT)/epoc32/include/internal/symbiantraces/autogen/invariant_source_0x10000002_TraceDefinitions.h",
- "$(EPOCROOT)/epoc32/include/internal/symbiantraces/autogen/variant_source_0x10000003_TraceDefinitions.h"
+ "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/invariant_source_0x10000002_TraceDefinitions.h",
+ "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/variant_source_0x10000003_TraceDefinitions.h"
]
t.addbuildtargets('smoke_suite/test_resources/tracecompiler/variant_source/group/bld.inf', [
"invariant_source_/armv5/udeb/inv_source.o",
@@ -54,7 +54,7 @@
"invariant_source_/winscw/udeb/inv_source.o.d",
"invariant_source_/winscw/urel/inv_source.o",
"invariant_source_/winscw/urel/inv_source.o.d",
- "invariant_source_/tracecompile_invariant_source_10000002.done",
+ "invariant_source_/tracecompile_invariant_source_exe_10000002.done",
"variant_source_/armv5/udeb/var_source1.o",
"variant_source_/armv5/udeb/var_source1.o.d",
"variant_source_/armv5/udeb/var_source2.o",
@@ -71,7 +71,7 @@
"variant_source_/winscw/urel/var_source1.o.d",
"variant_source_/winscw/urel/var_source2.o",
"variant_source_/winscw/urel/var_source2.o.d",
- "variant_source_/tracecompile_variant_source_10000003.done"
+ "variant_source_/tracecompile_variant_source_exe_10000003.done"
])
t.antitargets = [
"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/var_source3Traces.h"
@@ -105,8 +105,8 @@
"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/variant_source/traces/var_source3Traces.h",
"$(EPOCROOT)/epoc32/ost_dictionaries/invariant_source_0x10000002_Dictionary.xml",
"$(EPOCROOT)/epoc32/ost_dictionaries/variant_source_0x10000003_Dictionary.xml",
- "$(EPOCROOT)/epoc32/include/internal/symbiantraces/autogen/invariant_source_0x10000002_TraceDefinitions.h",
- "$(EPOCROOT)/epoc32/include/internal/symbiantraces/autogen/variant_source_0x10000003_TraceDefinitions.h"
+ "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/invariant_source_0x10000002_TraceDefinitions.h",
+ "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/variant_source_0x10000003_TraceDefinitions.h"
]
t.addbuildtargets('smoke_suite/test_resources/tracecompiler/variant_source/group/bld.inf', [
"invariant_source_/armv5/udeb/inv_source.o",
@@ -117,7 +117,7 @@
"invariant_source_/winscw/udeb/inv_source.o.d",
"invariant_source_/winscw/urel/inv_source.o",
"invariant_source_/winscw/urel/inv_source.o.d",
- "invariant_source_/tracecompile_invariant_source_10000002.done",
+ "invariant_source_/tracecompile_invariant_source_exe_10000002.done",
"variant_source_/armv5/udeb/var_source1.o",
"variant_source_/armv5/udeb/var_source1.o.d",
"variant_source_/armv5/udeb/var_source3.o",
@@ -134,7 +134,7 @@
"variant_source_/winscw/urel/var_source1.o.d",
"variant_source_/winscw/urel/var_source3.o",
"variant_source_/winscw/urel/var_source3.o.d",
- "variant_source_/tracecompile_variant_source_10000003.done"
+ "variant_source_/tracecompile_variant_source_exe_10000003.done"
])
t.run()
@@ -159,7 +159,7 @@
"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/multiple_variants/traces/tc_bTraces.h",
"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/multiple_variants/traces/tc_cTraces.h",
"$(EPOCROOT)/epoc32/ost_dictionaries/tc_variants_0x10000004_Dictionary.xml",
- "$(EPOCROOT)/epoc32/include/internal/symbiantraces/autogen/tc_variants_0x10000004_TraceDefinitions.h"
+ "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/tc_variants_0x10000004_TraceDefinitions.h"
]
t.addbuildtargets('smoke_suite/test_resources/tracecompiler/multiple_variants/group/bld.inf', [
"tc_variants_/armv5.phone1/udeb/tc_main.o",
@@ -174,7 +174,7 @@
"tc_variants_/armv5.phone3/udeb/tc_c.o",
"tc_variants_/armv5.phone3/urel/tc_main.o",
"tc_variants_/armv5.phone3/urel/tc_c.o",
- "tc_variants_/tracecompile_tc_variants_10000004.done"
+ "tc_variants_/tracecompile_tc_variants_exe_10000004.done"
])
t.run()
@@ -195,18 +195,18 @@
"$(EPOCROOT)/epoc32/release/armv5/urel/child2.exe",
"$(EPOCROOT)/epoc32/release/armv5/udeb/child3.exe",
"$(EPOCROOT)/epoc32/release/armv5/urel/child3.exe",
- "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces_child1_exe/child1Traces.h",
- "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces_child1_exe/commonTraces.h",
- "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces_child2_exe/child2Traces.h",
- "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces_child2_exe/commonTraces.h",
- "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces_child3_exe/child3Traces.h",
- "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces_child3_exe/commonTraces.h",
+ "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child1_exe/child1Traces.h",
+ "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child1_exe/commonTraces.h",
+ "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child2_exe/child2Traces.h",
+ "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child2_exe/commonTraces.h",
+ "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child3_exe/child3Traces.h",
+ "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child3_exe/commonTraces.h",
"$(EPOCROOT)/epoc32/ost_dictionaries/child1_exe_0x11100001_Dictionary.xml",
"$(EPOCROOT)/epoc32/ost_dictionaries/child2_exe_0x11100002_Dictionary.xml",
"$(EPOCROOT)/epoc32/ost_dictionaries/child3_exe_0x11100002_Dictionary.xml",
- "$(EPOCROOT)/epoc32/include/internal/symbiantraces/autogen/child1_exe_0x11100001_TraceDefinitions.h",
- "$(EPOCROOT)/epoc32/include/internal/symbiantraces/autogen/child2_exe_0x11100002_TraceDefinitions.h",
- "$(EPOCROOT)/epoc32/include/internal/symbiantraces/autogen/child3_exe_0x11100002_TraceDefinitions.h"
+ "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/child1_exe_0x11100001_TraceDefinitions.h",
+ "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/child2_exe_0x11100002_TraceDefinitions.h",
+ "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/child3_exe_0x11100002_TraceDefinitions.h"
]
t.addbuildtargets('smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/bld.inf', [
"child1_/armv5/udeb/child1.o",
@@ -231,7 +231,7 @@
# Clean mmp A then build mmp B and C. As common.cpp is shared by A B and C, commonTraces.h would be
# cleaned when cleaning mmp A. But as B and C aren't cleaned, Raptor wouldn't run trace compiler on
# B and C, thus commonTraces.h wouldn't be generated again, so be missing for mmp B and C.
- # The solution is to use new trace path "traces_<TARGET>_<TARGETTYPE>" instead of "traces" so shared
+ # The solution is to use new trace path "traces/traces_<TARGET>_<TARGETTYPE>" instead of "traces" so shared
# source has different copy of trace headers for different projects.
t = SmokeTest()
t.id = "102e"
@@ -247,14 +247,14 @@
"$(EPOCROOT)/epoc32/release/armv5/urel/child2.exe",
"$(EPOCROOT)/epoc32/release/armv5/udeb/child3.exe",
"$(EPOCROOT)/epoc32/release/armv5/urel/child3.exe",
- "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces_child2_exe/child2Traces.h",
- "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces_child2_exe/commonTraces.h",
- "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces_child3_exe/child3Traces.h",
- "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces_child3_exe/commonTraces.h",
+ "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child2_exe/child2Traces.h",
+ "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child2_exe/commonTraces.h",
+ "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child3_exe/child3Traces.h",
+ "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child3_exe/commonTraces.h",
"$(EPOCROOT)/epoc32/ost_dictionaries/child2_exe_0x11100002_Dictionary.xml",
"$(EPOCROOT)/epoc32/ost_dictionaries/child3_exe_0x11100002_Dictionary.xml",
- "$(EPOCROOT)/epoc32/include/internal/symbiantraces/autogen/child2_exe_0x11100002_TraceDefinitions.h",
- "$(EPOCROOT)/epoc32/include/internal/symbiantraces/autogen/child3_exe_0x11100002_TraceDefinitions.h"
+ "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/child2_exe_0x11100002_TraceDefinitions.h",
+ "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/child3_exe_0x11100002_TraceDefinitions.h"
]
t.addbuildtargets('smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/bld.inf', [
"child2_/armv5/udeb/child2.o",
--- a/sbsv2/raptor/test/smoke_suite/tracecompiler_whatlog.py Wed May 05 09:48:16 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/tracecompiler_whatlog.py Thu May 06 14:28:33 2010 +0100
@@ -46,7 +46,7 @@
"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/wlanhwinitpermparserTraces.h",
"$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/traces/fixed_id.definitions",
"$(EPOCROOT)/epoc32/ost_dictionaries/test_TC_0x1000008d_Dictionary.xml",
- "$(EPOCROOT)/epoc32/include/internal/symbiantraces/autogen/test_TC_0x1000008d_TraceDefinitions.h"
+ "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/test_TC_0x1000008d_TraceDefinitions.h"
]
t.stdout = [
"<whatlog bldinf='$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/group/bld2.inf' mmp='$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/testTC/group/test.TC.mmp' config='armv5_urel.tracecompiler'>",
@@ -58,7 +58,7 @@
"<build>$(EPOCROOT)/epoc32/release/armv5/urel/testTC.dll</build>",
"<build>$(EPOCROOT)/epoc32/release/armv5/urel/testTC.dll.map</build>",
"<build>$(EPOCROOT)/epoc32/ost_dictionaries/test_TC_0x1000008d_Dictionary.xml</build>",
- "<build>$(EPOCROOT)/epoc32/include/internal/SymbianTraces/autogen/test_TC_0x1000008d_TraceDefinitions.h</build>"
+ "<build>$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/test_TC_0x1000008d_TraceDefinitions.h</build>"
]
t.run("linux")
if t.result == CheckWhatSmokeTest.SKIP: