On Tuesday, 5 August 2014 at 03:17:11 UTC, Kapps wrote:
Steps I had to do (coincidentally, just today):

1) Edit win64.mak on druntime / phobos to change from 10.0 to 12.0 for VS, and from v7.0A to v8.1A for SDK directory. 2) Edit sc.ini where it says the mspdb*.dll line, remove the x86_amd64/bin or such and just make it "PATH=%PATH%;%VCINSTALLDIR%\bin\;%VCINSTALLDIR%\..\Common7\IDE". This should fix the error you're having. 3) Edit the tools win32.mak to use -m64 and thus actually be 64-bit. The makefiles don't use a different folder for x86 and x64, so you can't have a 32-bit version of phobos and 64-bit version of phobos at same time, so tools needs to be built for 64-bit. Then I removed everything but ddemangle and rdmd from the targets.

Basically, the Windows makefiles are a bit of a mess because they don't allow 32-bit and 64-bit versions at the same time and assume VS2010.

After these changes I was successfully able to build the tools repository.

I am trying to write down the script routine needed to build all D toolchain in a simple way I am used to. So far I have this : http://wiki.dlang.org/Developing_DMD_/_Phobos_on_Windows_8

It relies on vcvars.bat instead of defining full paths everywhere and results in small development environment contained in a single folder. dmd, druntime and phobos build without problems (though dmd requires https://github.com/D-Programming-Language/dmd/pull/3866) but when I tried building rdmd.d got interesting linker error:

link rdmd,,nul,user32+kernel32/noi;
LINK: fatal error LNK1181: cannot open input file 'rdmd,,nul,user32+kernel32/noi;.obj'

I have no idea where such garbage linker input may come from. Any suggestions?

Reply via email to