summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Binkert <binkertn@umich.edu>2007-03-26 21:07:32 -0700
committerNathan Binkert <binkertn@umich.edu>2007-03-26 21:07:32 -0700
commitd8ca2d3b16d998eaf68bae0235740278aa27c5d5 (patch)
tree398c594c84f646cf90ef44e57a6cfb3541feec2a
parent01ac962a06ba0a668d35218e3d97f154a11012c3 (diff)
downloadgem5-d8ca2d3b16d998eaf68bae0235740278aa27c5d5.tar.xz
Instead of creating a new python process to run traceflags.py,
just directly exec the file and generate the flags --HG-- extra : convert_revision : d648ca7348404ded5337db327adafccbd2ae40c8
-rw-r--r--src/base/SConscript24
-rw-r--r--src/base/traceflags.py13
2 files changed, 20 insertions, 17 deletions
diff --git a/src/base/SConscript b/src/base/SConscript
index 788aa3e6f..6fc140145 100644
--- a/src/base/SConscript
+++ b/src/base/SConscript
@@ -30,10 +30,26 @@
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')
diff --git a/src/base/traceflags.py b/src/base/traceflags.py
index e57bfa350..6b241c410 100644
--- a/src/base/traceflags.py
+++ b/src/base/traceflags.py
@@ -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')