import os
import sys
+from os.path import isdir
# This file defines how to build a particular configuration of M5
# based on variable settings in the 'env' build environment.
arch/alpha/full_cpu_exec.cc
arch/alpha/faults.cc
arch/alpha/isa_traits.cc
+ arch/alpha/ooo_cpu_exec.cc
base/circlebuf.cc
base/copyright.cc
base/intmath.cc
base/match.cc
base/misc.cc
+ base/output.cc
base/pollevent.cc
base/python.cc
base/range.cc
cpu/beta_cpu/rename.cc
cpu/beta_cpu/rename_map.cc
cpu/beta_cpu/rob.cc
+ cpu/beta_cpu/sat_counter.cc
cpu/beta_cpu/store_set.cc
cpu/beta_cpu/tournament_pred.cc
cpu/fast_cpu/fast_cpu.cc
cpu/full_cpu/ls_queue.cc
cpu/full_cpu/machine_queue.cc
cpu/full_cpu/pc_sample_profile.cc
- cpu/full_cpu/pipetrace.cc
- cpu/full_cpu/readyq.cc
- cpu/full_cpu/reg_info.cc
- cpu/full_cpu/rob_station.cc
- cpu/full_cpu/spec_memory.cc
- cpu/full_cpu/spec_state.cc
- cpu/full_cpu/storebuffer.cc
- cpu/full_cpu/writeback.cc
- cpu/full_cpu/iq/iq_station.cc
- cpu/full_cpu/iq/iqueue.cc
- cpu/full_cpu/iq/segmented/chain_info.cc
- cpu/full_cpu/iq/segmented/chain_wire.cc
- cpu/full_cpu/iq/segmented/iq_seg.cc
- cpu/full_cpu/iq/segmented/iq_segmented.cc
- cpu/full_cpu/iq/segmented/seg_chain.cc
- cpu/full_cpu/iq/seznec/iq_seznec.cc
- cpu/full_cpu/iq/standard/iq_standard.cc
- cpu/sampling_cpu/sampling_cpu.cc
- cpu/simple_cpu/simple_cpu.cc
- cpu/inorder_cpu/inorder_cpu.cc
- cpu/trace/reader/mem_trace_reader.cc
- cpu/trace/reader/ibm_reader.cc
- cpu/trace/reader/itx_reader.cc
- cpu/trace/reader/m5_reader.cc
+ cpu/full_cpu/pipetrace.cc
+ cpu/full_cpu/readyq.cc
+ cpu/full_cpu/reg_info.cc
+ cpu/full_cpu/rob_station.cc
+ cpu/full_cpu/spec_memory.cc
+ cpu/full_cpu/spec_state.cc
+ cpu/full_cpu/storebuffer.cc
+ cpu/full_cpu/writeback.cc
+ cpu/full_cpu/iq/iq_station.cc
+ cpu/full_cpu/iq/iqueue.cc
+ cpu/full_cpu/iq/segmented/chain_info.cc
+ cpu/full_cpu/iq/segmented/chain_wire.cc
+ cpu/full_cpu/iq/segmented/iq_seg.cc
+ cpu/full_cpu/iq/segmented/iq_segmented.cc
+ cpu/full_cpu/iq/segmented/seg_chain.cc
+ cpu/full_cpu/iq/seznec/iq_seznec.cc
+ cpu/full_cpu/iq/standard/iq_standard.cc
+ cpu/inorder_cpu/inorder_cpu.cc
+ cpu/ooo_cpu/ea_list.cc
+ cpu/ooo_cpu/ooo_cpu.cc
+ cpu/ooo_cpu/ooo_dyn_inst.cc
+ cpu/ooo_cpu/ooo_sim_obj.cc
+ cpu/sampling_cpu/sampling_cpu.cc
+ cpu/simple_cpu/simple_cpu.cc
+ cpu/trace/reader/mem_trace_reader.cc
+ cpu/trace/reader/ibm_reader.cc
+ cpu/trace/reader/itx_reader.cc
+ cpu/trace/reader/m5_reader.cc
mem/base_hier.cc
mem/base_mem.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/trace/mem_trace_writer.cc
mem/trace/m5_writer.cc
+ python/pyconfig.cc
+ python/embedded_py.cc
+
sim/builder.cc
sim/configfile.cc
sim/debug.cc
sim/stat_control.cc
sim/trace_context.cc
sim/universe.cc
- sim/pyconfig/pyconfig.cc
- sim/pyconfig/embedded_py.cc
''')
# MySql sources
extra_libraries = []
env.Append(LIBS=['z'])
-if env['USE_MYSQL']:
+if isdir('/usr/lib64/mysql') or isdir('/usr/lib/mysql') or \
+ isdir('/usr/local/lib/mysql'):
+ print 'Compiling with MySQL support!'
+ env.Append(LIBPATH=['/usr/lib64/mysql', '/usr/local/lib/mysql/',
+ '/usr/lib/mysql'])
+ env.Append(CPPPATH=['/usr/local/include/mysql', '/usr/include/mysql'])
sources += mysql_sources
env.Append(CPPDEFINES = 'USE_MYSQL')
env.Append(CPPDEFINES = 'STATS_BINNING')
- env.Append(CPPPATH=['/usr/local/include/mysql', '/usr/include/mysql'])
- if os.path.isdir('/usr/lib64'):
- env.Append(LIBPATH=['/usr/lib64/mysql'])
- else:
- env.Append(LIBPATH=['/usr/lib/mysql/'])
env.Append(LIBS=['mysqlclient'])
-
###################################################
#
# Special build rules.
arch/alpha/fast_cpu_exec.cc
arch/alpha/simple_cpu_exec.cc
arch/alpha/inorder_cpu_exec.cc
- arch/alpha/full_cpu_exec.cc'''),
+ arch/alpha/full_cpu_exec.cc
+ arch/alpha/ooo_cpu_exec.cc'''),
Split('''arch/alpha/isa_desc
arch/isa_parser.py'''),
'$SRCDIR/arch/isa_parser.py $SOURCE $TARGET.dir arch/alpha')
# SConscript-local is the per-config build, which just copies some
# header files into a place where they can be found.
SConscript('libelf/SConscript-local', exports = 'env', duplicate=0)
-SConscript('sim/pyconfig/SConscript', exports = ['env'], duplicate=0)
-
+SConscript('python/SConscript', exports = ['env'], duplicate=0)
+SConscript('simobj/SConscript', exports = 'env', duplicate=0)
# This function adds the specified sources to the given build
# environment, and returns a list of all the corresponding SCons
# Debug binary
debug = env.Copy(OBJSUFFIX='.do')
-debug.Append(CCFLAGS=Split('-g -gstabs+ -O0 -lefence'))
+debug.Append(CCFLAGS=Split('-g -gstabs+ -O0'))
debug.Append(CPPDEFINES='DEBUG')
debug.Program(target = 'm5.debug', source = make_objs(sources, debug))