Make .isa-file ##include file paths relative to including file.
Makes .isa files cleaner and simplifies scanner too.
Simplified scanner to work under both old and new versions of scons.
arch/SConscript:
Simplify .isa scanner... seems to work with both scons 0.96.1 and 0.96.91 now.
Assumes .isa ##include paths are relative to including file.
arch/alpha/isa/main.isa:
arch/mips/isa/formats/formats.isa:
arch/mips/isa/main.isa:
arch/sparc/isa/formats.isa:
arch/sparc/isa/main.isa:
Make ##include paths relative to including file.
arch/isa_parser.py:
Make ##include file paths relative to including file.
Makes .isa files cleaner and simplifies scanner too.
Partial rewrite of include-handling code to use cool re.sub() feature
where you can specify a function to provide the replacement string.
Minor cleanup of error-handling code.
Also got rid of '#!' at top to make caller choose which python interpreter
is used (since SPARC now requires 2.4 to build, we may need to do that via
scons in the future).
--HG--
rename : arch/mips/isa/formats.isa => arch/mips/isa/formats/formats.isa
extra : convert_revision : 15a3920fa3aaf80cd94083eda853aa4e49425045
This commit is contained in:
@@ -100,18 +100,12 @@ for hdr in isa_switch_hdrs:
|
||||
#
|
||||
import SCons.Scanner
|
||||
|
||||
def ISAScan():
|
||||
return SCons.Scanner.Classic("ISAScan",
|
||||
"$ISASUFFIXES",
|
||||
"SRCDIR",
|
||||
'^[ \t]*##[ \t]*include[ \t]*"([^>"]+)"')
|
||||
isa_scanner = SCons.Scanner.Classic("ISAScan",
|
||||
[".isa", ".ISA"],
|
||||
"SRCDIR",
|
||||
r'^\s*##include\s+"([\w/.-]*)"')
|
||||
|
||||
def ISAPath(env, dir, target=None, source=None, a=None):
|
||||
return (Dir(env['SRCDIR']), Dir('.'))
|
||||
|
||||
iscan = Scanner(function = ISAScan().scan, skeys = [".isa", ".ISA"],
|
||||
path_function = ISAPath)
|
||||
env.Append(SCANNERS = iscan)
|
||||
env.Append(SCANNERS = isa_scanner)
|
||||
|
||||
#
|
||||
# Now create a Builder object that uses isa_parser.py to generate C++
|
||||
@@ -138,8 +132,7 @@ def isa_desc_emitter(target, source, env):
|
||||
return (isa_desc_gen_files, [isa_parser, cpu_models_file] + source)
|
||||
|
||||
# Pieces are in place, so create the builder.
|
||||
isa_desc_builder = Builder(action='$SOURCES $TARGET.dir $CPU_MODELS',
|
||||
source_scanner = iscan,
|
||||
isa_desc_builder = Builder(action='python $SOURCES $TARGET.dir $CPU_MODELS',
|
||||
emitter = isa_desc_emitter)
|
||||
|
||||
env.Append(BUILDERS = { 'ISADesc' : isa_desc_builder })
|
||||
|
||||
Reference in New Issue
Block a user