summaryrefslogtreecommitdiff
path: root/site_scons
diff options
context:
space:
mode:
authorDaniel Moody <daniel.moody@mongodb.com>2021-04-06 05:09:43 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-04-09 17:50:03 +0000
commit59965cf5430b8132074771c0d9278a3a4b1e6730 (patch)
tree0c8ccc17ba36e840fd93b5e0c44dafb21aa2f7db /site_scons
parentd7c268102917688e9763063d009ad04fdf1d3532 (diff)
downloadmongo-59965cf5430b8132074771c0d9278a3a4b1e6730.tar.gz
SERVER-55808 added more conftest checking to icecream and ninja tools.
Diffstat (limited to 'site_scons')
-rw-r--r--site_scons/site_tools/next/icecream.py8
-rw-r--r--site_scons/site_tools/next/ninja.py9
2 files changed, 15 insertions, 2 deletions
diff --git a/site_scons/site_tools/next/icecream.py b/site_scons/site_tools/next/icecream.py
index 7456ed0cc8f..4dadefe32ba 100644
--- a/site_scons/site_tools/next/icecream.py
+++ b/site_scons/site_tools/next/icecream.py
@@ -493,6 +493,12 @@ def generate(env):
# seems fragile. If you find your local machine being overrun by
# jobs, figure out what sort they are and extend this part of the
# setup.
+ def icerun_generator(target, source, env, for_signature):
+ if "conftest" not in str(target[0]):
+ return '$ICERUN'
+ return ''
+ env['ICERUN_GENERATOR'] = icerun_generator
+
icerun_commands = [
"ARCOM",
"LINKCOM",
@@ -502,7 +508,7 @@ def generate(env):
for command in icerun_commands:
if command in env:
- env[command] = " ".join(["$( $ICERUN $)", env[command]])
+ env[command] = " ".join(["$( $ICERUN_GENERATOR $)", env[command]])
# Uncomment these to debug your icecc integration
if env['ICECREAM_DEBUG']:
diff --git a/site_scons/site_tools/next/ninja.py b/site_scons/site_tools/next/ninja.py
index dd87ff17d40..2af826898ab 100644
--- a/site_scons/site_tools/next/ninja.py
+++ b/site_scons/site_tools/next/ninja.py
@@ -1344,6 +1344,13 @@ def ninja_always_serial(self, num, taskmaster):
self.job = SCons.Job.Serial(taskmaster)
+def ninja_print_conf_log(s, target, source, env):
+ """Command line print only for conftest to generate a correct conf log."""
+ if target and "conftest" in str(target[0]):
+ action = SCons.Action._ActionAction()
+ action.print_cmd_line(s, target, source, env)
+
+
class NinjaNoResponseFiles(SCons.Platform.TempFileMunge):
"""Overwrite the __call__ method of SCons' TempFileMunge to not delete."""
@@ -1561,7 +1568,7 @@ def generate(env):
SCons.Executor.Executor._get_unchanged_targets = SCons.Executor.Executor._get_targets
# Replace false action messages with nothing.
- env["PRINT_CMD_LINE_FUNC"] = ninja_noop
+ env["PRINT_CMD_LINE_FUNC"] = ninja_print_conf_log
# This reduces unnecessary subst_list calls to add the compiler to
# the implicit dependencies of targets. Since we encode full paths