Guide for dmd development @ Win64?

Dicebot via Digitalmars-d digitalmars-d at puremagic.com
Sun Aug 10 19:35:09 PDT 2014


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?


More information about the Digitalmars-d mailing list