From: Ali Saidi <Ali.Saidi@ARM.com>
Date: Thu, 10 May 2012 23:04:28 +0000 (-0500)
Subject: stats: fix compilation of unit test.
X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=331696582f1a0e164dd6833e9eaee81559d49dff;p=gem5.git

stats: fix compilation of unit test.
---

diff --git a/src/SConscript b/src/SConscript
index fd6e725a4..c30a4fd66 100755
--- a/src/SConscript
+++ b/src/SConscript
@@ -237,7 +237,7 @@ class UnitTest(object):
     '''Create a UnitTest'''
 
     all = []
-    def __init__(self, target, *sources):
+    def __init__(self, target, *sources, **kwargs):
         '''Specify the target name and any sources.  Sources that are
         not SourceFiles are evalued with Source().  All files are
         guarded with a guard of the same name as the UnitTest
@@ -252,6 +252,7 @@ class UnitTest(object):
 
         self.sources = srcs
         self.target = target
+        self.main = kwargs.get('main', False)
         UnitTest.all.append(self)
 
 # Children should have access
@@ -906,6 +907,8 @@ def makeEnv(label, objsfx, strip = False, **kwargs):
         flags = { test.target : True }
         test_sources = Source.get(**flags)
         test_objs = [ make_obj(s, static=True) for s in test_sources ]
+        if test.main:
+            test_objs += main_objs
         testname = "unittest/%s.%s" % (test.target, label)
         new_env.Program(testname, test_objs + static_objs)
 
diff --git a/src/unittest/SConscript b/src/unittest/SConscript
index 3ceae23b5..d409ec9a5 100644
--- a/src/unittest/SConscript
+++ b/src/unittest/SConscript
@@ -52,7 +52,7 @@ UnitTest('trietest', 'trietest.cc')
 
 stattest_py = PySource('m5', 'stattestmain.py', skip_lib=True)
 stattest_swig = SwigSource('m5.internal', 'stattest.i', skip_lib=True)
-UnitTest('stattest', 'stattest.cc', stattest_py, stattest_swig)
+UnitTest('stattest', 'stattest.cc', stattest_py, stattest_swig, main=True)
 
 UnitTest('symtest', 'symtest.cc')
 UnitTest('tokentest', 'tokentest.cc')