pomack / thrift4go

Apache Thrift for the Go Language
129 stars 23 forks source link

Build a Windows executable #51

Open liamzebedee opened 12 years ago

liamzebedee commented 12 years ago

I'm developing on a Windows machine, and due to the multiple bash-specific scripts, I cannot build. Would it be possible for a prebuilt Windows executable to be made?

pomack commented 12 years ago

I don't have access to a Windows machine with a full development environment. As such, making a Windows executable is not high on my priority list right now. Most scripts have been replaced with appropriate Makefile and built using the standard autoconfigure tools that the main thrift project uses. Are you building the rest of thrift on Windows? What about the associated run-time libraries? Are you using Go on Windows as well? Was that pre-built or built using a particular toolchain?

liamzebedee commented 12 years ago

I am trying to build with Cygwin. Over the weekend I will try just running natively using MinGW and other Windows tools and see if I can get it to build.

Is there any chance of this being merged back into the main Apache Thrift tree?

pomack commented 12 years ago

We'd like it to be merged back into the main Apache Thrift tree and they do too. There are still some bugs and distribution issues that we need to fix before submitting it to them.

Let me know how well it works building on Windows. I'll try to help however I can.

liamzebedee commented 11 years ago

Sorry it's taken so long to reply, I've been working a lot. Here is the output from merge_and_build.sh -

$ ./merge_and_build.sh This script will patch in the local changes such that one can build Apache Thrift 0.8.0 with the current revision of thrift4go. A number of sanity checks will be run before-hand.

One may wish to run this script as "bash -x ./merge_and_build.sh" to see exactly what steps it performs, as it will modify the local source copy of Thrift. The script will abort if it encounters any errors.

It may also be run as "./merge_and_build.sh -b" for batch mode, in which case no prompts will be performed. ./merge_and_build.sh: line 18: getopt: command not found Do you wish to proceed: [Y]es or [N]o?Y WARNING: /cygdrive/c/Users/liamzebedee/Documents/workspace/thrift-0.8.0/cleanup.sh does not exist. A copy from Thrift 0.8.0 is being provided in its place. This may occur if using a Thrift release tarball. WARNING: /cygdrive/c/Users/liamzebedee/Documents/workspace/thrift-0.8.0/bootstrap.sh does not exist. A copy from Thrift 0.8.0 is being provided in its place. This may occur if using a Thrift release tarball. configure.ac: warning: missing AC_CHECK_HEADERS([wchar.h]) wanted by: lib/py/compat/win32/stdint.h:52 libtoolize: $pkgltdldir is not a directory: `/mingw/share/libtool'

I am indeed using a Thrift release tarball, but I am still concerned about the libtoolize error on the last line. I am building using Cygwin (obviously).

I also have a local Ubuntu boot, if would be possible to cross-compile.