diff options
author | Steve Reinhardt <stever@eecs.umich.edu> | 2005-08-30 13:18:54 -0400 |
---|---|---|
committer | Steve Reinhardt <stever@eecs.umich.edu> | 2005-08-30 13:18:54 -0400 |
commit | c4793184bd32e97e8932a9a0355d8a7b8a214752 (patch) | |
tree | d616bdd39c608898bd5fea6928166175e96d8d79 /python | |
parent | e007aa59e3da2609de92cc6d2cfcd7acf9d4276f (diff) | |
download | gem5-c4793184bd32e97e8932a9a0355d8a7b8a214752.tar.xz |
Build options are set via a build_options file in the
build directory instead of being inferred from the name
of the build directory.
Options are passed to C++ via config/*.hh files instead of
via the command line. Build option flags are now always
defined to 0 or 1, so checks must use '#if' rather than
'#ifdef'.
SConscript:
MySQL detection moved to SConstruct.
Add config/*.hh files (via ConfigFile builder).
arch/alpha/alpha_memory.cc:
arch/alpha/ev5.cc:
arch/alpha/ev5.hh:
arch/alpha/isa_traits.hh:
base/fast_alloc.hh:
base/statistics.cc:
base/statistics.hh:
base/stats/events.cc:
base/stats/events.hh:
cpu/base.cc:
cpu/base.hh:
cpu/base_dyn_inst.cc:
cpu/base_dyn_inst.hh:
cpu/exec_context.cc:
cpu/exec_context.hh:
cpu/o3/alpha_cpu.hh:
cpu/o3/alpha_cpu_builder.cc:
cpu/o3/alpha_cpu_impl.hh:
cpu/o3/alpha_dyn_inst.hh:
cpu/o3/alpha_dyn_inst_impl.hh:
cpu/o3/alpha_params.hh:
cpu/o3/commit_impl.hh:
cpu/o3/cpu.cc:
cpu/o3/cpu.hh:
cpu/o3/fetch_impl.hh:
cpu/o3/iew.hh:
cpu/o3/iew_impl.hh:
cpu/o3/regfile.hh:
cpu/o3/rename_impl.hh:
cpu/o3/rob_impl.hh:
cpu/ozone/cpu.hh:
cpu/pc_event.cc:
cpu/simple/cpu.cc:
cpu/simple/cpu.hh:
sim/process.cc:
sim/process.hh:
Convert compile flags from def/undef to 0/1.
Set via #include config/*.hh instead of command line.
arch/alpha/isa_desc:
Convert compile flags from def/undef to 0/1.
Set via #include config/*.hh instead of command line.
Revamp fenv.h support... most of the ugliness is hidden
in base/fenv.hh now.
base/mysql.hh:
Fix typo in #ifndef guard.
build/SConstruct:
Build options are set via a build_options file in the
build directory instead of being inferred from the name
of the build directory.
Options are passed to C++ via config/*.hh files instead of
via the command line.
python/SConscript:
Generate m5_build_env directly from scons options
instead of indirectly via CPPDEFINES.
python/m5/convert.py:
Allow '0' and '1' for booleans.
Rewrite toBool to use dict.
base/fenv.hh:
Revamp <fenv.h> support to make it a compile option
(so we can test w/o it even if it's present) and to
make isa_desc cleaner.
--HG--
extra : convert_revision : 8f97dc11185bef5e1865b3269c7341df8525c9ad
Diffstat (limited to 'python')
-rw-r--r-- | python/SConscript | 7 | ||||
-rw-r--r-- | python/m5/convert.py | 15 |
2 files changed, 14 insertions, 8 deletions
diff --git a/python/SConscript b/python/SConscript index 57b018fea..a34d3f2d5 100644 --- a/python/SConscript +++ b/python/SConscript @@ -151,7 +151,7 @@ def MakeDefinesPyFile(target, source, env): f = file(str(target[0]), 'w') print >>f, "import __main__" print >>f, "__main__.m5_build_env = ", - print >>f, scons_helper.flatten_defines(env['CPPDEFINES']) + print >>f, source[0] f.close() CFileCounter = 0 @@ -196,7 +196,10 @@ for root, dirs, files in os.walk(objpath, topdown=True): embedded_py_files.append(os.path.join(root, f)) embedfile_hh = os.path.join(env['SRCDIR'], 'base/embedfile.hh') -env.Command('defines.py', None, MakeDefinesPyFile) + +optionDict = dict([(opt, env[opt]) for opt in env.ExportOptions]) +env.Command('defines.py', Value(optionDict), MakeDefinesPyFile) + env.Command('embedded_py.py', embedded_py_files, MakeEmbeddedPyFile) env.Depends('embedded_py.cc', embedfile_hh) env.Command('embedded_py.cc', diff --git a/python/m5/convert.py b/python/m5/convert.py index 2551459bd..9d9f4efa7 100644 --- a/python/m5/convert.py +++ b/python/m5/convert.py @@ -105,17 +105,20 @@ def toInteger(value): return result +_bool_dict = { + 'true' : True, 't' : True, 'yes' : True, 'y' : True, '1' : True, + 'false' : False, 'f' : False, 'no' : False, 'n' : False, '0' : False + } + def toBool(value): if not isinstance(value, str): raise TypeError, "wrong type '%s' should be str" % type(value) value = value.lower() - if value == "true" or value == "t" or value == "yes" or value == "y": - return True - elif value == "false" or value == "f" or value == "no" or value == "n": - return False - - raise ValueError, "cannot convert '%s' to bool" % value + result = _bool_dict.get(value, None) + if result == None: + raise ValueError, "cannot convert '%s' to bool" % value + return result def toFrequency(value): if not isinstance(value, str): |