scons: Merge reading test SConscripts into makeEnv.
authorGabe Black <gabeblack@google.com>
Tue, 2 May 2017 00:50:43 +0000 (17:50 -0700)
committerGabe Black <gabeblack@google.com>
Wed, 3 May 2017 17:47:53 +0000 (17:47 +0000)
We're already visiting each of the environments, there's no reason to
track them all and then set up test SConscripts on a second pass.

Change-Id: I2d1166f58ac907e874d6ad5de7bd53ff7ad645f8
Reviewed-on: https://gem5-review.googlesource.com/2980
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>

src/SConscript

index 6cb497695168b2ec534852f936da69e12a6216cf..fd67533200ba8e3d4331ce0789fb54e6775607b7 100755 (executable)
@@ -1113,7 +1113,11 @@ def makeEnv(env, label, objsfx, strip = False, **kwargs):
             MakeAction('ln $SOURCE $TARGET', Transform("HARDLINK")))
 
     new_env.M5Binary = targets[0]
-    return new_env
+
+    # Set up regression tests.
+    SConscript(os.path.join(env.root.abspath, 'tests', 'SConscript'),
+               variant_dir=variantd('tests', new_env.Label),
+               exports={ 'env' : new_env }, duplicate=False)
 
 # Start out with the compiler flags common to all compilers,
 # i.e. they all use -g for opt and -g -pg for prof
@@ -1183,53 +1187,40 @@ def makeEnvirons(target, source, env):
     # cause any later Source() calls to be fatal, as a diagnostic.
     Source.done()
 
-    envList = []
-
     # Debug binary
     if 'debug' in needed_envs:
-        envList.append(
-            makeEnv(env, 'debug', '.do',
-                    CCFLAGS = Split(ccflags['debug']),
-                    CPPDEFINES = ['DEBUG', 'TRACING_ON=1'],
-                    LINKFLAGS = Split(ldflags['debug'])))
+        makeEnv(env, 'debug', '.do',
+                CCFLAGS = Split(ccflags['debug']),
+                CPPDEFINES = ['DEBUG', 'TRACING_ON=1'],
+                LINKFLAGS = Split(ldflags['debug']))
 
     # Optimized binary
     if 'opt' in needed_envs:
-        envList.append(
-            makeEnv(env, 'opt', '.o',
-                    CCFLAGS = Split(ccflags['opt']),
-                    CPPDEFINES = ['TRACING_ON=1'],
-                    LINKFLAGS = Split(ldflags['opt'])))
+        makeEnv(env, 'opt', '.o',
+                CCFLAGS = Split(ccflags['opt']),
+                CPPDEFINES = ['TRACING_ON=1'],
+                LINKFLAGS = Split(ldflags['opt']))
 
     # "Fast" binary
     if 'fast' in needed_envs:
-        envList.append(
-            makeEnv(env, 'fast', '.fo', strip = True,
-                    CCFLAGS = Split(ccflags['fast']),
-                    CPPDEFINES = ['NDEBUG', 'TRACING_ON=0'],
-                    LINKFLAGS = Split(ldflags['fast'])))
+        makeEnv(env, 'fast', '.fo', strip = True,
+                CCFLAGS = Split(ccflags['fast']),
+                CPPDEFINES = ['NDEBUG', 'TRACING_ON=0'],
+                LINKFLAGS = Split(ldflags['fast']))
 
     # Profiled binary using gprof
     if 'prof' in needed_envs:
-        envList.append(
-            makeEnv(env, 'prof', '.po',
-                    CCFLAGS = Split(ccflags['prof']),
-                    CPPDEFINES = ['NDEBUG', 'TRACING_ON=0'],
-                    LINKFLAGS = Split(ldflags['prof'])))
+        makeEnv(env, 'prof', '.po',
+                CCFLAGS = Split(ccflags['prof']),
+                CPPDEFINES = ['NDEBUG', 'TRACING_ON=0'],
+                LINKFLAGS = Split(ldflags['prof']))
 
     # Profiled binary using google-pprof
     if 'perf' in needed_envs:
-        envList.append(
-            makeEnv(env, 'perf', '.gpo',
-                    CCFLAGS = Split(ccflags['perf']),
-                    CPPDEFINES = ['NDEBUG', 'TRACING_ON=0'],
-                    LINKFLAGS = Split(ldflags['perf'])))
-
-    # Set up the regression tests for each build.
-    for e in envList:
-        SConscript(os.path.join(env.root.abspath, 'tests', 'SConscript'),
-                   variant_dir = variantd('tests', e.Label),
-                   exports = { 'env' : e }, duplicate = False)
+        makeEnv(env, 'perf', '.gpo',
+                CCFLAGS = Split(ccflags['perf']),
+                CPPDEFINES = ['NDEBUG', 'TRACING_ON=0'],
+                LINKFLAGS = Split(ldflags['perf']))
 
 # The MakeEnvirons Builder defers the full dependency collection until
 # after processing the ISA definition (due to dynamically generated