summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2007-07-28 21:04:45 -0700
committerGabe Black <gblack@eecs.umich.edu>2007-07-28 21:04:45 -0700
commitfe46e28b149876e41e91d6210040bcfed32d14ca (patch)
tree9f8f2028a5593b28f4892036b149778cf161c78d
parent4903b549e77f30abec6fee211adb1f203e14239b (diff)
parent1bc36f0787ae7aba2ba78dd9c8b6b6c7d9cbddbf (diff)
downloadgem5-fe46e28b149876e41e91d6210040bcfed32d14ca.tar.xz
Merge with head.
--HG-- extra : convert_revision : 3c1ff2585c9b20649792344b4180f6d82cef9c1b
-rw-r--r--SConstruct46
-rw-r--r--ext/libelf/SConscript2
-rw-r--r--src/arch/SConscript30
-rw-r--r--tests/SConscript4
-rw-r--r--util/style.py33
5 files changed, 65 insertions, 50 deletions
diff --git a/SConstruct b/SConstruct
index a2760c4a4..1569ce182 100644
--- a/SConstruct
+++ b/SConstruct
@@ -86,7 +86,7 @@ except:
print "Error checking current SCons version."
print "SCons", ".".join(map(str,min_scons_version)), "or greater required."
Exit(2)
-
+
# The absolute path to the current directory (where this file lives).
ROOT = Dir('.').abspath
@@ -211,7 +211,7 @@ env = Environment(ENV = os.environ, # inherit user's environment vars
ROOT = ROOT,
SRCDIR = SRCDIR)
-#Parse CC/CXX early so that we use the correct compiler for
+#Parse CC/CXX early so that we use the correct compiler for
# to test for dependencies/versions/libraries/includes
if ARGUMENTS.get('CC', None):
env['CC'] = ARGUMENTS.get('CC')
@@ -240,14 +240,14 @@ env.Append(ENV = { 'M5_PLY' : Dir('ext/ply') })
env['GCC'] = False
env['SUNCC'] = False
env['ICC'] = False
-env['GCC'] = subprocess.Popen(env['CXX'] + ' --version', shell=True,
- stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
+env['GCC'] = subprocess.Popen(env['CXX'] + ' --version', shell=True,
+ stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
close_fds=True).communicate()[0].find('GCC') >= 0
-env['SUNCC'] = subprocess.Popen(env['CXX'] + ' -V', shell=True,
- stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
+env['SUNCC'] = subprocess.Popen(env['CXX'] + ' -V', shell=True,
+ stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
close_fds=True).communicate()[0].find('Sun C++') >= 0
-env['ICC'] = subprocess.Popen(env['CXX'] + ' -V', shell=True,
- stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
+env['ICC'] = subprocess.Popen(env['CXX'] + ' -V', shell=True,
+ stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
close_fds=True).communicate()[0].find('Intel') >= 0
if env['GCC'] + env['SUNCC'] + env['ICC'] > 1:
print 'Error: How can we have two at the same time?'
@@ -309,7 +309,7 @@ for scanner in env['SCANNERS']:
skeys = scanner.skeys
if skeys == '.i':
continue
-
+
if isinstance(skeys, (list, tuple)) and '.i' in skeys:
continue
@@ -528,7 +528,7 @@ def config_emitter(target, source, env):
val = int(val)
elif isinstance(val, str):
val = '"' + val + '"'
-
+
# Sources are option name & value (packaged in SCons Value nodes)
return ([target], [Value(option), Value(val)])
@@ -585,22 +585,22 @@ def make_switching_dir(dirname, switch_headers, env):
# header to generate. 'source' is a dummy variable, since we get the
# list of ISAs from env['ALL_ISA_LIST'].
def gen_switch_hdr(target, source, env):
- fname = str(target[0])
- basename = os.path.basename(fname)
- f = open(fname, 'w')
- f.write('#include "arch/isa_specific.hh"\n')
- cond = '#if'
- for isa in all_isa_list:
- f.write('%s THE_ISA == %s_ISA\n#include "%s/%s/%s"\n'
- % (cond, isa.upper(), dirname, isa, basename))
- cond = '#elif'
- f.write('#else\n#error "THE_ISA not set"\n#endif\n')
- f.close()
- return 0
+ fname = str(target[0])
+ basename = os.path.basename(fname)
+ f = open(fname, 'w')
+ f.write('#include "arch/isa_specific.hh"\n')
+ cond = '#if'
+ for isa in all_isa_list:
+ f.write('%s THE_ISA == %s_ISA\n#include "%s/%s/%s"\n'
+ % (cond, isa.upper(), dirname, isa, basename))
+ cond = '#elif'
+ f.write('#else\n#error "THE_ISA not set"\n#endif\n')
+ f.close()
+ return 0
# String to print when generating header
def gen_switch_hdr_string(target, source, env):
- return "Generating switch header " + str(target[0])
+ return "Generating switch header " + str(target[0])
# Build SCons Action object. 'varlist' specifies env vars that this
# action depends on; when env['ALL_ISA_LIST'] changes these actions
diff --git a/ext/libelf/SConscript b/ext/libelf/SConscript
index 31e570396..99c5a4f99 100644
--- a/ext/libelf/SConscript
+++ b/ext/libelf/SConscript
@@ -35,7 +35,7 @@ Import('env')
elf_files = []
def ElfFile(filename):
elf_files.append(File(filename))
-
+
ElfFile('elf_begin.c')
ElfFile('elf_cntl.c')
ElfFile('elf_data.c')
diff --git a/src/arch/SConscript b/src/arch/SConscript
index 0ac25b6c7..e051c44af 100644
--- a/src/arch/SConscript
+++ b/src/arch/SConscript
@@ -43,23 +43,23 @@ Import('*')
# List of headers to generate
isa_switch_hdrs = Split('''
- arguments.hh
- faults.hh
- interrupts.hh
- isa_traits.hh
- kernel_stats.hh
+ arguments.hh
+ faults.hh
+ interrupts.hh
+ isa_traits.hh
+ kernel_stats.hh
locked_mem.hh
mmaped_ipr.hh
- process.hh
- predecoder.hh
- regfile.hh
- remote_gdb.hh
- stacktrace.hh
- syscallreturn.hh
- tlb.hh
- types.hh
- utility.hh
- vtophys.hh
+ process.hh
+ predecoder.hh
+ regfile.hh
+ remote_gdb.hh
+ stacktrace.hh
+ syscallreturn.hh
+ tlb.hh
+ types.hh
+ utility.hh
+ vtophys.hh
''')
# Set up this directory to support switching headers
diff --git a/tests/SConscript b/tests/SConscript
index 24e2cad7f..472fa3f4c 100644
--- a/tests/SConscript
+++ b/tests/SConscript
@@ -173,7 +173,7 @@ def test_builder(env, ref_dir):
'-o', cmd_stdout, '-e', cmd_stderr, base_cmd]
else:
cmd = [base_cmd, '>', cmd_stdout, '2>', cmd_stderr]
-
+
env.Command([tgt('stdout'), tgt('stderr'), new_stats],
[env.M5Binary, 'run.py'], ' '.join(cmd))
@@ -202,7 +202,7 @@ if env['FULL_SYSTEM']:
'tsunami-simple-timing',
'tsunami-simple-atomic-dual',
'tsunami-simple-timing-dual',
- 'twosys-tsunami-simple-atomic']
+ 'twosys-tsunami-simple-atomic']
if env['TARGET_ISA'] == 'sparc':
configs += ['t1000-simple-atomic',
't1000-simple-timing']
diff --git a/util/style.py b/util/style.py
index 2512d6920..897617779 100644
--- a/util/style.py
+++ b/util/style.py
@@ -51,14 +51,28 @@ lang_types = { 'c' : "C",
's' : "asm",
'S' : "asm",
'isa' : "isa" }
-whitespace_types = ('C', 'C++', 'swig', 'python', 'asm', 'isa')
-format_types = ( 'C', 'C++' )
-
def file_type(filename):
extension = filename.split('.')
extension = len(extension) > 1 and extension[-1]
return lang_types.get(extension, None)
+whitespace_types = ('C', 'C++', 'swig', 'python', 'asm', 'isa')
+def whitespace_file(filename):
+ if file_type(filename) in whitespace_types:
+ return True
+
+ if filename.startswith("SCons"):
+ return True
+
+ return False
+
+format_types = ( 'C', 'C++' )
+def format_file(filename):
+ if file_type(filename) in format_types:
+ return True
+
+ return False
+
def checkwhite_line(line):
match = lead.search(line)
if match and match.group(1).find('\t') != -1:
@@ -71,7 +85,7 @@ def checkwhite_line(line):
return True
def checkwhite(filename):
- if file_type(filename) not in whitespace_types:
+ if not whitespace_file(filename):
return
try:
@@ -101,7 +115,7 @@ def fixwhite_line(line, tabsize):
return line.rstrip() + '\n'
def fixwhite(filename, tabsize, fixonly=None):
- if file_type(filename) not in whitespace_types:
+ if not whitespace_file(filename):
return
try:
@@ -159,7 +173,7 @@ class ValidationStats(object):
self.trailwhite or self.badcontrol or self.cret
def validate(filename, stats, verbose, exit_code):
- if file_type(filename) not in format_types:
+ if not format_file(filename):
return
def msg(lineno, line, message):
@@ -376,9 +390,10 @@ if __name__ == '__main__':
fixwhite(filename, tabsize)
elif command == 'chkwhite':
for filename in args:
- line = checkwhite(filename)
- if line:
- print 'invalid whitespace at %s:%d' % (filename, line)
+ for line,num in checkwhite(filename):
+ print 'invalid whitespace: %s:%d' % (filename, num)
+ if verbose:
+ print '>>%s<<' % line[:-1]
elif command == 'chkformat':
stats = ValidationStats()
for filename in files: