scons: Move MakeAction into gem5_scons.
That will make it usable from builders defined outside of SConstruct. Change-Id: Id1231a1a370b7d519a382db892ded93c604eb56f Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/40968 Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com> Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com>
This commit is contained in:
24
SConstruct
24
SConstruct
@@ -122,15 +122,20 @@ AddOption('--with-systemc-tests', action='store_true',
|
||||
|
||||
from gem5_scons import Transform, error, warning, summarize_warnings
|
||||
from gem5_scons import TempFileSpawn, parse_build_path, EnvDefaults
|
||||
from gem5_scons import MakeAction, MakeActionTool
|
||||
import gem5_scons
|
||||
|
||||
Export('MakeAction')
|
||||
|
||||
########################################################################
|
||||
#
|
||||
# Set up the main build environment.
|
||||
#
|
||||
########################################################################
|
||||
|
||||
main = Environment(tools=['default', 'git', TempFileSpawn, EnvDefaults])
|
||||
main = Environment(tools=[
|
||||
'default', 'git', TempFileSpawn, EnvDefaults, MakeActionTool
|
||||
])
|
||||
|
||||
main.Tool(SCons.Tool.FindTool(['gcc', 'clang'], main))
|
||||
main.Tool(SCons.Tool.FindTool(['g++', 'clang++'], main))
|
||||
@@ -256,23 +261,6 @@ main.Append(CPPPATH=[Dir('ext')])
|
||||
# Add shared top-level headers
|
||||
main.Prepend(CPPPATH=Dir('include'))
|
||||
|
||||
if GetOption('verbose'):
|
||||
def MakeAction(action, string, *args, **kwargs):
|
||||
return Action(action, *args, **kwargs)
|
||||
else:
|
||||
MakeAction = Action
|
||||
main['CCCOMSTR'] = Transform("CC")
|
||||
main['CXXCOMSTR'] = Transform("CXX")
|
||||
main['ASCOMSTR'] = Transform("AS")
|
||||
main['ARCOMSTR'] = Transform("AR", 0)
|
||||
main['LINKCOMSTR'] = Transform("LINK", 0)
|
||||
main['SHLINKCOMSTR'] = Transform("SHLINK", 0)
|
||||
main['RANLIBCOMSTR'] = Transform("RANLIB", 0)
|
||||
main['M4COMSTR'] = Transform("M4")
|
||||
main['SHCCCOMSTR'] = Transform("SHCC")
|
||||
main['SHCXXCOMSTR'] = Transform("SHCXX")
|
||||
Export('MakeAction')
|
||||
|
||||
# Initialize the Link-Time Optimization (LTO) flags
|
||||
main['LTO_CCFLAGS'] = []
|
||||
main['LTO_LDFLAGS'] = []
|
||||
|
||||
@@ -238,7 +238,27 @@ def parse_build_path(target):
|
||||
|
||||
return os.path.join('/', *path_dirs), variant_dir
|
||||
|
||||
__all__ = [
|
||||
'Configure', 'EnvDefaults', 'Transform', 'warning', 'error',
|
||||
'parse_build_dir'
|
||||
]
|
||||
# The MakeAction wrapper, and a SCons tool to set up the *COMSTR variables.
|
||||
if SCons.Script.GetOption('verbose'):
|
||||
def MakeAction(action, string, *args, **kwargs):
|
||||
return SCons.Script.Action(action, *args, **kwargs)
|
||||
|
||||
def MakeActionTool(env):
|
||||
pass
|
||||
else:
|
||||
MakeAction = SCons.Script.Action
|
||||
|
||||
def MakeActionTool(env):
|
||||
env['CCCOMSTR'] = Transform("CC")
|
||||
env['CXXCOMSTR'] = Transform("CXX")
|
||||
env['ASCOMSTR'] = Transform("AS")
|
||||
env['ARCOMSTR'] = Transform("AR", 0)
|
||||
env['LINKCOMSTR'] = Transform("LINK", 0)
|
||||
env['SHLINKCOMSTR'] = Transform("SHLINK", 0)
|
||||
env['RANLIBCOMSTR'] = Transform("RANLIB", 0)
|
||||
env['M4COMSTR'] = Transform("M4")
|
||||
env['SHCCCOMSTR'] = Transform("SHCC")
|
||||
env['SHCXXCOMSTR'] = Transform("SHCXX")
|
||||
|
||||
__all__ = ['Configure', 'EnvDefaults', 'Transform', 'warning', 'error',
|
||||
'MakeAction', 'MakeActionTool']
|
||||
|
||||
Reference in New Issue
Block a user