export PATH="/usr/amd64-mingw32msvc/bin:$PATH"
exec "$@"
EOF
+ chmod u+x $HOME/bin/mingw64
If `$HOME/bin` is not already part of your `$PATH`, you need to add it:
### Compiling OpenSSL
Although older versions will not compile, OpenSSL 1.0.0 is easy.
+However, `apt-get source` will have applied
+Debian-specific patches that break cross-compiling a Windows binary.
+You need to undo those patches first.
Do not use the `-j` option when compiling OpenSSL, it will break.
cd $HOME/mingw64/openssl-1.0.0
+ quilt pop -a
mingw64 ./Configure --openssldir=$HOME/mingw64/usr/local mingw64
mingw64 make
mingw64 make install
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:
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