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:
@@ -30,7 +30,7 @@
|
||||
|
||||
import os, subprocess
|
||||
|
||||
Import('main')
|
||||
Import('env')
|
||||
|
||||
elf_files = []
|
||||
def ElfFile(filename):
|
||||
@@ -97,7 +97,7 @@ ElfFile('libelf_convert.c')
|
||||
ElfFile('libelf_fsize.c')
|
||||
ElfFile('libelf_msize.c')
|
||||
|
||||
m4env = main.Clone()
|
||||
m4env = env.Clone()
|
||||
if m4env['GCC']:
|
||||
m4env.Append(CCFLAGS=['-Wno-pointer-sign',
|
||||
'-Wno-unused-but-set-variable',
|
||||
@@ -146,6 +146,6 @@ m4env.Library('elf', [m4env.SharedObject(f) for f in elf_files])
|
||||
m4env.Command(File('native-elf-format.h'), File('native-elf-format'),
|
||||
'${SOURCE} > ${TARGET}')
|
||||
|
||||
main.Prepend(CPPPATH=Dir('.'))
|
||||
main.Append(LIBS=[File('libelf.a')])
|
||||
main.Prepend(LIBPATH=[Dir('.')])
|
||||
env.Prepend(CPPPATH=Dir('.'))
|
||||
env.Append(LIBS=[File('libelf.a')])
|
||||
env.Prepend(LIBPATH=[Dir('.')])
|
||||
|
||||
Reference in New Issue
Block a user