diff -r 839712f5a78c -r 24e4ef208cca sbsv2/raptor/notes/tcom_allbefore.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sbsv2/raptor/notes/tcom_allbefore.txt Wed Jul 14 14:50:01 2010 +0100 @@ -0,0 +1,20 @@ +This change causes trace compilation to be performed for all source files in a +component before any of those files is compiled. + +This should reduce the impact of clashes where the tracecompiler ends up writing the same +trace headers twice if two mmps in a component share source code. The reduced impact is +that the clash can be detected before any dependent object files are built thus the +rebuilding that normally happens after a clash detection is not necessary. + +There is another problem where some components have static libraries and dlls +that share common source files. If tracing is enabled for the DLL these common +files try to include their trace headers. When the source files are being built +into the static library they also try to include trace headers which may not have +been generated yet because tracing is not enabled for static libraries at this time +since they don't have UIDs or any unique id to associate any trace points with. + +This change cannot fix this problem just as it doesn't prevent clashes but it at +least makes sure that all trace headers exist before anything could possibly try +to use them. This helps the build succeed while work is done to remove clashes and the static +library tracing problem and it is no more incorrect than the current situation. +