scons: Pull domain specific build setup out of SConstruct.

Use SConsopts files local to individual domains to pull
non-foundational build code out of SConstruct. This greatly simplifies
SConstruct, and also makes it easier to find build configuration having
to do with particular pieces of gem5.

This change also converts some python level variables, all_protocols,
protocol_dirs, and slicc_includes, into the environment where the timing
of their initialization is more flexible.

Change-Id: Ie61ceb75ae9e5557cc400603c972a9582e99c1ea
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/40872
Maintainer: Gabe Black <gabe.black@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Gabe Black <gabe.black@gmail.com>
This commit is contained in:
Gabe Black
2021-02-07 05:45:42 -08:00
parent 91f4ea6683
commit 1791b8732c
20 changed files with 613 additions and 290 deletions

View File

@@ -36,9 +36,7 @@ def use_systemc_check(env, warn=False):
main.AddMethod(use_systemc_check, 'UseSystemcCheck')
sticky_vars.AddVariables(
BoolVariable('USE_SYSTEMC', 'Enable SystemC API support',
main.UseSystemcCheck())
)
sticky_vars.Add(BoolVariable('USE_SYSTEMC', 'Enable SystemC API support',
main.UseSystemcCheck()))
export_vars.append('USE_SYSTEMC')