Fix Version/s: None
This patch applies to both RosBE and ReactOS source trees (build files) and does the following :
- if the sources have been grabbed with a version of SVN older than the one provided by RoSBE, automatic version numbering will fail. Do not issue an error in this case, but only a warning and apply the default number (0.5-SVN) ;
- We now use Ninja 1.7.2 to build, but this version only supports Windows >= Vista 64-bit. We thus detect if our Windows host is supported by Ninja and fall back to MinGW Makefiles otherwise.
- As a result, we now have to make MinGW Makefiles work again (see http://jira.reactos.org/browse/ROSBE-80 e.g.). We do this by :
- avoiding the Wl,major-image-version and -Wl,-minor-image-version options, not supported by our version of ld.exe ;
- fixing executables static linking ;
- working around the precompiled headers crash problem until we found why CMake concatenates them in one big file ;
- working around the Windows backslash path problem in freeldr.sys generation, as previously done in gcc.cmake.
Patch has been tested successfully under Windows XP; Vista, 7 and 10 (32-bit / 64-bit). Building with Ninja on 64-bit hosts still works automatically as expected.