From 851e469e55b69533a36de634bd1d1f424b31b07e Mon Sep 17 00:00:00 2001 From: Hoa Nguyen Date: Thu, 13 Apr 2023 14:20:23 -0700 Subject: [PATCH] scons: Add "--no-duplicate-sources" option to SConstruct in util/ Patch [1] caused building util/m5 to fail due to the flag was not an option in the SConstruct file. It is apparently the case for other programs in util/ relying on scons. This patch fixes the above problem, and also adheres to the default behavior introduced by [2]. [1] This patch introduced the "--no-duplicate-sources" flag to the scons build in util/ https://gem5-review.googlesource.com/c/public/gem5/+/68518 [2] This patch turns this flag off by default, https://gem5-review.googlesource.com/c/public/gem5/+/69717 Change-Id: I51376f7b3bf06438b7bc7ff84bc599deecac5bd1 Signed-off-by: Hoa Nguyen Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/69797 Maintainer: Bobby Bruce Reviewed-by: Alex Richardson Tested-by: kokoro Reviewed-by: Ayaz Akram --- util/m5/SConstruct | 3 +++ util/statetrace/SConstruct | 6 ++++++ util/tlm/SConstruct | 6 ++++++ 3 files changed, 15 insertions(+) diff --git a/util/m5/SConstruct b/util/m5/SConstruct index c2c4a50a95..7f07b942fc 100644 --- a/util/m5/SConstruct +++ b/util/m5/SConstruct @@ -49,6 +49,9 @@ AddOption('--debug-build', dest='debug_build', action='store_true', AddOption('--run-tests', dest='run_tests', action='store_true', help='Enable test output xml files as build targets.') AddOption('--verbose', dest='verbose', action='store_true') +AddOption('--no-duplicate-sources', action='store_false', default=True, + dest='duplicate_sources', + help='Do not create symlinks to sources in the build directory') # Universal settings. if GetOption('debug_build'): diff --git a/util/statetrace/SConstruct b/util/statetrace/SConstruct index 945976e8c5..2e1a631a10 100644 --- a/util/statetrace/SConstruct +++ b/util/statetrace/SConstruct @@ -57,6 +57,12 @@ main['CXXFLAGS'] = "-O3 -ggdb $_CPPINCFLAGS" main['CXX'] = ARGUMENTS.get('CXX', main['CXX']) +# An option not to link source files in the build directory. +# Not enabled by default. +AddOption('--no-duplicate-sources', action='store_false', default=True, + dest='duplicate_sources', + help='Do not create symlinks to sources in the build directory') + for arch in arches: env = main.Clone() env['CXX'] = ARGUMENTS.get(arch.upper() + 'CXX', env['CXX']) diff --git a/util/tlm/SConstruct b/util/tlm/SConstruct index 6c65cfddfa..3f4abf8b08 100644 --- a/util/tlm/SConstruct +++ b/util/tlm/SConstruct @@ -80,6 +80,12 @@ sys.path.append(gem5_root + '/src/python') AddOption('--no-colors', dest='use_colors', action='store_false', help="Don't add color to abbreviated scons output") +# An option not to link source files in the build directory. +# Not enabled by default. +AddOption('--no-duplicate-sources', action='store_false', default=True, + dest='duplicate_sources', + help='Do not create symlinks to sources in the build directory') + env.SConsignFile('build/systemc/sconsign') SConscript(gem5_root + '/ext/systemc/SConscript', variant_dir='build/systemc',