b56e8d6def
Since NSS 3.53, the Makefile based build should be fixed (upstream bug 290526). The only missing patch is a minimal NSPR fix for the "NSPR, configure + make, parallel, Windows, MS VS, debug" build. That patch isn't incuded in the NSPR 4.25 release (but it's already in the mercurial repo for NSPR 4.26). Change-Id: I8eaa3792a12bdff734e56ac3f552991478957e23 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95218 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
40 lines
1.5 KiB
Diff
40 lines
1.5 KiB
Diff
Änderung: 4866:23940b78e965
|
|
Nutzer: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Datum: Fri May 01 22:50:55 2020 +0000
|
|
Dateien: pr/tests/Makefile.in
|
|
Beschreibung:
|
|
Bug 290526 Write separate PDBs for test OBJs r=glandium
|
|
|
|
Quite often when running a parallel NSS build, I get the following
|
|
compiler error message, resulting in a build failure, despite
|
|
compiling with the -FS flag:
|
|
|
|
.../nss/nspr/pr/tests/zerolen.c: fatal error C1041:
|
|
Programmdatenbank "...\nss\nspr\out\pr\tests\vc140.pdb" kann nicht
|
|
ge<94>ffnet werden; verwenden Sie /FS, wenn mehrere CL.EXE in
|
|
dieselbe .PDB-Datei schreiben.
|
|
|
|
The failing source file is always one of the last test object
|
|
files. But the actual problem is not the compiler accessing the
|
|
PDB file, but the linker already linking the first test
|
|
executables accessing the shared PDB; at least that's my guess.
|
|
|
|
So instead of using a shared PDB for all test object files, this
|
|
uses -Fd$(@:.$(OBJ_SUFFIX)=.pdb) to write a separate PDB for every
|
|
test's object file. The linker works fine with the shared OBJ PDB.
|
|
|
|
Differential Revision: https://phabricator.services.mozilla.com/D68693
|
|
|
|
|
|
diff -r 219d131499d5 -r 23940b78e965 nss/nspr/pr/tests/Makefile.in
|
|
--- a/nss/nspr/pr/tests/Makefile.in Mon Feb 10 20:58:42 2020 +0000
|
|
+++ b/nss/nspr/pr/tests/Makefile.in Fri May 01 22:50:55 2020 +0000
|
|
@@ -211,6 +211,7 @@
|
|
else
|
|
EXTRA_LIBS += ws2_32.lib
|
|
LDOPTS = -NOLOGO -DEBUG -DEBUGTYPE:CV -INCREMENTAL:NO
|
|
+ CFLAGS += -Fd$(@:.$(OBJ_SUFFIX)=.pdb)
|
|
ifdef PROFILE
|
|
LDOPTS += -PROFILE -MAP
|
|
endif # profile
|
|
|