Fix re-scanning of built files for implicit dependencies when the -j option is used.
[scons.git] / src / engine / SCons / Debug.py
index bf7ed438d9054afc62e1ed2674876b8a3b54ee9d..0dbb116df882854dc28e6db99a615891ed843998 100644 (file)
@@ -152,3 +152,26 @@ def func_shorten(func_tuple):
             f = f[i:]
             break
     return (f,)+func_tuple[1:]
+
+
+
+TraceFP = {}
+TraceDefault = '/dev/tty'
+
+def Trace(msg, file=None, mode='a'):
+    """Write a trace a message to a file.  Whenever a file is specified,
+    it becomes the default for the next call to Trace()."""
+    global TraceDefault
+    if file is None:
+        file = TraceDefault
+    else:
+        TraceDefault = file
+    try:
+        fp = TraceFP[file]
+    except KeyError:
+        try:
+            fp = TraceFP[file] = open(file, mode)
+        except TypeError:
+            # Assume we were passed an open file pointer.
+            fp = file
+    fp.write(msg)