scons: Make env['USE_PYTHON'] a source for createEnumStrings.
That clues scons in to the fact that the contents of the target of that function depends on the value of that construction variable. Change-Id: I803322ea1a178152da3d95dffffe20acd4271c88 Reviewed-on: https://gem5-review.googlesource.com/3083 Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-by: Paul Rosenfeld <prosenfeld@micron.com> Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
This commit is contained in:
@@ -630,14 +630,15 @@ def createSimObjectCxxConfig(is_header):
|
||||
return body
|
||||
|
||||
def createEnumStrings(target, source, env):
|
||||
assert len(target) == 1 and len(source) == 1
|
||||
assert len(target) == 1 and len(source) == 2
|
||||
|
||||
name = str(source[0].get_contents())
|
||||
use_python = source[1].read()
|
||||
obj = all_enums[name]
|
||||
|
||||
code = code_formatter()
|
||||
obj.cxx_def(code)
|
||||
if env['USE_PYTHON']:
|
||||
if use_python:
|
||||
obj.pybind_def(code)
|
||||
code.write(target[0].abspath)
|
||||
|
||||
@@ -732,7 +733,7 @@ for name,enum in sorted(all_enums.iteritems()):
|
||||
extra_deps = [ py_source.tnode ]
|
||||
|
||||
cc_file = File('enums/%s.cc' % name)
|
||||
env.Command(cc_file, Value(name),
|
||||
env.Command(cc_file, [Value(name), Value(env['USE_PYTHON'])],
|
||||
MakeAction(createEnumStrings, Transform("ENUM STR")))
|
||||
env.Depends(cc_file, depends + extra_deps)
|
||||
Source(cc_file)
|
||||
|
||||
Reference in New Issue
Block a user