scons: Remove the "abstract" tag from Executable classes.

That tag was intended to mark an Executable subclass as abstract, aka
only suitable for using as bases for other Executable subclasses and not
for direct instantiation. The only place it was used was the base
Executable class however, and that class is actually directly useful
when setting up a generic executable from other gem5 sources.

Change-Id: I70204b63c03bb45bf21b8c312a7b8581be5e0cab
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/40616
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
This commit is contained in:
Gabe Black
2021-02-03 22:35:22 -08:00
parent 877d63b3d2
commit 2af0d1e9e8

View File

@@ -477,17 +477,13 @@ class ExecutableMeta(type):
all = []
def __init__(cls, name, bases, d):
if not d.pop('abstract', False):
ExecutableMeta.all.append(cls)
ExecutableMeta.all.append(cls)
super(ExecutableMeta, cls).__init__(name, bases, d)
cls.all = []
class Executable(object, metaclass=ExecutableMeta):
'''Base class for creating an executable from sources.'''
abstract = True
def __init__(self, target, *srcs_and_filts):
'''Specify the target name and any sources. Sources that are
not SourceFiles are evalued with Source().'''