scons: Add MARSHAL_XXFLAGS_EXTRA for the marshal object
We already provide to the user the CCFLAGS_EXTRA, LDFLAGS_EXTRA variables to pass flags to scons when compiling/linking gem5. Those variables are not passed to the marshal object. We add an extra pair: MARSHAL_CCFLAGS_EXTRA, MARSHAL_LDFLAGS_EXTRA to add flag injection capabilities to the marshal object. The patch is also renaming base_py_env to marshal_env. This happens for 2 reasons: 1) At the moment the marshal compilation is the only task making use of the base python environment. 2) Consistency with the EXTRA variable names added with this patch. I could have named them as BASE_XXFLAGS_EXTRA, but it seems too much generic and users might be confused by that, as they might think the BASE_XXFLAGS_EXTRA is a subset of the XXFLAGS_EXTRA so that setting it will affect gem5 compilation as well. Change-Id: I3e420caa897059455ff8f35462db2b38da050e93 Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/30016 Reviewed-by: Jason Lowe-Power <power.jg@gmail.com> Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Maintainer: Andreas Sandberg <andreas.sandberg@arm.com> Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
@@ -1140,7 +1140,7 @@ env.AlwaysBuild(tags)
|
||||
# Build a small helper that marshals the Python code using the same
|
||||
# version of Python as gem5. This is in an unorthodox location to
|
||||
# avoid building it for every variant.
|
||||
py_marshal = base_py_env.Program('marshal', 'python/marshal.cc')[0]
|
||||
py_marshal = marshal_env.Program('marshal', 'python/marshal.cc')[0]
|
||||
|
||||
# Embed python files. All .py files that have been indicated by a
|
||||
# PySource() call in a SConscript need to be embedded into the M5
|
||||
@@ -1196,7 +1196,7 @@ EmbeddedPython embedded_${sym}(
|
||||
code.write(str(target[0]))
|
||||
|
||||
for source in PySource.all:
|
||||
base_py_env.Command(source.cpp, [ py_marshal, source.tnode ],
|
||||
marshal_env.Command(source.cpp, [ py_marshal, source.tnode ],
|
||||
MakeAction(embedPyFile, Transform("EMBED PY")))
|
||||
Source(source.cpp, tags=source.tags, add_tags='python')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user