diff options
author | Tobias Markmann <tm@ayena.de> | 2015-05-06 07:52:08 (GMT) |
---|---|---|
committer | Kevin Smith <kevin.smith@isode.com> | 2015-05-26 16:40:07 (GMT) |
commit | 4e0bc5d233613732b550146fb11570945f12890c (patch) | |
tree | 54d6de2893de229be55038e1ec611ac0451a7b34 | |
parent | 0c5d33fdc77226ea1a447211ea4b2198197ec715 (diff) | |
download | swift-4e0bc5d233613732b550146fb11570945f12890c.zip swift-4e0bc5d233613732b550146fb11570945f12890c.tar.bz2 |
Have cl.exe write debug info to independent files for reliable parallel builds
By default cl.exe writes debug info to a static file name resulting
in all cl.exe trying to write to the same file when using parallel
builds.
This leads to race conditions and can have parallel builds fail.
This only takes effect if parallel builds are made by scons.
Test-Information:
Tested with VS 2013.
Change-Id: I8ea7e9370f5b149ded608e4c6f5e66a3fc6301c4
-rw-r--r-- | BuildTools/SCons/SConscript.boot | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/BuildTools/SCons/SConscript.boot b/BuildTools/SCons/SConscript.boot index dd462de..ff24eeb 100644 --- a/BuildTools/SCons/SConscript.boot +++ b/BuildTools/SCons/SConscript.boot @@ -221,6 +221,9 @@ if env["debug"] : if env["PLATFORM"] == "win32" : env.Append(CCFLAGS = ["/Zi"]) env.Append(LINKFLAGS = ["/DEBUG"]) + if GetOption("num_jobs") > 1 : + env["CCPDBFLAGS"] = '/Fd${TARGET}.pdb' + env["PDB"] = '${TARGET.base}.pdb' if env["set_iterator_debug_level"] : env.Append(CPPDEFINES = ["_ITERATOR_DEBUG_LEVEL=0"]) if env["optimize"] : |