Thanks, nitrogenetics for keeping this guide updated; it did help me track down an issue trying to compile a coin based on Bitcoin 0.8. Though I noticed a few things that probably should be noted from the shift to version "L" of OpenSSL 1.0.1 from version "J":
Not so up to date, but still working. In the next update I'll replace msys with msys2
In the 0.8 headless client modifications to the "makefile.mingw" file, you still have references to "openssl-1.0.1j" that should be updated to "openssl-1.0.1l".
As specified, openssl v1.0.1k and later may lead to consesus forks when used with older unpatched bitcoin code releases.
http://sourceforge.net/p/bitcoin/mailman/message/33221963/Also, when compiling OpenSSL (step 2.1) after running the "./Configure" command, the output from that command suggests running "make depend" first, before running "make", which should probably be part of the instructions? My compile of OpenSSL actually failed out, while parsing the "test" directory (ideatest.c:1:1: error: expected identifier or '(' before '.' token, ../crypto/idea/ideatest.c), but all the source files got properly built before that, so it didn't affect final compilation. Is there a flag to turn off running tests of OpenSSL?
Openssl always suggest doing a make depend when disabling algorithms. Configure options are the same as in
https://github.com/bitcoin/bitcoin/blob/master/depends/packages/openssl.mk, so they should be well tested.
Tests should not run unless you do a make test.
Its mentioned a few times to make sure various things are on in your PATH variable, and an example is shown in the compiling the GUI/Qt step of how to do that in the command prompt, but it's not shown for the MSYS shell; it might be useful to spell it out specifically that to add the MinGW binaries to your PATH in MYSYS, do:
PATH=/c/mingw32/bin:$PATH
But to add them to your PATH in a standard command prompt (which is needed for compiling the QT 4.8 library), do:
set PATH=C:\mingw32\bin;%PATH%
Msys will automatically set environment variables from the current windows setup, so just adding your toolchain bin folder to windows PATH should be enough.
When using qt5 submodules after compiling the base package a 'set PATH=%PATH%;C:\Qt\5.3.2\bin' will be needed in order to have qmake, lrelease, etc available for qt-tools build.
This is not necessary for qt4.8 (available as full package only).
Perl will only be required when compiling qt with qt-webkit enabled.
You mention commenting out the "genleveldb.commands" in the "bitcoin.pro" project file, but if you do that, you should probably also comment out the "QMAKE_CLEAN" line, which attempts to delete the "libleveldb.a" file when a "clean" action is run.
Yes, qmake clean will fail for leveldb and can be probably commented out also (doesn't make a big difference, whereas genleveldb.commands would stop the build process).