SConscript revision 3546
13546Sgblack@eecs.umich.edu# -*- mode:python -*- 23546Sgblack@eecs.umich.edu 33546Sgblack@eecs.umich.edu# Copyright (c) 2006 The Regents of The University of Michigan 43546Sgblack@eecs.umich.edu# All rights reserved. 53546Sgblack@eecs.umich.edu# 63546Sgblack@eecs.umich.edu# Redistribution and use in source and binary forms, with or without 73546Sgblack@eecs.umich.edu# modification, are permitted provided that the following conditions are 83546Sgblack@eecs.umich.edu# met: redistributions of source code must retain the above copyright 93546Sgblack@eecs.umich.edu# notice, this list of conditions and the following disclaimer; 103546Sgblack@eecs.umich.edu# redistributions in binary form must reproduce the above copyright 113546Sgblack@eecs.umich.edu# notice, this list of conditions and the following disclaimer in the 123546Sgblack@eecs.umich.edu# documentation and/or other materials provided with the distribution; 133546Sgblack@eecs.umich.edu# neither the name of the copyright holders nor the names of its 143546Sgblack@eecs.umich.edu# contributors may be used to endorse or promote products derived from 153546Sgblack@eecs.umich.edu# this software without specific prior written permission. 163546Sgblack@eecs.umich.edu# 173546Sgblack@eecs.umich.edu# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 183546Sgblack@eecs.umich.edu# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 193546Sgblack@eecs.umich.edu# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 203546Sgblack@eecs.umich.edu# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 213546Sgblack@eecs.umich.edu# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 223546Sgblack@eecs.umich.edu# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 233546Sgblack@eecs.umich.edu# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 243546Sgblack@eecs.umich.edu# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 253546Sgblack@eecs.umich.edu# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 263546Sgblack@eecs.umich.edu# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 273546Sgblack@eecs.umich.edu# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 283546Sgblack@eecs.umich.edu# 293546Sgblack@eecs.umich.edu# Authors: Steve Reinhardt 303546Sgblack@eecs.umich.edu 313546Sgblack@eecs.umich.eduimport os.path, sys 323546Sgblack@eecs.umich.edu 333546Sgblack@eecs.umich.edu# Import build environment variable from SConstruct. 343546Sgblack@eecs.umich.eduImport('env') 353546Sgblack@eecs.umich.edu 363546Sgblack@eecs.umich.edusources = Split(''' 373546Sgblack@eecs.umich.edu base_kernel_stats.cc 383546Sgblack@eecs.umich.edu system_events.cc 393546Sgblack@eecs.umich.edu linux/events.cc 403546Sgblack@eecs.umich.edu linux/linux_syscalls.cc 413546Sgblack@eecs.umich.edu linux/printk.cc 423546Sgblack@eecs.umich.edu ''') 433546Sgblack@eecs.umich.edu 443546Sgblack@eecs.umich.edu# Convert file names to SCons File objects. This takes care of the 453546Sgblack@eecs.umich.edu# path relative to the top of the directory tree. 463546Sgblack@eecs.umich.edusources = [File(s) for s in sources] 473546Sgblack@eecs.umich.edu 483546Sgblack@eecs.umich.edu################################################################# 493546Sgblack@eecs.umich.edu# 503546Sgblack@eecs.umich.edu# ISA "switch header" generation. 513546Sgblack@eecs.umich.edu# 523546Sgblack@eecs.umich.edu# Auto-generate arch headers that include the right ISA-specific 533546Sgblack@eecs.umich.edu# header based on the setting of THE_ISA preprocessor variable. 543546Sgblack@eecs.umich.edu# 553546Sgblack@eecs.umich.edu################################################################# 563546Sgblack@eecs.umich.edu 573546Sgblack@eecs.umich.edu# List of headers to generate 583546Sgblack@eecs.umich.edukern_switch_hdrs = Split(''' 593546Sgblack@eecs.umich.edu kernel_stats.hh 603546Sgblack@eecs.umich.edu ''') 613546Sgblack@eecs.umich.edu 623546Sgblack@eecs.umich.eduenv.make_switching_dir('kern', kern_switch_hdrs, env) 633546Sgblack@eecs.umich.edu 643546Sgblack@eecs.umich.eduisa = env['TARGET_ISA'] # someday this may be a list of ISAs 653546Sgblack@eecs.umich.edu 663546Sgblack@eecs.umich.edu# Let the target architecture define what additional sources it needs 673546Sgblack@eecs.umich.edusources += SConscript(os.path.join(isa, 'SConscript'), exports = 'env') 683546Sgblack@eecs.umich.edu 693546Sgblack@eecs.umich.eduReturn('sources') 70