diff --git a/third_party/grpc/BUILD b/third_party/grpc/BUILD
index 51e861f..a635ebc 100644
--- a/third_party/grpc/BUILD
+++ b/third_party/grpc/BUILD
@@ -438,7 +438,7 @@ cc_library(
     ],
     copts = [
         "-std=gnu99",
-        "-Wno-implicit-function-declaration",
+        "-w",
     ],
     includes = [
         ".",
@@ -570,6 +570,7 @@ cc_library(
         "include/grpc++/support/sync_stream.h",
         "include/grpc++/support/time.h",
     ],
+    copts = ["-w"],
     includes = [
         ".",
         "include",
diff --git a/third_party/grpc/include/grpc/impl/codegen/port_platform.h b/third_party/grpc/include/grpc/impl/codegen/port_platform.h
index d265e9b..d22bffb 100644
--- a/third_party/grpc/include/grpc/impl/codegen/port_platform.h
+++ b/third_party/grpc/include/grpc/impl/codegen/port_platform.h
@@ -74,7 +74,45 @@
    things.  */
 
 #if !defined(GPR_NO_AUTODETECT_PLATFORM)
-#if defined(_WIN64) || defined(WIN64)
+
+#if defined(__MSYS__)
+#define GPR_PLATFORM_STRING "msys2"
+#define GPR_POSIX_CRASH_HANDLER 1
+#ifndef _BSD_SOURCE
+#define _BSD_SOURCE
+#endif
+#ifndef _DEFAULT_SOURCE
+#define _DEFAULT_SOURCE
+#endif
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
+#include <features.h>
+#define GPR_CPU_POSIX 1
+#define GPR_GCC_ATOMIC 1
+#define GPR_GCC_TLS 1
+#define GPR_POSIX_MULTIPOLL_WITH_POLL
+#define GPR_POSIX_WAKEUP_FD 1
+#define GPR_POSIX_SOCKET 1
+#define GPR_POSIX_SOCKETADDR 1
+#define GPR_POSIX_ENV 1
+#define GPR_POSIX_NO_SPECIAL_WAKEUP_FD 1
+#define GPR_POSIX_SOCKETUTILS
+#define GPR_POSIX_FILE 1
+#define GPR_POSIX_STRING 1
+#define GPR_POSIX_SUBPROCESS 1
+#define GPR_POSIX_SYNC 1
+#define GPR_POSIX_TIME 1
+#define GPR_POSIX_LOG 1
+#define GPR_GETPID_IN_UNISTD_H 1
+#define GPR_HAVE_MSG_NOSIGNAL 1
+#ifdef _LP64
+#define GPR_ARCH_64 1
+#else /* _LP64 */
+#define GPR_ARCH_32 1
+#endif /* _LP64 */
+
+#elif defined(_WIN64) || defined(WIN64)
 #define GPR_PLATFORM_STRING "windows"
 #define GPR_WIN32 1
 #define GPR_ARCH_64 1
diff --git a/third_party/grpc/src/core/iomgr/tcp_server_posix.c b/third_party/grpc/src/core/iomgr/tcp_server_posix.c
index 5e07f82..44b970d 100644
--- a/third_party/grpc/src/core/iomgr/tcp_server_posix.c
+++ b/third_party/grpc/src/core/iomgr/tcp_server_posix.c
@@ -280,13 +280,38 @@ static int prepare_socket(int fd, const struct sockaddr *addr,
     goto error;
   }
 
-  if (!grpc_set_socket_nonblocking(fd, 1) || !grpc_set_socket_cloexec(fd, 1) ||
-      (addr->sa_family != AF_UNIX && (!grpc_set_socket_low_latency(fd, 1) ||
-                                      !grpc_set_socket_reuse_addr(fd, 1))) ||
-      !grpc_set_socket_no_sigpipe_if_possible(fd)) {
-    gpr_log(GPR_ERROR, "Unable to configure socket %d: %s", fd,
-            strerror(errno));
-    goto error;
+
+  if (!grpc_set_socket_nonblocking(fd, 1)) {
+      gpr_log(GPR_ERROR, "Unable to set socket %d to nonblocking mode: %s", fd,
+              strerror(errno));
+      goto error;
+  }
+  if (!grpc_set_socket_cloexec(fd, 1)) {
+      gpr_log(GPR_ERROR, "Unable to set socket %d to close-on-exec: %s", fd,
+              strerror(errno));
+      goto error;
+  }
+
+  if (addr->sa_family != AF_UNIX) {
+    if (!grpc_set_socket_low_latency(fd, 1)) {
+      gpr_log(GPR_ERROR, "Unable to set socket %d to low-latency mode: %s", fd,
+              strerror(errno));
+      goto error;
+    }
+
+#if !defined(__MSYS__)
+    if (!grpc_set_socket_reuse_addr(fd, 1)) {
+      gpr_log(GPR_ERROR, "Unable to set SO_REUSEADDR on socket %d: %s", fd,
+              strerror(errno));
+      goto error;
+    }
+#endif
+
+    if (!grpc_set_socket_no_sigpipe_if_possible(fd)) {
+      gpr_log(GPR_ERROR, "Unable to set SO_NOSIGPIPE on socket %d: %s", fd,
+              strerror(errno));
+      goto error;
+    }
   }
 
   GPR_ASSERT(addr_len < ~(socklen_t)0);
diff --git a/third_party/grpc/src/core/support/log_linux.c b/third_party/grpc/src/core/support/log_linux.c
index d66b7a3..93a0c1b 100644
--- a/third_party/grpc/src/core/support/log_linux.c
+++ b/third_party/grpc/src/core/support/log_linux.c
@@ -51,7 +51,6 @@
 #include <stdarg.h>
 #include <string.h>
 #include <time.h>
-#include <linux/unistd.h>
 #include <sys/syscall.h>
 #include <unistd.h>
 
diff --git a/tools/build_rules/genproto.bzl b/tools/build_rules/genproto.bzl
index 62284a3..bc76cd1 100644
--- a/tools/build_rules/genproto.bzl
+++ b/tools/build_rules/genproto.bzl
@@ -25,6 +25,8 @@ def gensrcjar_impl(ctx):
         "JAR='%s'" % ctx.executable._jar.path,
         "OUTPUT='%s'" % out.path,
         "PROTO_COMPILER='%s'" % ctx.executable._proto_compiler.path,
+        "GRPC_JAVA_PLUGIN='%s'" % ctx.executable.grpc_java_plugin.path if \
+            ctx.executable.grpc_java_plugin else "",
         "SOURCE='%s'" % ctx.file.src.path,
         ctx.executable._gensrcjar.path,
     ]),
@@ -43,14 +45,19 @@ gensrcjar = rule(
             allow_files = proto_filetype,
             single_file = True,
         ),
+        "grpc_java_plugin": attr.label(
+            cfg = "host",
+            executable = True,
+            single_file = True,
+        ),
         "_gensrcjar": attr.label(
-            default = Label("@bazel_tools//tools/build_rules:gensrcjar"),
+            default = Label("//tools/build_rules:gensrcjar"),
             executable = True,
         ),
         # TODO(bazel-team): this should be a hidden attribute with a default
         # value, but Skylark needs to support select first.
         "_proto_compiler": attr.label(
-            default = Label("@bazel_tools//third_party/protobuf:protoc"),
+            default = Label("//third_party/protobuf:protoc"),
             allow_files = True,
             executable = True,
             single_file = True,
@@ -73,13 +80,42 @@ gensrcjar = rule(
     outputs = {"srcjar": "lib%{name}.srcjar"},
 )
 
+def cc_grpc_library(name, src):
+  basename = src[:-len(".proto")]
+
+  native.genrule(
+      name = name + "_codegen",
+      srcs = [src],
+      tools = ["//third_party/protobuf:protoc", "//third_party/grpc:cpp_plugin"],
+      cmd = "\\\n".join([
+          "$(location //third_party/protobuf:protoc)",
+          "    --plugin=protoc-gen-grpc=$(location //third_party/grpc:cpp_plugin)",
+          "    --cpp_out=$(GENDIR)",
+          "    --grpc_out=$(GENDIR)",
+          "    $(location " + src + ")"]),
+      outs = [basename + ".grpc.pb.h", basename + ".grpc.pb.cc", basename + ".pb.cc", basename + ".pb.h"])
+
+  native.cc_library(
+      name = name,
+      srcs = [basename + ".grpc.pb.cc", basename + ".pb.cc"],
+      hdrs = [basename + ".grpc.pb.h", basename + ".pb.h"],
+      deps = ["//third_party/grpc:grpc++"],
+      includes = ["."])
+
 # TODO(bazel-team): support proto => proto dependencies too
-def java_proto_library(name, src):
-  gensrcjar(name=name + "_srcjar", src=src)
+def java_proto_library(name, src, use_grpc_plugin=False):
+  grpc_java_plugin = None
+  if use_grpc_plugin:
+    grpc_java_plugin = "//third_party/grpc:grpc-java-plugin"
+
+  gensrcjar(name=name + "_srcjar", src=src, grpc_java_plugin=grpc_java_plugin)
+  deps = ["//third_party/protobuf"]
+  if use_grpc_plugin:
+    deps += ["//third_party/grpc:grpc-jar", "//third_party:guava"]
   native.java_library(
     name=name,
     srcs=[name + "_srcjar"],
-    deps=["@bazel_tools//third_party/protobuf"],
+    deps=deps,
     # The generated code has lots of 'rawtypes' warnings.
     javacopts=["-Xlint:-rawtypes"],
 )
diff --git a/tools/build_rules/gensrcjar.sh b/tools/build_rules/gensrcjar.sh
index b94408a..c1674a3 100755
--- a/tools/build_rules/gensrcjar.sh
+++ b/tools/build_rules/gensrcjar.sh
@@ -65,8 +65,14 @@ main() {
   "${PREPROCESSOR}" <"${SOURCE}" >"${processed_source}" \
       || err "Preprocessor ${PREPROCESSOR} failed"
 
-  "${PROTO_COMPILER}" --java_out="${proto_output}" "${processed_source}" \
-      || err "proto_compiler failed"
+  if [ -n "${GRPC_JAVA_PLUGIN}" ]; then
+    "${PROTO_COMPILER}" --plugin=protoc-gen-grpc="${GRPC_JAVA_PLUGIN}" \
+        --grpc_out="${proto_output}" --java_out="${proto_output}" "${processed_source}" \
+        || err "proto_compiler failed"
+  else
+    "${PROTO_COMPILER}" --java_out="${proto_output}" "${processed_source}" \
+        || err "proto_compiler failed"
+  fi
   find "${proto_output}" -exec touch -t "${TIMESTAMP}" '{}' \; \
       || err "Failed to reset timestamps"
   "${JAR}" cMf "${OUTPUT}.tmp" -C "${proto_output}" . \
