aboutsummaryrefslogtreecommitdiff
path: root/ports/abseil/fix-uwp-build.patch
blob: a9b4a0c075785484d77682f15b8bbcad1c11f703 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
diff --git a/absl/base/internal/sysinfo.cc b/absl/base/internal/sysinfo.cc
index a0930e9..2ec5793 100644
--- a/absl/base/internal/sysinfo.cc
+++ b/absl/base/internal/sysinfo.cc
@@ -72,6 +72,12 @@ static int GetNumCPUs() {
 #if defined(_WIN32)
 
 static double GetNominalCPUFrequency() {
+// UWP apps don't have access to the registry and currently don't provide an
+// API informing about CPU nominal frequency.
+#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) && \
+    !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
+  return 1.0;
+#else
 #pragma comment(lib, "advapi32.lib")  // For Reg* functions.
   HKEY key;
   // Use the Reg* functions rather than the SH functions because shlwapi.dll
@@ -91,6 +97,7 @@ static double GetNominalCPUFrequency() {
     }
   }
   return 1.0;
+#endif // WINAPI_PARTITION_APP && !WINAPI_PARTITION_DESKTOP
 }
 
 #elif defined(CTL_HW) && defined(HW_CPU_FREQ)
diff --git a/absl/debugging/symbolize_win32.inc b/absl/debugging/symbolize_win32.inc
index c3df46f..d324fc1 100644
--- a/absl/debugging/symbolize_win32.inc
+++ b/absl/debugging/symbolize_win32.inc
@@ -36,6 +36,11 @@ ABSL_NAMESPACE_BEGIN
 static HANDLE process = NULL;
 
 void InitializeSymbolizer(const char*) {
+// UWP doesn't support this function
+#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) && \
+    !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
+  return;
+#else
   if (process != nullptr) {
     return;
   }
@@ -52,9 +57,16 @@ void InitializeSymbolizer(const char*) {
     const unsigned long long error{GetLastError()};  // NOLINT(runtime/int)
     ABSL_RAW_LOG(FATAL, "SymInitialize() failed: %llu", error);
   }
+#endif
 }
 
 bool Symbolize(const void* pc, char* out, int out_size) {
+
+// UWP doesn't support this function
+#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) && \
+    !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
+  return false;
+#else
   if (out_size <= 0) {
     return false;
   }
@@ -75,6 +87,7 @@ bool Symbolize(const void* pc, char* out, int out_size) {
     out[out_size - 1] = '\0';
   }
   return true;
+#endif
 }
 
 ABSL_NAMESPACE_END