Instead of creating a new python process to run traceflags.py,
authorNathan Binkert <binkertn@umich.edu>
Tue, 27 Mar 2007 04:07:32 +0000 (21:07 -0700)
committerNathan Binkert <binkertn@umich.edu>
Tue, 27 Mar 2007 04:07:32 +0000 (21:07 -0700)
just directly exec the file and generate the flags

--HG--
extra : convert_revision : d648ca7348404ded5337db327adafccbd2ae40c8

src/base/SConscript
src/base/traceflags.py

index 788aa3e6f91c5acf9dc06c956b98b87660e6006b..6fc140145216f158e7e7793bcf7fd30f52ab30c7 100644 (file)
 
 Import('*')
 
-# base/traceflags.{cc,hh} are generated from base/traceflags.py.
-# $TARGET.base will expand to "<build-dir>/base/traceflags".
-env.Command(['traceflags.hh', 'traceflags.cc'], 'traceflags.py',
-            'python $SOURCE $TARGET.base')
+def make_cc(target, source, env):
+    assert(len(source) == 1)
+    assert(len(target) == 1)
+
+    traceflags = {}
+    execfile(str(source[0]), traceflags)
+    func = traceflags['gen_cc']
+    func(str(target[0]))
+
+def make_hh(target, source, env):
+    assert(len(source) == 1)
+    assert(len(target) == 1)
+
+    traceflags = {}
+    execfile(str(source[0]), traceflags)
+    func = traceflags['gen_hh']
+    func(str(target[0]))
+
+env.Command('traceflags.hh', 'traceflags.py', make_hh)
+env.Command('traceflags.cc', 'traceflags.py', make_cc)
 
 Source('annotate.cc')
 Source('bigint.cc')
index e57bfa35059f46ec238b6034fc4d7adb5f27c519..6b241c410b8a1f0793c6bfeb531eb7c6fa776bdb 100644 (file)
@@ -350,16 +350,3 @@ const char *Trace::flagStrings[] =
     print >>ccfile, '};'
 
     ccfile.close()
-
-if __name__ == '__main__':
-    # This file generates the header and source files for the flags
-    # that control the tracing facility.
-
-    import sys
-
-    if len(sys.argv) != 2:
-        print "%s: Need argument (basename of cc/hh files)" % sys.argv[0]
-        sys.exit(1)
-
-    gen_hh(sys.argv[1] + '.hh')
-    gen_cc(sys.argv[1] + '.cc')