base: Move Stats::Info functions to its own source file
[gem5.git] / src / base / SConscript
index ca68bfb60946face16682c431e5706e4f140222e..f8cd4ba07492e11381dc580f256190c2db87c2dc 100644 (file)
 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-# Authors: Nathan Binkert
 
 Import('*')
 
-def make_cc(target, source, env):
-    assert(len(source) == 1)
-    assert(len(target) == 1)
-
-    traceflags = {}
-    execfile(str(source[0]), traceflags)
-    func = traceflags['gen_cc']
-    func(str(target[0]))
-
-def make_hh(target, source, env):
-    assert(len(source) == 1)
-    assert(len(target) == 1)
-
-    traceflags = {}
-    execfile(str(source[0]), traceflags)
-    func = traceflags['gen_hh']
-    func(str(target[0]))
-
-env.Command('traceflags.hh', 'traceflags.py', make_hh)
-env.Command('traceflags.cc', 'traceflags.py', make_cc)
-
-Source('annotate.cc')
-Source('bigint.cc')
-Source('circlebuf.cc')
-Source('cprintf.cc')
-Source('crc.cc')
-Source('fast_alloc.cc')
+SimObject('Graphics.py')
+GTest('amo.test', 'amo.test.cc')
+Source('atomicio.cc')
+GTest('atomicio.test', 'atomicio.test.cc', 'atomicio.cc')
+Source('bitfield.cc')
+GTest('bitfield.test', 'bitfield.test.cc', 'bitfield.cc')
+Source('imgwriter.cc')
+Source('bmpwriter.cc')
+Source('channel_addr.cc')
+Source('cprintf.cc', add_tags='gtest lib')
+GTest('cprintf.test', 'cprintf.test.cc')
+Source('debug.cc')
+GTest('debug.test', 'debug.test.cc', 'debug.cc')
 if env['USE_FENV']:
     Source('fenv.c')
-Source('fifo_buffer.cc')
+if env['USE_PNG']:
+    Source('pngwriter.cc')
+Source('fiber.cc')
+GTest('fiber.test', 'fiber.test.cc', 'fiber.cc')
+GTest('flags.test', 'flags.test.cc')
+GTest('coroutine.test', 'coroutine.test.cc', 'fiber.cc')
+Source('framebuffer.cc')
 Source('hostinfo.cc')
-Source('hybrid_pred.cc')
 Source('inet.cc')
 Source('inifile.cc')
-Source('intmath.cc')
+GTest('inifile.test', 'inifile.test.cc', 'inifile.cc', 'str.cc')
+GTest('intmath.test', 'intmath.test.cc')
+Source('logging.cc')
 Source('match.cc')
-Source('misc.cc')
+GTest('match.test', 'match.test.cc', 'match.cc', 'str.cc')
 Source('output.cc')
+Source('pixel.cc')
+GTest('pixel.test', 'pixel.test.cc', 'pixel.cc')
 Source('pollevent.cc')
 Source('random.cc')
-Source('range.cc')
-Source('remote_gdb.cc')
-Source('sat_counter.cc')
+if env['TARGET_ISA'] != 'null':
+    Source('remote_gdb.cc')
 Source('socket.cc')
+GTest('socket.test', 'socket.test.cc', 'socket.cc')
 Source('statistics.cc')
 Source('str.cc')
+GTest('str.test', 'str.test.cc', 'str.cc')
 Source('time.cc')
+Source('version.cc')
+Source('temperature.cc')
+GTest('temperature.test', 'temperature.test.cc', 'temperature.cc')
 Source('trace.cc')
-Source('traceflags.cc')
-Source('userinfo.cc')
-
-Source('compression/lzss_compression.cc')
+GTest('trie.test', 'trie.test.cc')
+Source('types.cc')
+GTest('types.test', 'types.test.cc', 'types.cc')
+GTest('uncontended_mutex.test', 'uncontended_mutex.test.cc')
 
-Source('loader/aout_object.cc')
-Source('loader/ecoff_object.cc')
-Source('loader/elf_object.cc')
-Source('loader/object_file.cc')
-Source('loader/raw_object.cc')
-Source('loader/symtab.cc')
+GTest('addr_range.test', 'addr_range.test.cc')
+GTest('addr_range_map.test', 'addr_range_map.test.cc')
+GTest('bitunion.test', 'bitunion.test.cc')
+GTest('channel_addr.test', 'channel_addr.test.cc', 'channel_addr.cc')
+GTest('circlebuf.test', 'circlebuf.test.cc')
+GTest('circular_queue.test', 'circular_queue.test.cc')
+GTest('sat_counter.test', 'sat_counter.test.cc')
+GTest('refcnt.test','refcnt.test.cc')
+GTest('condcodes.test', 'condcodes.test.cc')
+GTest('chunk_generator.test', 'chunk_generator.test.cc')
 
-Source('stats/events.cc')
-Source('stats/output.cc')
-Source('stats/statdb.cc')
-Source('stats/text.cc')
-Source('stats/visit.cc')
+DebugFlag('Annotate', "State machine annotation debugging")
+DebugFlag('AnnotateQ', "State machine annotation queue debugging")
+DebugFlag('AnnotateVerbose', "Dump all state machine annotation details")
+DebugFlag('GDBAcc', "Remote debugger accesses")
+DebugFlag('GDBExtra', "Dump extra information on reads and writes")
+DebugFlag('GDBMisc', "Breakpoints, traps, watchpoints, etc.")
+DebugFlag('GDBRead', "Reads to the remote address space")
+DebugFlag('GDBRecv', "Messages received from the remote application")
+DebugFlag('GDBSend', "Messages sent to the remote application")
+DebugFlag('GDBWrite', "Writes to the remote address space")
+DebugFlag('SQL', "SQL queries sent to the server")
+DebugFlag('Stats', "Statistics management")
+DebugFlag('StatEvents', "Statistics event tracking")
 
-if env['USE_MYSQL']:
-    Source('mysql.cc')
-    Source('stats/mysql.cc')
+CompoundFlag('GDBAll',
+    [ 'GDBMisc', 'GDBAcc', 'GDBRead', 'GDBWrite', 'GDBSend', 'GDBRecv',
+      'GDBExtra' ],
+    desc="All Remote debugging flags")
+CompoundFlag('AnnotateAll', ['Annotate', 'AnnotateQ', 'AnnotateVerbose'],
+    desc="All Annotation flags")
 
-PySource('m5', 'traceflags.py')
+DebugFormatFlag('FmtFlag',
+    "Show the --debug-flag that enabled each debug message")
+DebugFormatFlag('FmtStackTrace',
+    "Print a stack trace after every debug message")
+DebugFormatFlag('FmtTicksOff', "Don't show tick count on debug messages")