Msys2 fixes, and compilation instructions.

pull/1545/head
Nicolas "Pixel" Noble 10 years ago
parent 47bfcc0730
commit 5fc1adf9b9
  1. 23
      INSTALL
  2. 3
      Makefile
  3. 1
      src/core/iomgr/iocp_windows.c
  4. 2
      src/core/iomgr/tcp_client_windows.c
  5. 3
      templates/Makefile.template

@ -140,6 +140,29 @@ you will need to install certain modules for python.
$ sudo easy_install simplejson mako
Mingw-specific notes:
---------------------
While gRPC compiles properly under mingw, some more preparation work is needed.
The recommendation is to use msys2. The installation instructions are available
at that address: http://msys2.github.io/
Once this is installed, make sure you are using the following: MinGW-w64 Win64.
You'll be required to install a few more packages:
$ pacman -S make mingw-w64-x86_64-gcc mingw-w64-x86_64-zlib autoconf automake libtool
Please also install OpenSSL from that website:
http://slproweb.com/products/Win32OpenSSL.html
The package Win64 OpenSSL v1.0.2a should do. At that point you should be able
to compile gRPC with the following:
$ export LDFLAGS="-L/mingw64/lib -L/c/OpenSSL-Win64"
$ export CPPFLAGS="-I/mingw64/include -I/c/OpenSSL-Win64/include"
$ make
A word on OpenSSL
-----------------

@ -42,6 +42,9 @@ endif
ifeq ($(SYSTEM),MSYS)
SYSTEM = MINGW32
endif
ifeq ($(SYSTEM),MINGW64)
SYSTEM = MINGW32
endif
ifndef BUILDDIR

@ -121,7 +121,6 @@ static void do_iocp_work() {
}
static void iocp_loop(void *p) {
void * eventshutdown = NULL;
while (gpr_atm_acq_load(&g_orphans) ||
gpr_atm_acq_load(&g_custom_events) ||
!gpr_event_get(&g_shutdown_iocp)) {

@ -98,10 +98,10 @@ static void on_connect(void *acp, int from_iocp) {
if (from_iocp) {
DWORD transfered_bytes = 0;
DWORD flags;
info->outstanding = 0;
BOOL wsa_success = WSAGetOverlappedResult(sock, &info->overlapped,
&transfered_bytes, FALSE,
&flags);
info->outstanding = 0;
GPR_ASSERT(transfered_bytes == 0);
if (!wsa_success) {
char *utf8_message = gpr_format_message(WSAGetLastError());

@ -56,6 +56,9 @@ endif
ifeq ($(SYSTEM),MSYS)
SYSTEM = MINGW32
endif
ifeq ($(SYSTEM),MINGW64)
SYSTEM = MINGW32
endif
ifndef BUILDDIR

Loading…
Cancel
Save