diff options
author | Ryan Egesdahl <ryan.egesdahl@mongodb.com> | 2020-07-17 14:17:48 -0700 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-07-17 21:33:57 +0000 |
commit | f69c932697877c4036aca066cf212eaad55be070 (patch) | |
tree | 9a0b248b496911bcd8feb9f985df3de2407ed1ff /SConstruct | |
parent | 4635320ea16bb9217605b7150461561fdded5e22 (diff) | |
download | mongo-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-- | SConstruct | 6 |
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. |