commit 7e570d84ddd935650b6402c20269d9cd228b4cc4
parent 49943ea220c0b2d15a692b540d496a7e298f395c
Author: Jan de Mooij <jdemooij@mozilla.com>
Date: Wed, 12 Nov 2025 01:39:37 +0000
Bug 1999057 - Add msvcp140_atomic_wait.dll to fix debug SM shell builds with c++20. r=glandium
JS shell debug builds reference this DLL now when we switch to c++20.
Differential Revision: https://phabricator.services.mozilla.com/D271931
Diffstat:
6 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/browser/installer/Makefile.in b/browser/installer/Makefile.in
@@ -73,6 +73,7 @@ ifdef MSVC_C_RUNTIME_1_DLL
DEFINES += -DMSVC_C_RUNTIME_1_DLL=$(MSVC_C_RUNTIME_1_DLL)
endif
DEFINES += -DMSVC_CXX_RUNTIME_DLL=$(MSVC_CXX_RUNTIME_DLL)
+DEFINES += -DMSVC_CXX_RUNTIME_ATOMIC_WAIT_DLL=$(MSVC_CXX_RUNTIME_ATOMIC_WAIT_DLL)
endif
endif
endif
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
@@ -98,6 +98,7 @@
@BINPATH@/@MSVC_C_RUNTIME_1_DLL@
#endif
@BINPATH@/@MSVC_CXX_RUNTIME_DLL@
+@BINPATH@/@MSVC_CXX_RUNTIME_ATOMIC_WAIT_DLL@
#endif
; Windows App SDK DLLs
@BINPATH@/@DLL_PREFIX@CoreMessagingXP@DLL_SUFFIX@
@@ -442,4 +443,4 @@ bin/libfreebl_64int_3.so
#if defined(DESKTOP_LAUNCHER_ENABLED)
@BINPATH@/desktop-launcher/desktop-launcher@BIN_SUFFIX@
-#endif
-\ No newline at end of file
+#endif
diff --git a/build/moz.configure/windows.configure b/build/moz.configure/windows.configure
@@ -586,6 +586,7 @@ with only_when(depends(c_compiler)(lambda c: c.type == "clang-cl")):
when=depends(target)(lambda target: target.cpu != "x86"),
)
set_config("MSVC_CXX_RUNTIME_DLL", "msvcp140.dll")
+ set_config("MSVC_CXX_RUNTIME_ATOMIC_WAIT_DLL", "msvcp140_atomic_wait.dll")
# Disable warnings about using MSVC-specific secure CRT functions.
set_define("_CRT_SECURE_NO_WARNINGS", True)
diff --git a/build/win32/moz.build b/build/win32/moz.build
@@ -27,6 +27,11 @@ if CONFIG["CC_TYPE"] == "clang":
if CONFIG["WIN32_REDIST_DIR"] and CONFIG["COMPILE_ENVIRONMENT"]:
- for f in ["MSVC_C_RUNTIME_DLL", "MSVC_C_RUNTIME_1_DLL", "MSVC_CXX_RUNTIME_DLL"]:
+ for f in [
+ "MSVC_C_RUNTIME_DLL",
+ "MSVC_C_RUNTIME_1_DLL",
+ "MSVC_CXX_RUNTIME_DLL",
+ "MSVC_CXX_RUNTIME_ATOMIC_WAIT_DLL",
+ ]:
if CONFIG[f]:
FINAL_TARGET_FILES += ["%%%s/%s" % (CONFIG["WIN32_REDIST_DIR"], CONFIG[f])]
diff --git a/toolkit/library/build/dependentlibs.py b/toolkit/library/build/dependentlibs.py
@@ -110,6 +110,7 @@ def is_skiplisted(dep):
"MSVC_C_RUNTIME_DLL",
"MSVC_C_RUNTIME_1_DLL",
"MSVC_CXX_RUNTIME_DLL",
+ "MSVC_CXX_RUNTIME_ATOMIC_WAIT_DLL",
]:
dll = substs.get(runtime)
if dll and dep == dll:
diff --git a/toolkit/mozapps/installer/upload-files.mk b/toolkit/mozapps/installer/upload-files.mk
@@ -64,6 +64,9 @@ endif
ifdef MSVC_CXX_RUNTIME_DLL
JSSHELL_BINS += $(MSVC_CXX_RUNTIME_DLL)
endif
+ifdef MSVC_CXX_RUNTIME_ATOMIC_WAIT_DLL
+ JSSHELL_BINS += $(MSVC_CXX_RUNTIME_ATOMIC_WAIT_DLL)
+endif
ifdef LLVM_SYMBOLIZER
JSSHELL_BINS += $(notdir $(LLVM_SYMBOLIZER))