scons: Delay evaluating the EXE_SUFFIX and ENV_LABEL values.
Delay evaluating these so that hopefully the same rules can be reused
between environments.
Change-Id: I4918d3a1a98f49ecad8ab6a8b89898c14316f6f5
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/48132
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Gabe Black <gabe.black@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
diff --git a/src/SConscript b/src/SConscript
index e8655a4..6d8738c 100644
--- a/src/SConscript
+++ b/src/SConscript
@@ -533,7 +533,7 @@
self.dir = Dir('.')
def path(self, env):
- return self.dir.File(self.target + '.' + env['EXE_SUFFIX'])
+ return self.dir.File(self.target + '.${EXE_SUFFIX}')
def srcs_to_objs(self, env, sources):
return list([ s.static(env) for s in sources ])
@@ -550,7 +550,7 @@
env['BIN_RPATH_PREFIX'] = os.path.relpath(
env['BUILDDIR'], self.path(env).dir.abspath)
- executable = env.Program(self.path(env), objs)[0]
+ executable = env.Program(self.path(env).abspath, objs)[0]
if sys.platform == 'sunos5':
cmd = 'cp $SOURCE $TARGET; strip $TARGET'
@@ -576,7 +576,7 @@
env.Append(CPPFLAGS=env['GTEST_CPPFLAGS'])
env['GTEST_LIB_SOURCES'] = Source.all.with_tag(env, 'gtest lib')
env['GTEST_OUT_DIR'] = \
- Dir(env['BUILDDIR']).Dir('unittests.' + env['EXE_SUFFIX'])
+ Dir(env['BUILDDIR']).Dir('unittests.${EXE_SUFFIX}')
return super(GTest, cls).declare_all(env)
def declare(self, env):
@@ -591,7 +591,7 @@
out_dir = env['GTEST_OUT_DIR']
xml_file = out_dir.Dir(str(self.dir)).File(self.target + '.xml')
- AlwaysBuild(env.Command(xml_file, binary,
+ AlwaysBuild(env.Command(xml_file.abspath, binary,
"${SOURCES[0]} --gtest_output=xml:${TARGETS[0]}"))
return binary
@@ -1390,7 +1390,7 @@
env['SHARED_LIB'] = shared_lib
# Record some settings for building Executables.
- env['EXE_SUFFIX'] = env['ENV_LABEL']
+ env['EXE_SUFFIX'] = '${ENV_LABEL}'
for cls in ExecutableMeta.all:
cls.declare_all(env)