scons: Remove the "abstract" tag from Executable classes.
authorGabe Black <gabe.black@gmail.com>
Thu, 4 Feb 2021 06:35:22 +0000 (22:35 -0800)
committerGabe Black <gabe.black@gmail.com>
Fri, 5 Feb 2021 09:34:12 +0000 (09:34 +0000)
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>

src/SConscript

index 74b9516a0739465aec283fbc58cd2a523dc60d9d..538d8aa71eff834608096b13f785911b7fb8cf7d 100644 (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().'''