1# Copyright (c) 2013, 2015-2017 ARM Limited 2# All rights reserved. 3# 4# The license below extends only to copyright in the software and shall 5# not be construed as granting a license to any other intellectual 6# property including but not limited to intellectual property relating 7# to a hardware implementation of the functionality of the software 8# licensed hereunder. You may use the software subject to the license --- 25 unchanged lines hidden (view full) --- 34# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 35# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 36# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 37# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 38# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 39# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 40 41import os |
42import sys |
43 44import SCons.Tool 45import SCons.Tool.default 46 |
47from gem5_python_paths import extra_python_paths 48 |
49def common_config(env): 50 # export TERM so that clang reports errors in color 51 use_vars = set([ 'AS', 'AR', 'CC', 'CXX', 'HOME', 'LD_LIBRARY_PATH', 52 'LIBRARY_PATH', 'PATH', 'PKG_CONFIG_PATH', 'PROTOC', 53 'PYTHONPATH', 'RANLIB', 'TERM' ]) 54 55 use_prefixes = [ 56 "ASAN_", # address sanitizer symbolizer path and settings --- 12 unchanged lines hidden (view full) --- 69 # Tell scons to avoid implicit command dependencies to avoid issues 70 # with the param wrappes being compiled twice (see 71 # http://scons.tigris.org/issues/show_bug.cgi?id=2811) 72 env['IMPLICIT_COMMAND_DEPENDENCIES'] = 0 73 env.Decider('MD5-timestamp') 74 env.root = env.Dir('#') 75 env.srcdir = env.root.Dir('src') 76 |
77 # add useful python code PYTHONPATH so it can be used by subprocesses 78 # as well 79 env.AppendENVPath('PYTHONPATH', extra_python_paths) 80 |
81gem5_tool_list = [ 82 'git', 83 'mercurial', 84] 85 86def generate(env): 87 common_config(env) 88 SCons.Tool.default.generate(env) 89 for tool in gem5_tool_list: 90 SCons.Tool.Tool(tool)(env) 91 92def exists(env): 93 return 1 |