[Bazel] Do not use -pthread on Windows
diff --git a/bazel/grpc_build_system.bzl b/bazel/grpc_build_system.bzl
index 3fbefc4..5447f27 100644
--- a/bazel/grpc_build_system.bzl
+++ b/bazel/grpc_build_system.bzl
@@ -26,6 +26,13 @@
 # The set of pollers to test against if a test exercises polling
 POLLERS = ['epollex', 'epollsig', 'epoll1', 'poll', 'poll-cv']
 
+def if_not_windows(a):
+  return select({
+      "//:windows": [],
+      "//:windows_msvc": [],
+      "//conditions:default": a,
+  })
+
 def _get_external_deps(external_deps):
   ret = []
   for dep in external_deps:
@@ -56,7 +63,7 @@
                     alwayslink = 0):
   copts = []
   if language.upper() == "C":
-    copts = ["-std=c99"]
+    copts = if_not_windows(["-std=c99"])
   native.cc_library(
     name = name,
     srcs = srcs,
@@ -73,7 +80,7 @@
     copts = copts,
     visibility = visibility,
     testonly = testonly,
-    linkopts = ["-pthread"],
+    linkopts = if_not_windows(["-pthread"]),
     includes = [
         "include"
     ],
@@ -104,7 +111,7 @@
 def grpc_cc_test(name, srcs = [], deps = [], external_deps = [], args = [], data = [], uses_polling = True, language = "C++"):
   copts = []
   if language.upper() == "C":
-    copts = ["-std=c99"]
+    copts = if_not_windows(["-std=c99"])
   args = {
     'name': name,
     'srcs': srcs,
@@ -112,7 +119,7 @@
     'data': data,
     'deps': deps + _get_external_deps(external_deps),
     'copts': copts,
-    'linkopts': ["-pthread"],
+    'linkopts': if_not_windows(["-pthread"]),
   }
   if uses_polling:
     native.cc_test(testonly=True, tags=['manual'], **args)
@@ -144,7 +151,7 @@
     linkshared = linkshared,
     deps = deps + _get_external_deps(external_deps),
     copts = copts,
-    linkopts = ["-pthread"] + linkopts,
+    linkopts = if_not_windows(["-pthread"]) + linkopts,
   )
 
 def grpc_generate_one_off_targets():