sbsv2/raptor/notes/tcom_allbefore.txt
changeset 616 24e4ef208cca
equal deleted inserted replaced
613:839712f5a78c 616:24e4ef208cca
       
     1 This change causes trace compilation to be performed for all source files in a 
       
     2 component before any of those files is compiled.
       
     3 
       
     4 This should reduce the impact of clashes where the tracecompiler ends up writing the same
       
     5 trace headers twice if two mmps in a component share source code.  The reduced impact is 
       
     6 that the clash can be detected before any dependent object files are built thus the
       
     7 rebuilding that normally happens after a clash detection is not necessary.
       
     8 
       
     9 There is another problem where some components have static libraries and dlls 
       
    10 that share common source files.  If tracing is enabled for the DLL these common 
       
    11 files try to include their trace headers.  When the source files are being built
       
    12 into the static library they also try to include trace headers which may not have 
       
    13 been generated yet because tracing is not enabled for static libraries at this time
       
    14 since they don't have UIDs or any unique id to associate any trace points with.
       
    15 
       
    16 This change cannot fix this problem just as it doesn't prevent clashes but it at
       
    17 least makes sure that all trace headers exist before anything could possibly try 
       
    18 to use them. This helps the build succeed while work is done to remove clashes and the static
       
    19 library tracing problem and it is no more incorrect than the current situation.
       
    20