scons: Move the build of ext/ into the variant dirs.
These are no longer split out and shared in the root build/ directory. This does result in a small amount of overhead from building redundant copies of these files, although the overhead is not significant. When building 7 different variants of gem5, all the ISAs and NULL, the difference on my machine was: Before: real 41m25.372s user 914m22.266s sys 41m51.816s After: real 42m38.074s user 921m36.852s sys 43m2.949s This is about a 2-3% difference, which is a worse than typical case, since the overhead scales with the number of variants being built. The benefit of pulling ext/ into the variant directory is that there can now be a single config which applies to all files used to build gem5, and that config is represented by the variant of gem5 being built. Change-Id: I6f0db97c63a7f3e252e7e351aa862340978e701b Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/56750 Maintainer: Gabe Black <gabe.black@gmail.com> Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Gabe Black <gabe.black@gmail.com>
This commit is contained in:
@@ -31,19 +31,19 @@
|
||||
|
||||
import os
|
||||
|
||||
Import('main')
|
||||
Import('env')
|
||||
|
||||
env = main.Clone()
|
||||
if env['GCC']:
|
||||
env.Append(CCFLAGS=['-Wno-unused-variable',
|
||||
'-Wno-unused-label',
|
||||
'-Wno-implicit-fallthrough',
|
||||
'-g'])
|
||||
sf_env = env.Clone()
|
||||
if sf_env['GCC']:
|
||||
sf_env.Append(CCFLAGS=['-Wno-unused-variable',
|
||||
'-Wno-unused-label',
|
||||
'-Wno-implicit-fallthrough',
|
||||
'-g'])
|
||||
|
||||
elif env['CLANG']:
|
||||
env.Append(CCFLAGS=['-Wno-unused-variable',
|
||||
'-Wno-unused-label',
|
||||
'-g'])
|
||||
elif sf_env['CLANG']:
|
||||
sf_env.Append(CCFLAGS=['-Wno-unused-variable',
|
||||
'-Wno-unused-label',
|
||||
'-g'])
|
||||
|
||||
# Add the appropriate files for the library
|
||||
softfloat_files = []
|
||||
@@ -271,8 +271,8 @@ SoftfloatFile('ui64_to_f16.c')
|
||||
SoftfloatFile('ui64_to_f32.c')
|
||||
SoftfloatFile('ui64_to_f64.c')
|
||||
|
||||
env.Library('softfloat', [env.SharedObject(f) for f in softfloat_files])
|
||||
sf_env.Library('softfloat', [sf_env.SharedObject(f) for f in softfloat_files])
|
||||
|
||||
main.Prepend(CPPPATH=Dir('./'))
|
||||
main.Append(LIBS=['softfloat'])
|
||||
main.Prepend(LIBPATH=[Dir('.')])
|
||||
env.Prepend(CPPPATH=Dir('./'))
|
||||
env.Append(LIBS=['softfloat'])
|
||||
env.Prepend(LIBPATH=[Dir('.')])
|
||||
|
||||
Reference in New Issue
Block a user