summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArun Raghavan <arun@asymptotic.io>2021-06-18 18:40:32 -0400
committerArun Raghavan <arun@asymptotic.io>2021-10-19 16:09:07 -0400
commitff85c9868321fd00bb4037e0a068e223ddc97197 (patch)
treee8d1a40835b708bb133d86b22f910270496c7769
parent57ec282d4ff225baef20562e4212392925295ed0 (diff)
downloadwebrtc-audio-processing-ff85c9868321fd00bb4037e0a068e223ddc97197.tar.gz
Some fixes for MinGW
* Rename Windows.h uses to windows.h * Comment out structured exception handling usage Makes MinGW happier. Mostly the same as previous work by Nicolas Dufresne <nicolas.dufresne@collabora.com>, with the exception that we now don't try to invoke RaiseException which would fail in MinGW as it raises a Windows structured exception.
-rw-r--r--meson.build2
-rw-r--r--webrtc/rtc_base/platform_thread_types.cc2
-rw-r--r--webrtc/rtc_base/synchronization/rw_lock_win.h2
-rw-r--r--webrtc/rtc_base/system/file_wrapper.cc2
4 files changed, 6 insertions, 2 deletions
diff --git a/meson.build b/meson.build
index b4cce45..1baa489 100644
--- a/meson.build
+++ b/meson.build
@@ -105,6 +105,8 @@ elif host_system == 'linux'
have_posix = true
elif host_system == 'windows'
platform_cflags += ['-DWEBRTC_WIN', '-D_WIN32', '-U__STRICT_ANSI__']
+ # this one is for MinGW to get format specifiers from inttypes.h in C++
+ platform_cflags += ['-D__STDC_FORMAT_MACROS=1']
os_deps += [cc.find_library('winmm')]
have_win = true
endif
diff --git a/webrtc/rtc_base/platform_thread_types.cc b/webrtc/rtc_base/platform_thread_types.cc
index b0243b4..ea1dd61 100644
--- a/webrtc/rtc_base/platform_thread_types.cc
+++ b/webrtc/rtc_base/platform_thread_types.cc
@@ -99,11 +99,13 @@ void SetCurrentThreadName(const char* name) {
#pragma warning(push)
#pragma warning(disable : 6320 6322)
+#ifndef __MINGW32__
__try {
::RaiseException(0x406D1388, 0, sizeof(threadname_info) / sizeof(ULONG_PTR),
reinterpret_cast<ULONG_PTR*>(&threadname_info));
} __except (EXCEPTION_EXECUTE_HANDLER) { // NOLINT
}
+#endif
#pragma warning(pop)
#elif defined(WEBRTC_LINUX) || defined(WEBRTC_ANDROID)
prctl(PR_SET_NAME, reinterpret_cast<unsigned long>(name)); // NOLINT
diff --git a/webrtc/rtc_base/synchronization/rw_lock_win.h b/webrtc/rtc_base/synchronization/rw_lock_win.h
index 43bde1d..c79e61e 100644
--- a/webrtc/rtc_base/synchronization/rw_lock_win.h
+++ b/webrtc/rtc_base/synchronization/rw_lock_win.h
@@ -11,7 +11,7 @@
#ifndef RTC_BASE_SYNCHRONIZATION_RW_LOCK_WIN_H_
#define RTC_BASE_SYNCHRONIZATION_RW_LOCK_WIN_H_
-#include <Windows.h>
+#include <windows.h>
#include "rtc_base/synchronization/rw_lock_wrapper.h"
diff --git a/webrtc/rtc_base/system/file_wrapper.cc b/webrtc/rtc_base/system/file_wrapper.cc
index 2828790..3b5f744 100644
--- a/webrtc/rtc_base/system/file_wrapper.cc
+++ b/webrtc/rtc_base/system/file_wrapper.cc
@@ -14,7 +14,7 @@
#include <cerrno>
#ifdef _WIN32
-#include <Windows.h>
+#include <windows.h>
#else
#include <string.h>
#endif