Pier Angelo Vendrame pushed to branch tor-browser-146.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: 54d4d5c6 by june wilde at 2025-12-11T12:11:56+01:00 fixup! BB 41459: WebRTC fails to build under mingw (Part 2) - - - - - 186f0f1a by june wilde at 2025-12-11T12:12:04+01:00 fixup! BB 41459: WebRTC fails to build under mingw (Part 1) - - - - - 9596a569 by june wilde at 2025-12-11T12:12:05+01:00 fixup! BB 41459: WebRTC fails to build under mingw (Part 5) - - - - - 6 changed files: - build/moz.configure/windows.configure - dom/media/webrtc/libwebrtc_overrides/modules/desktop_capture/desktop_capture_types.h - third_party/libwebrtc/modules/desktop_capture/win/wgc_capture_session.cc - third_party/libwebrtc/modules/desktop_capture/win/window_capture_utils.h - third_party/libwebrtc/rtc_base/cpu_info.cc - third_party/libwebrtc/rtc_base/win/create_direct3d_device.h Changes: ===================================== build/moz.configure/windows.configure ===================================== @@ -624,12 +624,13 @@ with only_when(depends(c_compiler)(lambda c: c.type == "clang-cl")): add_linker_flag("-LARGEADDRESSAWARE") add_linker_flag("-SAFESEH") - # avoid conficts with std::min/max - set_define("NOMINMAX", True) - set_define("WIN32_LEAN_AND_MEAN", True) +with only_when(depends(c_compiler)(lambda c: c.type == "clang-cl")): + # See http://support.microsoft.com/kb/143208 to use STL + set_define("NOMINMAX", True) + with only_when(target_is_windows & depends(c_compiler)(lambda c: c.type != "clang-cl")): # strsafe.h on mingw uses macros for function deprecation that pollutes namespace ===================================== dom/media/webrtc/libwebrtc_overrides/modules/desktop_capture/desktop_capture_types.h ===================================== @@ -7,11 +7,11 @@ #ifndef DOM_MEDIA_WEBRTC_LIBWEBRTCOVERRIDES_MODULES_DESKTOP_CAPTURE_DESKTOP_CAPTURE_TYPES_H_ #define DOM_MEDIA_WEBRTC_LIBWEBRTCOVERRIDES_MODULES_DESKTOP_CAPTURE_DESKTOP_CAPTURE_TYPES_H_ -// pid_t -#if !defined(XP_WIN) || defined(__MINGW32__) +#if defined(XP_WIN) && \ + !defined(__MINGW32__) // Moving this into the global namespace +typedef int pid_t; // matching what used to be in +#elif defined(XP_WIN) // video_capture_defines.h # include <sys/types.h> -#else -typedef int pid_t; #endif #include "../../third_party/libwebrtc/modules/desktop_capture/desktop_capture_types.h" ===================================== third_party/libwebrtc/modules/desktop_capture/win/wgc_capture_session.cc ===================================== @@ -13,6 +13,8 @@ #include <dispatcherqueue.h> #include <windows.graphics.capture.interop.h> #include <windows.graphics.directx.direct3d11.interop.h> +#include <windows.graphics.h> +#include <wrl/client.h> #include <wrl/event.h> #include <algorithm> ===================================== third_party/libwebrtc/modules/desktop_capture/win/window_capture_utils.h ===================================== @@ -11,7 +11,7 @@ #ifndef MODULES_DESKTOP_CAPTURE_WIN_WINDOW_CAPTURE_UTILS_H_ #define MODULES_DESKTOP_CAPTURE_WIN_WINDOW_CAPTURE_UTILS_H_ -#include <shlobj_core.h> +#include <shlobj.h> #include <windows.h> #include <wrl/client.h> ===================================== third_party/libwebrtc/rtc_base/cpu_info.cc ===================================== @@ -97,7 +97,7 @@ uint64_t xgetbv(uint32_t xcr) { } #endif // WEBRTC_ENABLE_AVX2 -#ifndef _MSC_VER +#if !defined(_MSC_VER) && !defined(__MINGW32__) // Intrinsic for "cpuid". #if defined(__pic__) && defined(__i386__) static inline void __cpuid(int cpu_info[4], int info_type) { ===================================== third_party/libwebrtc/rtc_base/win/create_direct3d_device.h ===================================== @@ -12,9 +12,8 @@ #define RTC_BASE_WIN_CREATE_DIRECT3D_DEVICE_H_ #include <windows.graphics.directx.direct3d11.h> -#ifndef __MINGW32__ -# include <windows.graphics.directX.direct3d11.interop.h> -#else +#include <windows.graphics.directx.direct3d11.interop.h> +#ifdef __MINGW32__ # include <dxgi.h> # include <inspectable.h> extern "C" { @@ -23,6 +22,7 @@ HRESULT __stdcall CreateDirect3D11DeviceFromDXGIDevice( ::IDXGIDevice* dxgiDevice, ::IInspectable** graphicsDevice); } #endif + #include <winerror.h> #include <wrl/client.h> View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/773d4ea... -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/773d4ea... You're receiving this email because of your account on gitlab.torproject.org.
participants (1)
-
Pier Angelo Vendrame (@pierov)