| From 32e35a2f179d1b036d2eb699d77f869f7787f36b Mon Sep 17 00:00:00 2001 |
| From: Adrian Herrera <adrian.herrera@arm.com> |
| Date: Tue, 8 Dec 2020 20:12:55 +0000 |
| Subject: [PATCH] util: m5ops, optional extra build flags |
| |
| This increases compilation control for users. Main use case is building |
| m5ops as part of an image distribution. Specifying a different sysroot |
| or dynamic linker may be required when the cross toolchain is built as |
| part of the process. |
| |
| Change-Id: Icbd3faa92ea6e084fc4a9b2db83129bce73faf21 |
| Signed-off-by: Adrian Herrera <adrian.herrera@arm.com> |
| Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/38416 |
| Reviewed-by: Jason Lowe-Power <power.jg@gmail.com> |
| Reviewed-by: Gabe Black <gabe.black@gmail.com> |
| Maintainer: Jason Lowe-Power <power.jg@gmail.com> |
| Tested-by: kokoro <noreply+kokoro@google.com> |
| |
| Upstream-Status: Accepted [https://gem5-review.googlesource.com/c/public/gem5/+/38416] |
| Expected version: v20.2 |
| --- |
| util/m5/SConstruct | 14 +++++++++++--- |
| 1 file changed, 11 insertions(+), 3 deletions(-) |
| |
| diff --git a/util/m5/SConstruct b/util/m5/SConstruct |
| index bbae8d9bbf..a37573d763 100644 |
| --- a/util/m5/SConstruct |
| +++ b/util/m5/SConstruct |
| @@ -136,16 +136,24 @@ for root, dirs, files in os.walk(abspath(src_dir)): |
| # |
| # This also considers scons command line settings which may look like |
| # environment variables, but are set after "scons" on the command line. |
| - def get_abi_opt(name, default): |
| + def _extract_abi_opt_val(name, default): |
| var_name = env.subst('${ABI}.%s' % name) |
| - env[name] = os.environ.get( |
| - var_name, ARGUMENTS.get(var_name, default)) |
| + return os.environ.get(var_name, ARGUMENTS.get(var_name, default)) |
| + def get_abi_opt(name, default): |
| + env[name] = _extract_abi_opt_val(name, default) |
| + def append_abi_opt(name): |
| + env.Append(**{ name: _extract_abi_opt_val(name, '') }) |
| |
| # Process the ABI's settings in the SConsopts file, storing them |
| # in a copy of the primary environment. |
| env.SConscript(Dir(root).File('SConsopts'), |
| exports=[ 'env', 'get_abi_opt' ]) |
| |
| + # The user can pass extra build flags for each ABI |
| + append_abi_opt('CCFLAGS') |
| + append_abi_opt('CXXFLAGS') |
| + append_abi_opt('LINKFLAGS') |
| + |
| # Once all the options have been configured, set up build targets for |
| # this abi. |
| abi_dir = build_dir.Dir(env.subst('${ABI}')) |
| -- |
| 2.17.1 |
| |