summaryrefslogtreecommitdiff
path: root/src/python/m5/util/__init__.py
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2018-06-06 21:01:29 -0700
committerGabe Black <gabeblack@google.com>2018-06-26 00:15:12 +0000
commit6df90da9fb701eea8381a35423d0c9e7bc940850 (patch)
tree88c46db4fd0e127259f661b74ab317e86a8c5831 /src/python/m5/util/__init__.py
parent1678a08ded7e00049f4335d856c91043904002f7 (diff)
downloadgem5-6df90da9fb701eea8381a35423d0c9e7bc940850.tar.xz
scons: Generalize building binaries.
Building gem5 binaries or regression test binaries needs to be done from within the make_env function which builds an environment for each flavor of build (opt, fast, debug, etc.). That makes it impossible to add new types of binaries without modifying the central SConscript. This change refactors how binaries are set up so that the class that represents them handles the details of how the binary should be built. Also, a metaclass and some lists track types of binaries and individual instances of binaries so that they can be iterated over automatically in make_env. Each new executable class can define a declare_all class function which calls declare() on individual instances. declare_all is a place to do any processing that only has to happen once (for instance specializing the environment) for a particular family of executables. Change-Id: I8a6ee9438280cd67e6c0b92ca28738a53cb16950 Reviewed-on: https://gem5-review.googlesource.com/10915 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
Diffstat (limited to 'src/python/m5/util/__init__.py')
0 files changed, 0 insertions, 0 deletions