SConscript revision 8335
16167SN/A# -*- mode:python -*- 26167SN/A 36167SN/A# Copyright (c) 2009 ARM Limited 410036SAli.Saidi@ARM.com# All rights reserved. 58835SAli.Saidi@ARM.com# 610036SAli.Saidi@ARM.com# The license below extends only to copyright in the software and shall 77935SN/A# not be construed as granting a license to any other intellectual 87935SN/A# property including but not limited to intellectual property relating 97935SN/A# to a hardware implementation of the functionality of the software 106167SN/A# licensed hereunder. You may use the software subject to the license 116167SN/A# terms below provided that you ensure that this notice is replicated 126167SN/A# unmodified and in its entirety in all distributions of the software, 1310526Snilay@cs.wisc.edu# modified or unmodified, in source code or in binary form. 148835SAli.Saidi@ARM.com# 159864Snilay@cs.wisc.edu# Copyright (c) 2007-2008 The Florida State University 169864Snilay@cs.wisc.edu# All rights reserved. 1710036SAli.Saidi@ARM.com# 188835SAli.Saidi@ARM.com# Redistribution and use in source and binary forms, with or without 198835SAli.Saidi@ARM.com# modification, are permitted provided that the following conditions are 2010315Snilay@cs.wisc.edu# met: redistributions of source code must retain the above copyright 218835SAli.Saidi@ARM.com# notice, this list of conditions and the following disclaimer; 2210093Snilay@cs.wisc.edu# redistributions in binary form must reproduce the above copyright 237935SN/A# notice, this list of conditions and the following disclaimer in the 249864Snilay@cs.wisc.edu# documentation and/or other materials provided with the distribution; 2510526Snilay@cs.wisc.edu# neither the name of the copyright holders nor the names of its 2610736Snilay@cs.wisc.edu# contributors may be used to endorse or promote products derived from 278721SN/A# this software without specific prior written permission. 288835SAli.Saidi@ARM.com# 298835SAli.Saidi@ARM.com# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 307935SN/A# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 317935SN/A# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 327935SN/A# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 337935SN/A# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 347935SN/A# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 357935SN/A# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 367935SN/A# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 378983Snate@binkert.org# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 386167SN/A# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 399864Snilay@cs.wisc.edu# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 409864Snilay@cs.wisc.edu# 419864Snilay@cs.wisc.edu# Authors: Stephen Hines 4210315Snilay@cs.wisc.edu# Ali Saidi 4310036SAli.Saidi@ARM.com 4410315Snilay@cs.wisc.eduImport('*') 459864Snilay@cs.wisc.edu 469864Snilay@cs.wisc.eduif env['TARGET_ISA'] == 'arm': 476167SN/A# Workaround for bug in SCons version > 0.97d20071212 486167SN/A# Scons bug id: 2006 M5 Bug id: 308 499864Snilay@cs.wisc.edu Dir('isa/formats') 5010093Snilay@cs.wisc.edu Source('faults.cc') 516167SN/A Source('insts/macromem.cc') 529864Snilay@cs.wisc.edu Source('insts/mem.cc') 536167SN/A Source('insts/misc.cc') 546167SN/A Source('insts/pred_inst.cc') 558835SAli.Saidi@ARM.com Source('insts/static_inst.cc') 566167SN/A Source('insts/vfp.cc') 576167SN/A Source('isa.cc') 5810036SAli.Saidi@ARM.com Source('miscregs.cc') 596167SN/A Source('predecoder.cc') 606167SN/A Source('nativetrace.cc') 618835SAli.Saidi@ARM.com Source('tlb.cc') 629469Snilay@cs.wisc.edu Source('utility.cc') 636167SN/A Source('remote_gdb.cc') 646167SN/A 656167SN/A SimObject('ArmNativeTrace.py') 666167SN/A SimObject('ArmTLB.py') 676167SN/A 686167SN/A DebugFlag('Arm') 698835SAli.Saidi@ARM.com DebugFlag('TLBVerbose') 706167SN/A DebugFlag('Faults', "Trace Exceptions, interrupts, svc/swi") 719864Snilay@cs.wisc.edu DebugFlag('Predecoder', "Instructions returned by the predecoder") 7210229Snilay@cs.wisc.edu if env['FULL_SYSTEM']: 739469Snilay@cs.wisc.edu Source('interrupts.cc') 746167SN/A Source('stacktrace.cc') 756167SN/A Source('system.cc') 766167SN/A Source('vtophys.cc') 779469Snilay@cs.wisc.edu Source('linux/system.cc') 789469Snilay@cs.wisc.edu Source('table_walker.cc') 796167SN/A 809864Snilay@cs.wisc.edu SimObject('ArmInterrupts.py') 819864Snilay@cs.wisc.edu SimObject('ArmSystem.py') 829864Snilay@cs.wisc.edu else: 8310315Snilay@cs.wisc.edu Source('process.cc') 8410036SAli.Saidi@ARM.com Source('linux/linux.cc') 8510315Snilay@cs.wisc.edu Source('linux/process.cc') 869864Snilay@cs.wisc.edu 879864Snilay@cs.wisc.edu # Add in files generated by the ISA description. 886167SN/A isa_desc_files = env.ISADesc('isa/main.isa') 896167SN/A # Only non-header files need to be compiled. 9010036SAli.Saidi@ARM.com for f in isa_desc_files: 916167SN/A if not f.path.endswith('.hh'): 926167SN/A Source(f) 938835SAli.Saidi@ARM.com 948835SAli.Saidi@ARM.com