From 751fbb06f6d2040d49d6c3d89192eb08a1c6cff4 Mon Sep 17 00:00:00 2001
From: Masood Malekghassemi <atash@google.com>
Date: Wed, 4 May 2016 16:12:56 -0700
Subject: [PATCH] Build grpcio tools on Windows

---
 tools/run_tests/artifact_targets.py       |  3 ++-
 tools/run_tests/build_artifact_python.bat | 13 +++++++++++++
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/tools/run_tests/artifact_targets.py b/tools/run_tests/artifact_targets.py
index 72f4f8dd96..477bd46888 100644
--- a/tools/run_tests/artifact_targets.py
+++ b/tools/run_tests/artifact_targets.py
@@ -151,7 +151,8 @@ class PythonArtifact:
     elif self.platform == 'windows':
       return create_jobspec(self.name,
                             ['tools\\run_tests\\build_artifact_python.bat',
-                             self.python_version
+                             self.python_version,
+                             '32' if self.arch == 'x86' else '64'
                             ],
                             shell=True)
     else:
diff --git a/tools/run_tests/build_artifact_python.bat b/tools/run_tests/build_artifact_python.bat
index 023d394549..636ae0d393 100644
--- a/tools/run_tests/build_artifact_python.bat
+++ b/tools/run_tests/build_artifact_python.bat
@@ -52,8 +52,21 @@ set GRPC_PYTHON_BUILD_WITH_CYTHON=1
 
 python setup.py bdist_wheel
 
+@rem Build gRPC Python tools
+set PATH=C:\msys64\mingw%2\bin;%PATH%
+set CC=C:\msys64\mingw%2\bin\g++.exe
+set CFLAGS=-fno-wrapv
+python tools\distrib\python\make_grpcio_tools.py
+if %2 == 32 (
+  python tools\distrib\python\grpcio_tools\setup.py build_ext -c mingw32
+) else (
+  python tools\distrib\python\grpcio_tools\setup.py build_ext -c mingw32 -DMS_WIN64
+)
+python tools\distrib\python\grpcio_tools\setup.py bdist_wheel
+
 mkdir artifacts
 xcopy /Y /I /S dist\* artifacts\ || goto :error
+xcopy /Y /I /S tools\distrib\python\grpcio_tools\dist\* artifacts\ || goto :error
 
 goto :EOF
 
-- 
GitLab