X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=SConscript;h=677a06d1fb7948507ad29801185a6b9c7c376acf;hb=36f134786fa0fee9656ccd6c3f2d8e0a84decf26;hp=bb50f1872928db587f89f777312ba71b994039e3;hpb=98ddb850809c7809969ce95408040c354b50e6ce;p=gem5.git diff --git a/SConscript b/SConscript index bb50f1872..677a06d1f 100644 --- a/SConscript +++ b/SConscript @@ -1,6 +1,6 @@ # -*- mode:python -*- -# Copyright (c) 2004 The Regents of The University of Michigan +# Copyright (c) 2004-2005 The Regents of The University of Michigan # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -66,7 +66,6 @@ base_sources = Split(''' base/misc.cc base/output.cc base/pollevent.cc - base/python.cc base/range.cc base/random.cc base/sat_counter.cc @@ -84,7 +83,6 @@ base_sources = Split(''' base/loader/object_file.cc base/loader/symtab.cc base/stats/events.cc - base/stats/python.cc base/stats/statdb.cc base/stats/visit.cc base/stats/text.cc @@ -124,6 +122,8 @@ base_sources = Split(''' cpu/trace/reader/ibm_reader.cc cpu/trace/reader/itx_reader.cc cpu/trace/reader/m5_reader.cc + cpu/trace/opt_cpu.cc + cpu/trace/trace_cpu.cc encumbered/cpu/full/bpred.cc encumbered/cpu/full/commit.cc @@ -143,7 +143,6 @@ base_sources = Split(''' encumbered/cpu/full/issue.cc encumbered/cpu/full/ls_queue.cc encumbered/cpu/full/machine_queue.cc - encumbered/cpu/full/pc_sample_profile.cc encumbered/cpu/full/pipetrace.cc encumbered/cpu/full/readyq.cc encumbered/cpu/full/reg_info.cc @@ -190,20 +189,18 @@ base_sources = Split(''' 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/cache_tags.cc mem/cache/tags/fa_lru.cc mem/cache/tags/iic.cc mem/cache/tags/lru.cc - mem/cache/tags/split.cc - mem/cache/tags/split_lifo.cc - mem/cache/tags/split_lru.cc mem/cache/tags/repl/gen.cc mem/cache/tags/repl/repl.cc + mem/cache/tags/split.cc + mem/cache/tags/split_lru.cc + mem/cache/tags/split_lifo.cc mem/functional/functional.cc mem/timing/base_memory.cc mem/timing/memory_builder.cc @@ -246,6 +243,7 @@ full_system_sources = Split(''' arch/alpha/ev5.cc arch/alpha/osfpal.cc arch/alpha/pseudo_inst.cc + arch/alpha/stacktrace.cc arch/alpha/vtophys.cc base/crc.cc @@ -253,6 +251,7 @@ full_system_sources = Split(''' base/remote_gdb.cc cpu/intr_control.cc + cpu/profile.cc dev/alpha_console.cc dev/baddev.cc @@ -270,39 +269,23 @@ full_system_sources = Split(''' dev/ns_gige.cc dev/pciconfigall.cc dev/pcidev.cc + dev/pcifake.cc dev/pktfifo.cc - dev/platform.cc + dev/platform.cc dev/sinic.cc dev/simple_disk.cc dev/tsunami.cc dev/tsunami_cchip.cc - dev/tsunami_fake.cc + dev/isa_fake.cc dev/tsunami_io.cc dev/tsunami_pchip.cc dev/uart.cc - dev/uart8530.cc dev/uart8250.cc - encumbered/dev/dma.cc - encumbered/dev/etherdev.cc - encumbered/dev/scsi.cc - encumbered/dev/scsi_ctrl.cc - encumbered/dev/scsi_disk.cc - encumbered/dev/scsi_none.cc - encumbered/dev/tlaser_clock.cc - encumbered/dev/tlaser_ipi.cc - encumbered/dev/tlaser_mbox.cc - encumbered/dev/tlaser_mc146818.cc - encumbered/dev/tlaser_node.cc - encumbered/dev/tlaser_pcia.cc - encumbered/dev/tlaser_pcidev.cc - encumbered/dev/tlaser_serial.cc - encumbered/dev/turbolaser.cc - kern/kernel_binning.cc kern/kernel_stats.cc kern/system_events.cc - kern/linux/linux_events.cc + kern/freebsd/freebsd_system.cc kern/linux/linux_syscalls.cc kern/linux/linux_system.cc kern/linux/printk.cc @@ -318,17 +301,35 @@ full_system_sources = Split(''' sim/system.cc ''') +# turbolaser encumbered sources +turbolaser_sources = Split(''' + encumbered/dev/dma.cc + encumbered/dev/etherdev.cc + encumbered/dev/scsi.cc + encumbered/dev/scsi_ctrl.cc + encumbered/dev/scsi_disk.cc + encumbered/dev/scsi_none.cc + encumbered/dev/tlaser_clock.cc + encumbered/dev/tlaser_ipi.cc + encumbered/dev/tlaser_mbox.cc + encumbered/dev/tlaser_mc146818.cc + encumbered/dev/tlaser_node.cc + encumbered/dev/tlaser_pcia.cc + encumbered/dev/tlaser_pcidev.cc + encumbered/dev/tlaser_serial.cc + encumbered/dev/turbolaser.cc + encumbered/dev/uart8530.cc + ''') + # Syscall emulation (non-full-system) sources syscall_emulation_sources = Split(''' arch/alpha/alpha_common_syscall_emul.cc arch/alpha/alpha_linux_process.cc arch/alpha/alpha_tru64_process.cc cpu/memtest/memtest.cc - cpu/trace/opt_cpu.cc - cpu/trace/trace_cpu.cc - eio/eio.cc - eio/exolex.cc - eio/libexo.cc + encumbered/eio/eio.cc + encumbered/eio/exolex.cc + encumbered/eio/libexo.cc sim/process.cc sim/syscall_emul.cc ''') @@ -342,14 +343,13 @@ targetarch_files = Split(''' arguments.hh byte_swap.hh ecoff_machdep.h - elf_machdep.h ev5.hh faults.hh isa_fullsys_traits.hh isa_traits.hh - machine_exo.h osfpal.hh pseudo_inst.hh + stacktrace.hh vptr.hh vtophys.hh ''') @@ -364,21 +364,16 @@ sources = base_sources if env['FULL_SYSTEM']: sources += full_system_sources + if env['ALPHA_TLASER']: + sources += turbolaser_sources else: sources += syscall_emulation_sources -extra_libraries = [] -env.Append(LIBS=['z']) -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']) +if env['USE_MYSQL']: sources += mysql_sources - env.Append(CPPDEFINES = 'USE_MYSQL') - env.Append(CPPDEFINES = 'STATS_BINNING') - env.Append(LIBS=['mysqlclient']) + +for opt in env.ExportOptions: + env.ConfigFile(opt) ################################################### # @@ -422,7 +417,6 @@ def make_objs(sources, env): date_obj = env.Object('base/date.cc') env.Depends(date_obj, objs) objs.append(date_obj) - objs.extend(extra_libraries) return objs ################################################### @@ -439,25 +433,42 @@ def make_objs(sources, env): env.Append(CPPPATH='.') # Debug binary -debug = env.Copy(OBJSUFFIX='.do') -debug.Append(CCFLAGS=Split('-g -gstabs+ -O0')) -debug.Append(CPPDEFINES='DEBUG') -debug.Program(target = 'm5.debug', source = make_objs(sources, debug)) +debugEnv = env.Copy(OBJSUFFIX='.do') +debugEnv.Label = 'debug' +debugEnv.Append(CCFLAGS=Split('-g -gstabs+ -O0')) +debugEnv.Append(CPPDEFINES='DEBUG') +tlist = debugEnv.Program(target = 'm5.debug', + source = make_objs(sources, debugEnv)) +debugEnv.M5Binary = tlist[0] # Optimized binary -opt = env.Copy() -opt.Append(CCFLAGS=Split('-g -O5')) -opt.Program(target = 'm5.opt', source = make_objs(sources, opt)) +optEnv = env.Copy() +optEnv.Label = 'opt' +optEnv.Append(CCFLAGS=Split('-g -O5')) +tlist = optEnv.Program(target = 'm5.opt', + source = make_objs(sources, optEnv)) +optEnv.M5Binary = tlist[0] # "Fast" binary -fast = env.Copy(OBJSUFFIX='.fo') -fast.Append(CCFLAGS=Split('-O5')) -fast.Append(CPPDEFINES='NDEBUG') -fast.Program(target = 'm5.fast.unstripped', source = make_objs(sources, fast)) -fast.Command(target = 'm5.fast', source = 'm5.fast.unstripped', - action = 'strip $SOURCE -o $TARGET') +fastEnv = env.Copy(OBJSUFFIX='.fo') +fastEnv.Label = 'fast' +fastEnv.Append(CCFLAGS=Split('-O5')) +fastEnv.Append(CPPDEFINES='NDEBUG') +fastEnv.Program(target = 'm5.fast.unstripped', + source = make_objs(sources, fastEnv)) +tlist = fastEnv.Command(target = 'm5.fast', + source = 'm5.fast.unstripped', + action = 'strip $SOURCE -o $TARGET') +fastEnv.M5Binary = tlist[0] # Profiled binary -prof = env.Copy(OBJSUFFIX='.po') -prof.Append(CCFLAGS=Split('-O5 -g -pg'), LINKFLAGS='-pg') -prof.Program(target = 'm5.prof', source = make_objs(sources, prof)) +profEnv = env.Copy(OBJSUFFIX='.po') +profEnv.Label = 'prof' +profEnv.Append(CCFLAGS=Split('-O5 -g -pg'), LINKFLAGS='-pg') +tlist = profEnv.Program(target = 'm5.prof', + source = make_objs(sources, profEnv)) +profEnv.M5Binary = tlist[0] + +envList = [debugEnv, optEnv, fastEnv, profEnv] + +Return('envList')