SConsopts revision 13737:78c21fae6047
13914Ssaidi@eecs.umich.edu# Copyright 2018 Google, Inc. 23914Ssaidi@eecs.umich.edu# 33914Ssaidi@eecs.umich.edu# Redistribution and use in source and binary forms, with or without 43914Ssaidi@eecs.umich.edu# modification, are permitted provided that the following conditions are 53914Ssaidi@eecs.umich.edu# met: redistributions of source code must retain the above copyright 63914Ssaidi@eecs.umich.edu# notice, this list of conditions and the following disclaimer; 73914Ssaidi@eecs.umich.edu# redistributions in binary form must reproduce the above copyright 83914Ssaidi@eecs.umich.edu# notice, this list of conditions and the following disclaimer in the 93914Ssaidi@eecs.umich.edu# documentation and/or other materials provided with the distribution; 103914Ssaidi@eecs.umich.edu# neither the name of the copyright holders nor the names of its 113914Ssaidi@eecs.umich.edu# contributors may be used to endorse or promote products derived from 123914Ssaidi@eecs.umich.edu# this software without specific prior written permission. 133914Ssaidi@eecs.umich.edu# 143914Ssaidi@eecs.umich.edu# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 153914Ssaidi@eecs.umich.edu# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 163914Ssaidi@eecs.umich.edu# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 173914Ssaidi@eecs.umich.edu# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 183914Ssaidi@eecs.umich.edu# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 193914Ssaidi@eecs.umich.edu# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 203914Ssaidi@eecs.umich.edu# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 213914Ssaidi@eecs.umich.edu# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 223914Ssaidi@eecs.umich.edu# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 233914Ssaidi@eecs.umich.edu# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 243914Ssaidi@eecs.umich.edu# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 253914Ssaidi@eecs.umich.edu# 263914Ssaidi@eecs.umich.edu# Authors: Gabe Black 273914Ssaidi@eecs.umich.edu 283914Ssaidi@eecs.umich.eduImport('*') 293914Ssaidi@eecs.umich.edu 303914Ssaidi@eecs.umich.edufrom m5.util import compareVersions 313914Ssaidi@eecs.umich.edufrom m5.util.terminal import termcap 323914Ssaidi@eecs.umich.edu 333914Ssaidi@eecs.umich.edudef use_systemc_check(env, warn=False): 3411793Sbrandon.potter@amd.com if ('GCC_VERSION' in env and 3511793Sbrandon.potter@amd.com compareVersions(env['GCC_VERSION'], '5.0') < 0): 363914Ssaidi@eecs.umich.edu if warn: 373914Ssaidi@eecs.umich.edu print(termcap.Yellow + termcap.Bold + 383914Ssaidi@eecs.umich.edu 'Warning: Systemc may not work on gcc versions less ' 393914Ssaidi@eecs.umich.edu 'than 5.0.' + termcap.Normal) 403914Ssaidi@eecs.umich.edu return False 413914Ssaidi@eecs.umich.edu elif env['PLATFORM'] == 'darwin': 424762Snate@binkert.org if warn: 433914Ssaidi@eecs.umich.edu print(termcap.Yellow + termcap.Bold + 446658Snate@binkert.org 'Warning: Systemc may not work on Mac OS.' + termcap.Normal) 453914Ssaidi@eecs.umich.edu return False 463914Ssaidi@eecs.umich.edu return True 473914Ssaidi@eecs.umich.edu 483914Ssaidi@eecs.umich.edumain.AddMethod(use_systemc_check, 'UseSystemcCheck') 493914Ssaidi@eecs.umich.edu 503914Ssaidi@eecs.umich.edusticky_vars.AddVariables( 513914Ssaidi@eecs.umich.edu BoolVariable('USE_SYSTEMC', 'Enable SystemC API support', 523914Ssaidi@eecs.umich.edu main.UseSystemcCheck()) 534762Snate@binkert.org ) 549808Sstever@gmail.com 553914Ssaidi@eecs.umich.eduexport_vars.append('USE_SYSTEMC') 564762Snate@binkert.org