diff options
-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) |