SConscript revision 13784:1941dc118243
1# -*- mode:python -*- 2 3# Copyright (c) 2006 The Regents of The University of Michigan 4# All rights reserved. 5# 6# Redistribution and use in source and binary forms, with or without 7# modification, are permitted provided that the following conditions are 8# met: redistributions of source code must retain the above copyright 9# notice, this list of conditions and the following disclaimer; 10# redistributions in binary form must reproduce the above copyright 11# notice, this list of conditions and the following disclaimer in the 12# documentation and/or other materials provided with the distribution; 13# neither the name of the copyright holders nor the names of its 14# contributors may be used to endorse or promote products derived from 15# this software without specific prior written permission. 16# 17# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28# 29# Authors: Nathan Binkert 30 31Import('*') 32 33SimObject('ClockedObject.py') 34SimObject('TickedObject.py') 35SimObject('Root.py') 36SimObject('ClockDomain.py') 37SimObject('VoltageDomain.py') 38SimObject('System.py') 39SimObject('DVFSHandler.py') 40SimObject('SubSystem.py') 41 42Source('arguments.cc') 43Source('async.cc') 44Source('backtrace_%s.cc' % env['BACKTRACE_IMPL']) 45Source('core.cc') 46Source('tags.cc') 47Source('cxx_config.cc') 48Source('cxx_manager.cc') 49Source('cxx_config_ini.cc') 50Source('debug.cc') 51Source('py_interact.cc', add_tags='python') 52Source('eventq.cc') 53Source('global_event.cc') 54Source('init.cc', add_tags='python') 55Source('init_signals.cc') 56Source('main.cc', tags='main') 57Source('port.cc') 58Source('python.cc', add_tags='python') 59Source('root.cc') 60Source('serialize.cc') 61Source('drain.cc') 62Source('sim_events.cc') 63Source('sim_object.cc') 64Source('sub_system.cc') 65Source('ticked_object.cc') 66Source('simulate.cc') 67Source('stat_control.cc') 68Source('stat_register.cc', add_tags='python') 69Source('clock_domain.cc') 70Source('voltage_domain.cc') 71Source('se_signal.cc') 72Source('linear_solver.cc') 73Source('system.cc') 74Source('dvfs_handler.cc') 75Source('clocked_object.cc') 76Source('mathexpr.cc') 77 78if env['TARGET_ISA'] != 'null': 79 SimObject('InstTracer.py') 80 SimObject('Process.py') 81 Source('aux_vector.cc') 82 Source('faults.cc') 83 Source('process.cc') 84 Source('fd_array.cc') 85 Source('fd_entry.cc') 86 Source('pseudo_inst.cc') 87 Source('syscall_emul.cc') 88 Source('syscall_desc.cc') 89 90if env['TARGET_ISA'] != 'x86': 91 Source('microcode_rom.cc') 92 93DebugFlag('Checkpoint') 94DebugFlag('Config') 95DebugFlag('CxxConfig') 96DebugFlag('Drain') 97DebugFlag('Event') 98DebugFlag('Fault') 99DebugFlag('Flow') 100DebugFlag('IPI') 101DebugFlag('IPR') 102DebugFlag('Interrupt') 103DebugFlag('Loader') 104DebugFlag('PseudoInst') 105DebugFlag('Stack') 106DebugFlag('SyscallBase') 107DebugFlag('SyscallVerbose') 108DebugFlag('TimeSync') 109DebugFlag('Thread') 110DebugFlag('Timer') 111DebugFlag('VtoPhys') 112DebugFlag('WorkItems') 113DebugFlag('ClockDomain') 114DebugFlag('VoltageDomain') 115DebugFlag('DVFS') 116 117CompoundFlag('SyscallAll', [ 'SyscallBase', 'SyscallVerbose']) 118