summaryrefslogtreecommitdiff
path: root/SConstruct
diff options
context:
space:
mode:
authorCiro Santilli <ciro.santilli@arm.com>2019-05-21 13:19:24 +0100
committerCiro Santilli <ciro.santilli@arm.com>2019-06-10 10:12:02 +0000
commitec50225a654ddaedfcc6608409af496bab1d41c1 (patch)
tree3886c212c6966fffe340785d1975e33224cb4984 /SConstruct
parentc1e040d81aa6fe0dcd9ecce1d4bf4b3cef60f894 (diff)
downloadgem5-ec50225a654ddaedfcc6608409af496bab1d41c1.tar.xz
scons: allow passing arbitrary CCFLAGS and LDFLAGS from the CLI
The flags may be passed as: scons CCFLAGS_EXTRA='-Wno-error -pedantic' \ LDFLAGS_EXTRA='-g -g' build/<arch>/gem5.opt The initial motivation for this commit is to help disable warning that have become errors while bisecting. scons orders the flags by Append call order, and ideally these flags should be added last to override the others, since the last GCC flags take precedence. However I haven't found a simple way to put them at the very end. Change-Id: Ida24dfb9604d88b99f113392ab5e47d578ba7259 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/19048 Reviewed-by: Juha Jäykkä <juha.jaykka@arm.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Maintainer: Jason Lowe-Power <jason@lowepower.com> Tested-by: kokoro <noreply+kokoro@google.com>
Diffstat (limited to 'SConstruct')
-rwxr-xr-xSConstruct7
1 files changed, 6 insertions, 1 deletions
diff --git a/SConstruct b/SConstruct
index 28999a5b5..9e27b484c 100755
--- a/SConstruct
+++ b/SConstruct
@@ -1,6 +1,6 @@
# -*- mode:python -*-
-# Copyright (c) 2013, 2015-2017 ARM Limited
+# Copyright (c) 2013, 2015-2017, 2019 ARM Limited
# All rights reserved.
#
# The license below extends only to copyright in the software and shall
@@ -290,6 +290,8 @@ global_vars = Variables(global_vars_file, args=ARGUMENTS)
global_vars.AddVariables(
('CC', 'C compiler', environ.get('CC', main['CC'])),
('CXX', 'C++ compiler', environ.get('CXX', main['CXX'])),
+ ('CCFLAGS_EXTRA', 'Extra C and C++ compiler flags', ''),
+ ('LDFLAGS_EXTRA', 'Extra linker flags', ''),
('PYTHON_CONFIG', 'Python config binary to use',
[ 'python2.7-config', 'python-config' ]),
('PROTOC', 'protoc tool', environ.get('PROTOC', 'protoc')),
@@ -1285,6 +1287,9 @@ for variant_path in variant_paths:
if env['USE_SSE2']:
env.Append(CCFLAGS=['-msse2'])
+ env.Append(CCFLAGS='$CCFLAGS_EXTRA')
+ env.Append(LINKFLAGS='$LDFLAGS_EXTRA')
+
# The src/SConscript file sets up the build rules in 'env' according
# to the configured variables. It returns a list of environments,
# one for each variant build (debug, opt, etc.)