From: Gabe Black Date: Sat, 24 Sep 2011 23:59:11 +0000 (-0700) Subject: SCons: Make the ISA parser a source for its output files like the comments say. X-Git-Tag: stable_2012_02_02~51 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9f26aaa7d75ac1a63a60ebacbe6888e435f17709;p=gem5.git 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. --- 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)