-
Notifications
You must be signed in to change notification settings - Fork 19
Improve Windows-friendliness for MSVC builds. #10
Conversation
|
After working on various issues, this is the current state of
Pretty cool, huh? :) |
|
Nice write-up 👍 |
|
The last 2 issues about the invalid hex exponent is fixed by using MSVCRT (2015) @Trass3r It'd be cool if you could help investigating some issues. E.g., in |
|
I've updated the results; down to 7 (release: 6) dmd-testsuite issues with my updated win64 branch. |
4985098
to
b5e216a
Compare
The only essential dependencies are GNU make for Windows and bash with some tools (diff, grep...). bash and GNU tools are provided by git for Windows distributions. This commit fixes the x64/x86 detection (my Win8 x64 was detected as Win32 due to `uname.exe` provided by git returning `MINGW32_NT-6.2`), doesn't overwrite the LIB environment variable (which is crucial for the MS linker) and assumes cl.exe to be in a directory in the PATH environment variable rather than a hardcoded path to VS 2010. A binary distribution of GNU make for Windows (from 2006) is available at http://gnuwin32.sourceforge.net/packages/make.htm - you'll need the binaries and dependencies ZIPs. Some scripts require GNU diff to support `--strip-trailing-cr`, which wasn't the case for the ancient diff.exe (v2.7) provided by my git distribution. A newer version (2.8.7) can be downloaded from http://gnuwin32.sourceforge.net/packages/diffutils.htm.
Occurs if the make command is invoked with ctest, not if run directly in a command line. Note that the `quick` make target is supposed to clear ARGS.
The only essential dependencies are GNU
makefor Windows andbashwith some tools (diff,grep...).bashand GNU tools are included bygitfor Windows distributions.This commit fixes the x64/x86 detection (my Win8 x64 was detected as
OS=win32due touname.exeprovided by git returningMINGW32_NT-6.2), doesn't overwrite theLIBenvironment variable (which is crucial for the MS linker) and assumescl.exeto be in a directory in thePATHenvironment variable rather than a hardcoded path to VS 2010.A binary distribution of GNU
makefor Windows (v3.81 from 2006) is available at http://gnuwin32.sourceforge.net/packages/make.htm - you'll need the binaries and dependencies ZIPs.Some scripts require GNU
diffto support--strip-trailing-cr, which wasn't the case for the ancientdiff.exe(v2.7) provided by my git distribution. A newer version (2.8.7) can be downloaded from http://gnuwin32.sourceforge.net/packages/diffutils.htm.