Changes to Steem to get MinGW cross-compilation to work #63
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Along with the changes to fc provided in this pull request (steemit/fc#1), these changes will allow Steem to be cross-compiled for 64-bit Windows target on a Linux (likely *nix) host using the x86_64-w64-mingw32 compiler.
Note that with these new changes, I have tested building steemd on an Ubuntu 15.10 host for both a Linux target and for a 64-bit Windows target, and I have tested running the each set of resulting executables on the appropriate platform: an Ubuntu machine and a 64-bit Windows 10 machine. I have not done any tests with Mac OS X, so please check to make sure everything still works fine there. Also, in theory these changes should not have changed anything regarding whatever the state is of builds on a Windows host using the Microsoft Visual C++ compiler, but I have not tested that.
In addition, this pull request includes changes that make it no longer necessary to link to Qt5 to get diff_match_patch functionality. So, I just removed the ENABLE_CONTENT_PATCHING CMake option entirely. Post/comment body content patching is automatically included when LOW_MEMORY_NODE equals OFF.
And, as a bonus, I included a Python build script that makes it much easier to build Steem (for the native target or for Windows cross-compilation). You can just get the help message from the script using the -h flag to find out how to use it. Note, that for Windows cross-compilation you need to point the script to the OpenSSL and Boost compiled for Windows using the same MinGW compiler. I have other scripts (not included in this pull request) that I will publish soon along with documentation for how to build the Steem dependencies for a MinGW cross-compilation build on a Linux (likely *nix) host.