Merge zizzer:/bk/newmem
[gem5.git] / src / SConscript
index 44bcb5320b6e898cf7241a7563e357e8db9b8d6c..2a61100c135dc4c6104c98a2021f0556e1a953e5 100644 (file)
@@ -62,6 +62,7 @@ base_sources = Split('''
        base/pollevent.cc
        base/range.cc
        base/random.cc
+       base/remote_gdb.cc
        base/sat_counter.cc
        base/socket.cc
        base/statistics.cc
@@ -108,16 +109,15 @@ base_sources = Split('''
         mem/cache/coherence/coherence_protocol.cc
         mem/cache/coherence/uni_coherence.cc
         mem/cache/miss/blocking_buffer.cc
+        mem/cache/miss/miss_buffer.cc
         mem/cache/miss/miss_queue.cc
         mem/cache/miss/mshr.cc
         mem/cache/miss/mshr_queue.cc
         mem/cache/prefetch/base_prefetcher.cc
         mem/cache/prefetch/ghb_prefetcher.cc
-        mem/cache/prefetch/prefetcher.cc
         mem/cache/prefetch/stride_prefetcher.cc
         mem/cache/prefetch/tagged_prefetcher.cc
         mem/cache/tags/base_tags.cc
-        mem/cache/tags/cache_tags.cc
         mem/cache/tags/fa_lru.cc
         mem/cache/tags/iic.cc
         mem/cache/tags/lru.cc
@@ -129,12 +129,17 @@ base_sources = Split('''
 
         mem/cache/cache_builder.cc
 
+        python/swig/init.cc
+        python/swig/debug_wrap.cc
+        python/swig/main_wrap.cc
+        python/swig/event_wrap.cc
+        python/swig/pyevent.cc
+
        sim/builder.cc
        sim/debug.cc
        sim/eventq.cc
        sim/faults.cc
        sim/main.cc
-        python/swig/cc_main_wrap.cc
        sim/param.cc
        sim/root.cc
        sim/serialize.cc
@@ -168,7 +173,6 @@ mysql_sources = Split('''
 full_system_sources = Split('''
        base/crc.cc
        base/inet.cc
-       base/remote_gdb.cc
 
        cpu/intr_control.cc
         cpu/profile.cc
@@ -307,29 +311,47 @@ def makeEnv(label, objsfx, strip = False, **kwargs):
     envList.append(newEnv)
 
 # Debug binary
-# Solaris seems to have some issue with DWARF2 debugging information, it's ok
-# with stabs though
-if sys.platform == 'sunos5':
-   debug_flag = '-gstabs+'
+ccflags = {}
+if env['GCC']:
+    if sys.platform == 'sunos5':
+        ccflags['debug'] = '-gstabs+'
+    else:
+        ccflags['debug'] = '-ggdb3'
+    ccflags['opt'] = '-g -O3'
+    ccflags['fast'] = '-O3'
+    ccflags['prof'] = '-O3 -g -pg'
+elif env['SUNCC']:
+    ccflags['debug'] = '-g0'
+    ccflags['opt'] = '-g -O'
+    ccflags['fast'] = '-fast'
+    ccflags['prof'] = '-fast -g -pg'
+elif env['ICC']:
+    ccflags['debug'] = '-g -O0'
+    ccflags['opt'] = '-g -O'
+    ccflags['fast'] = '-fast'
+    ccflags['prof'] = '-fast -g -pg'
 else:
-   debug_flag = '-ggdb3'
+    print 'Unknown compiler, please fix compiler options'
+    Exit(1)    
 
 makeEnv('debug', '.do',
-        CCFLAGS = Split('%s -O0' % debug_flag),
-        CPPDEFINES = 'DEBUG')
+        CCFLAGS = Split(ccflags['debug']),
+        CPPDEFINES = ['DEBUG', 'TRACING_ON=1'])
 
 # Optimized binary
 makeEnv('opt', '.o',
-        CCFLAGS = Split('-g -O3'))
+        CCFLAGS = Split(ccflags['opt']),
+        CPPDEFINES = ['TRACING_ON=1'])
 
 # "Fast" binary
 makeEnv('fast', '.fo', strip = True,
-        CCFLAGS = Split('-O3'),
-        CPPDEFINES = 'NDEBUG')
+        CCFLAGS = Split(ccflags['fast']),
+        CPPDEFINES = ['NDEBUG', 'TRACING_ON=0'])
 
 # Profiled binary
 makeEnv('prof', '.po',
-        CCFLAGS = Split('-O3 -g -pg'),
+        CCFLAGS = Split(ccflags['prof']),
+        CPPDEFINES = ['NDEBUG', 'TRACING_ON=0'],
         LINKFLAGS = '-pg')
 
 Return('envList')