diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2011-09-24 16:59:11 -0700 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2011-09-24 16:59:11 -0700 |
commit | 9f26aaa7d75ac1a63a60ebacbe6888e435f17709 (patch) | |
tree | ad4746b1fe49df6f16fd5c9a2a506745a5a0edd6 /src/arch/SConscript | |
parent | ed61e02b24c27b9dad88971ca341b5cd0ae31bd4 (diff) | |
download | gem5-9f26aaa7d75ac1a63a60ebacbe6888e435f17709.tar.xz |
SCons: Make the ISA parser a source for its output files like the comments say.
There was a change a while ago that refactored some scons stuff which got rid
of cpu_models.py but also accidentally got rid of the ISA parser as a source
for its target files. That meant that changes which affected the parser
wouldn't cause a rebuild unless they also changed one of the description
files. This change fixes that.
Diffstat (limited to 'src/arch/SConscript')
-rw-r--r-- | src/arch/SConscript | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/arch/SConscript b/src/arch/SConscript index a8b7f5354..3eee7b93e 100644 --- a/src/arch/SConscript +++ b/src/arch/SConscript @@ -89,6 +89,8 @@ env.Append(SCANNERS = isa_scanner) # output from the ISA description (*.isa) files. # +isa_parser = File('isa_parser.py') + # The emitter patches up the sources & targets to include the # autogenerated files as targets and isa parser itself as a source. def isa_desc_emitter(target, source, env): @@ -102,7 +104,12 @@ def isa_desc_emitter(target, source, env): # We also get an execute file for each selected CPU model. target += [CpuModel.dict[cpu].filename for cpu in cpu_models] - return target, source + [ Value(m) for m in cpu_models ] + # List the isa parser as a source. + source += [ isa_parser ] + # Add in the CPU models. + source += [ Value(m) for m in cpu_models ] + + return target, source ARCH_DIR = Dir('.') @@ -114,7 +121,7 @@ def isa_desc_action_func(target, source, env): sys.path[0:0] = [ ARCH_DIR.srcnode().abspath ] import isa_parser - models = [ s.get_contents() for s in source[1:] ] + models = [ s.get_contents() for s in source[2:] ] cpu_models = [CpuModel.dict[cpu] for cpu in models] parser = isa_parser.ISAParser(target[0].dir.abspath, cpu_models) parser.parse_isa_desc(source[0].abspath) |