|  | @@ -41,7 +41,7 @@ copy /Y vsprojects\Release\grpc_dll.dll src\python\grpcio\grpc\_cython\_windows\
 | 
	
		
			
				|  |  |  copy /Y vsprojects\x64\Release\grpc_dll.dll src\python\grpcio\grpc\_cython\_windows\grpc_c.64.python || goto :error
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -set PATH=C:\%1;C:\%1\scripts;%PATH%
 | 
	
		
			
				|  |  | +set PATH=C:\%1;C:\%1\scripts;C:\msys64\mingw%2\bin;%PATH%
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  pip install --upgrade six
 | 
	
		
			
				|  |  |  pip install --upgrade setuptools
 | 
	
	
		
			
				|  | @@ -55,19 +55,28 @@ 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
 | 
	
		
			
				|  |  | +@rem
 | 
	
		
			
				|  |  | +@rem Because this is windows and *everything seems to hate Windows* we have to
 | 
	
		
			
				|  |  | +@rem set all of these flags ourselves because Python won't help us (see the
 | 
	
		
			
				|  |  | +@rem setup.py of the grpcio_tools project).
 | 
	
		
			
				|  |  | +set GRPC_PYTHON_CFLAGS=-fno-wrapv -frtti -std=c++11
 | 
	
		
			
				|  |  | +@rem Further confusing things, MSYS2's mingw64 tries to dynamically link
 | 
	
		
			
				|  |  | +@rem libgcc, libstdc++, and winpthreads. We have to override this or our
 | 
	
		
			
				|  |  | +@rem extensions end up linking to MSYS2 DLLs, which the normal Python on
 | 
	
		
			
				|  |  | +@rem Windows user won't have... and ON TOP OF THIS, there's MinGW's GCC default
 | 
	
		
			
				|  |  | +@rem behavior of linking msvcrt.dll as the C runtime library, which we need to
 | 
	
		
			
				|  |  | +@rem override so that Python's distutils doesn't link us against multiple C
 | 
	
		
			
				|  |  | +@rem runtimes.
 | 
	
		
			
				|  |  | +python -c "from distutils.cygwinccompiler import get_msvcr; print(get_msvcr()[0])" > temp.txt
 | 
	
		
			
				|  |  | +set /p PYTHON_MSVCR=<temp.txt
 | 
	
		
			
				|  |  | +set GRPC_PYTHON_LDFLAGS=-static-libgcc -static-libstdc++ -mcrtdll=%PYTHON_MSVCR% -static -lpthread
 | 
	
		
			
				|  |  |  python tools\distrib\python\make_grpcio_tools.py
 | 
	
		
			
				|  |  | -@rem The following commands *must* be run with the right version of python
 | 
	
		
			
				|  |  | -@rem otherwise the build get SNAFU'd (so we use the .exe suffix to invoke the python
 | 
	
		
			
				|  |  | -@rem we set in the %PATH% variable above).
 | 
	
		
			
				|  |  |  if %2 == 32 (
 | 
	
		
			
				|  |  | -  python.exe tools\distrib\python\grpcio_tools\setup.py build_ext -c mingw32
 | 
	
		
			
				|  |  | +  python tools\distrib\python\grpcio_tools\setup.py build_ext -c mingw32
 | 
	
		
			
				|  |  |  ) else (
 | 
	
		
			
				|  |  | -  python.exe tools\distrib\python\grpcio_tools\setup.py build_ext -c mingw32 -DMS_WIN64
 | 
	
		
			
				|  |  | +  python tools\distrib\python\grpcio_tools\setup.py build_ext -c mingw32 -DMS_WIN64
 | 
	
		
			
				|  |  |  )
 | 
	
		
			
				|  |  | -python.exe tools\distrib\python\grpcio_tools\setup.py bdist_wheel
 | 
	
		
			
				|  |  | +python tools\distrib\python\grpcio_tools\setup.py bdist_wheel
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  mkdir artifacts
 | 
	
		
			
				|  |  |  xcopy /Y /I /S dist\* artifacts\ || goto :error
 |