|
| 1 | +diff --git a/CMakeLists.txt b/CMakeLists.txt |
| 2 | +index 1911144984..8f78306f77 100644 |
| 3 | +--- a/CMakeLists.txt |
| 4 | ++++ b/CMakeLists.txt |
| 5 | +@@ -181,6 +181,9 @@ if(UNIX) |
| 6 | + endif() |
| 7 | + if(WIN32) |
| 8 | + set(_gRPC_PLATFORM_WINDOWS ON) |
| 9 | ++ if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") |
| 10 | ++ set(_gRPC_PLATFORM_UWP ON) |
| 11 | ++ endif() |
| 12 | + endif() |
| 13 | + |
| 14 | + # Use C99 standard |
| 15 | +@@ -219,6 +222,9 @@ if(MSVC) |
| 16 | + set(_gRPC_C_CXX_FLAGS "${_gRPC_C_CXX_FLAGS} /wd4267") |
| 17 | + # TODO(jtattermusch): needed to build boringssl with VS2017, revisit later |
| 18 | + set(_gRPC_C_CXX_FLAGS "${_gRPC_C_CXX_FLAGS} /wd4987 /wd4774 /wd4819 /wd4996 /wd4619") |
| 19 | ++ if(_gRPC_PLATFORM_UWP) |
| 20 | ++ add_definitions(-DGRPC_ARES=0) |
| 21 | ++ endif() |
| 22 | + endif() |
| 23 | + if (MINGW) |
| 24 | + add_definitions(-D_WIN32_WINNT=0x600) |
| 25 | +@@ -286,6 +292,10 @@ file(MAKE_DIRECTORY ${_gRPC_PROTO_GENS_DIR}) |
| 26 | + # ``.proto`` files |
| 27 | + # |
| 28 | + function(protobuf_generate_grpc_cpp) |
| 29 | ++ if(_gRPC_PLATFORM_UWP) |
| 30 | ++ return() |
| 31 | ++ endif() |
| 32 | ++ |
| 33 | + if(NOT ARGN) |
| 34 | + message(SEND_ERROR "Error: PROTOBUF_GENERATE_GRPC_CPP() called without any proto files") |
| 35 | + return() |
| 36 | +@@ -358,6 +368,7 @@ if (gRPC_BUILD_GRPC_RUBY_PLUGIN) |
| 37 | + list(APPEND _gRPC_PLUGIN_LIST grpc_ruby_plugin) |
| 38 | + endif () |
| 39 | + |
| 40 | ++if(NOT _gRPC_PLATFORM_UWP) |
| 41 | + add_custom_target(plugins |
| 42 | + DEPENDS ${_gRPC_PLUGIN_LIST} |
| 43 | + ) |
| 44 | +@@ -376,6 +387,7 @@ add_custom_target(tools_cxx |
| 45 | + |
| 46 | + add_custom_target(tools |
| 47 | + DEPENDS tools_c tools_cxx) |
| 48 | ++endif() |
| 49 | + |
| 50 | + protobuf_generate_grpc_cpp( |
| 51 | + src/proto/grpc/channelz/channelz.proto |
| 52 | +diff --git a/src/core/lib/iomgr/resource_quota.cc b/src/core/lib/iomgr/resource_quota.cc |
| 53 | +index dbe84e3466..cda40b6435 100644 |
| 54 | +--- a/src/core/lib/iomgr/resource_quota.cc |
| 55 | ++++ b/src/core/lib/iomgr/resource_quota.cc |
| 56 | +@@ -945,7 +945,7 @@ bool grpc_resource_user_alloc(grpc_resource_user* resource_user, size_t size, |
| 57 | + void grpc_resource_user_free(grpc_resource_user* resource_user, size_t size) { |
| 58 | + gpr_mu_lock(&resource_user->mu); |
| 59 | + grpc_resource_quota* resource_quota = resource_user->resource_quota; |
| 60 | +- gpr_atm prior = gpr_atm_no_barrier_fetch_add(&resource_quota->used, -size); |
| 61 | ++ gpr_atm prior = gpr_atm_no_barrier_fetch_add(&resource_quota->used, -static_cast<gpr_atm>(size)); |
| 62 | + GPR_ASSERT(prior >= static_cast<long>(size)); |
| 63 | + bool was_zero_or_negative = resource_user->free_pool <= 0; |
| 64 | + resource_user->free_pool += static_cast<int64_t>(size); |
| 65 | +diff --git a/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc b/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc |
| 66 | +index 59432cff36..fed574d5bc 100644 |
| 67 | +--- a/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc |
| 68 | ++++ b/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc |
| 69 | +@@ -39,6 +39,7 @@ bool check_bios_data(const char*) { return false; } |
| 70 | + bool check_windows_registry_product_name(HKEY root_key, |
| 71 | + const char* reg_key_path, |
| 72 | + const char* reg_key_name) { |
| 73 | ++#if !defined(WINAPI_FAMILY) || WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP |
| 74 | + const size_t kProductNameBufferSize = 256; |
| 75 | + char const expected_substr[] = "Google"; |
| 76 | + |
| 77 | +@@ -71,6 +72,9 @@ bool check_windows_registry_product_name(HKEY root_key, |
| 78 | + } |
| 79 | + |
| 80 | + return strstr(buffer, expected_substr) != nullptr; |
| 81 | ++#else |
| 82 | ++ return false; |
| 83 | ++#endif |
| 84 | + } |
| 85 | + |
| 86 | + } // namespace internal |
0 commit comments