Backed out changeset 4aa866ebfeaa (bug 1322703)
authorSebastian Hengst <archaeopteryx@coole-files.de>
Wed, 01 Mar 2017 18:45:56 +0100
changeset 383072 af1edb14a70783428bd19329869bd06e6ae74b44
parent 383071 4aa866ebfeaa74ac2dcc5be0d66b862de5f13b14
child 383073 eb6b998cfa79ea7eddbba71ccb3e9c8e327691aa
push idunknown
push userunknown
push dateunknown
bugs1322703
milestone54.0a1
backs out4aa866ebfeaa74ac2dcc5be0d66b862de5f13b14
Backed out changeset 4aa866ebfeaa (bug 1322703)
CLOBBER
config/rules.mk
--- a/CLOBBER
+++ b/CLOBBER
@@ -17,9 +17,9 @@
 #
 # Modifying this file will now automatically clobber the buildbot machines \o/
 #
 
 # Are you updating CLOBBER because you think it's needed for your WebIDL
 # changes to stick? As of bug 928195, this shouldn't be necessary! Please
 # don't change CLOBBER for WebIDL changes any more.
 
-Touching clobber for Telemetry IPC refactor in bug 1339749.
+Touching clobber for Bug 1322703 - Use -Fd to specify unique PDB filename per-compile for MSVC
--- a/config/rules.mk
+++ b/config/rules.mk
@@ -148,17 +148,32 @@ EMBED_MANIFEST_AT=2
 
 endif # MKSHLIB
 endif # FORCE_SHARED_LIB
 endif # LIBRARY
 
 ifeq ($(OS_ARCH),WINNT)
 ifndef GNU_CC
 
+#
+# Unless we're building SIMPLE_PROGRAMS, all C++ files share a PDB file per
+# directory. For parallel builds, this PDB file is shared and locked by
+# MSPDBSRV.EXE, starting with MSVC8 SP1. If you're using MSVC 7.1 or MSVC8
+# without SP1, don't do parallel builds.
+#
+# The final PDB for libraries and programs is created by the linker and uses
+# a different name from the single PDB file created by the compiler. See
+# bug 462740.
+#
+
+ifdef SIMPLE_PROGRAMS
 COMPILE_PDB_FLAG ?= -Fd$(basename $(@F)).pdb
+else
+COMPILE_PDB_FLAG ?= -Fdgenerated.pdb
+endif
 COMPILE_CFLAGS += $(COMPILE_PDB_FLAG)
 COMPILE_CXXFLAGS += $(COMPILE_PDB_FLAG)
 
 LINK_PDBFILE ?= $(basename $(@F)).pdb
 ifdef MOZ_DEBUG
 CODFILE=$(basename $(@F)).cod
 endif