summaryrefslogtreecommitdiff
path: root/SConstruct
diff options
context:
space:
mode:
authorRyan Egesdahl <ryan.egesdahl@mongodb.com>2020-07-17 14:17:48 -0700
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-07-17 21:33:57 +0000
commitf69c932697877c4036aca066cf212eaad55be070 (patch)
tree9a0b248b496911bcd8feb9f985df3de2407ed1ff /SConstruct
parent4635320ea16bb9217605b7150461561fdded5e22 (diff)
downloadmongo-f69c932697877c4036aca066cf212eaad55be070.tar.gz
SERVER-48443 Fix builds with Icecream 1.2+ and gcc 4.4+
A bug spotted in Icecream 1.2+ can cause build failures when building with gcc. This is, in turn, due to a bug in GCC where the preprocessor executed via `gcc -E` has different behavior than the one used internally during compilation. We are working with Icecream, and GCC to address these problems. For now, we work around the bugs. * GCC bug report: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88475 * Icecream bug report: icecc/icecream#550
Diffstat (limited to 'SConstruct')
-rw-r--r--SConstruct6
1 files changed, 4 insertions, 2 deletions
diff --git a/SConstruct b/SConstruct
index b83097f8547..0f47acf5684 100644
--- a/SConstruct
+++ b/SConstruct
@@ -3809,9 +3809,10 @@ def doConfigure(myenv):
env = doConfigure( env )
env["NINJA_SYNTAX"] = "#site_scons/third_party/ninja_syntax.py"
+
# Now that we are done with configure checks, enable ccache and
-# icecream, if available. Per the rules declared in the icecream tool,
-# load the ccache tool first.
+# icecream if requested. If *both* icecream and ccache are requested,
+# ccache must be loaded first.
env.Tool('ccache')
if env.ToolchainIs("clang"):
@@ -3821,6 +3822,7 @@ elif env.ToolchainIs("gcc"):
env.Tool('icecream')
+
# Defaults for SCons provided flags. SetOption only sets the option to our value
# if the user did not provide it. So for any flag here if it's explicitly passed
# the values below set with SetOption will be overwritten.