X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=examples%2Fcross-compiling-windows-binary.mdwn;h=5574306542839b9839c16a38f1dda72e9776632a;hb=0e0a525a05c6919129ec0046f3144dfe9ec7cc6f;hp=fbfba1e571265b32211a6861ba2e0cb8e0a17766;hpb=9c9765755b3d845f70ad41cc774721be7e310826;p=wiki diff --git a/examples/cross-compiling-windows-binary.mdwn b/examples/cross-compiling-windows-binary.mdwn index fbfba1e..5574306 100644 --- a/examples/cross-compiling-windows-binary.mdwn +++ b/examples/cross-compiling-windows-binary.mdwn @@ -61,6 +61,7 @@ use the MinGW version of GCC and binutils: export PATH="/usr/i586-mingw32msvc/bin:$PATH" exec "$@" EOF + chmod u+x $HOME/bin/mingw If `$HOME/bin` is not already part of your `$PATH`, you need to add it: @@ -97,13 +98,23 @@ tests, so we only build the static library here: OpenSSL is always a bit hard to compile, because they have their own `Configure` script that needs some tweaking. There is also a small bug in -e_os2.h that breaks compilation with recent versions of GCC. First download +e_os2.h in OpenSSL 0.9.8 that breaks compilation with recent versions of GCC. +If you have this version of OpenSSL, then first download this [[openssl-cross-compilation.diff]] to your home directory, then patch -OpenSSL, and then compile as usual. Do not use the `-j` option when compiling -OpenSSL, it will break. +OpenSSL: cd $HOME/mingw/openssl-0.9.8k patch < $HOME/openssl-cross-compilation.diff + +With OpenSSL 1.0.0, this problem is no longer present. However, `apt-get source` will have applied +Debian-specific patches that break cross-compiling a Windows binary. You need to undo those patches first: + + cd $HOME/mingw/openssl-0.9.8k + quilt pop -a + +Now you can compile OpenSSL. +Do not use the `-j` option when compiling OpenSSL, it will break. + mingw ./Configure --openssldir=$HOME/mingw/usr/local mingw mingw make mingw make install