A note about the source: upstream doesn't do release tarballs. The source is only available via git (older versions used svn). What I had to do to get the 1.8.2 source: download the windows binary, run strings on it to find the git commit hash, then clone the git repo and check out that revision. Then I spent a couple hours trying to patch it so it would compile, then said "hell with it" and used the latest git (which compiles and runs fine). So my VERSION is a lie, which might cause problems if you want to play multiplayer with people using the windows 1.8.2 binary release. Blame upstream, not me. For reference, the windows binary's commit hash is: cbdfa61619ee99db541361b8ca174d58848e4 The one in my tarball is: 4a23b97963d8e57d4c62efa41323910df903d gzdoom's build process requires it to be built from a git checkout. It uses the .git stuff to define a GIT_REVISION variable. That's why the source tarball contains a .git/ dir. If it doesn't, you end up with a gzdoom that announces itself as revision (shows up in the console and titlebar of the window). Also the revision is used to check savegame compatibility, so it's not just cosmetic.