COFF on Win32 how to try?

Szymon Gatner via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Fri Oct 10 11:44:06 PDT 2014


On Friday, 10 October 2014 at 16:14:56 UTC, Rainer Schuetze wrote:
>
>
> On 10.10.2014 10:37, Szymon Gatner wrote:
>> I would like to try recently merged COFF support on Win32 for 
>> a hybrid
>> D/C++ application.
>>
>> Until now I tried that (hybridizing) only with DMD from the 
>> official
>> installer and in x64 mode.
>>
>> My question is: how to try the same in 32 bits?
>
> You need a recent version of dmd, druntime and phobos from 
> github: https://github.com/D-Programming-Language
>
> If you have never built these yourself, Digger might be of 
> great help: https://github.com/CyberShadow/Digger/releases. It 
> will also fetch these from github and download tools needed for 
> building. Digger doesn't know about COFF32 yet, though.
>
> Then build druntime inside its directory:
> make -f win64.mak MODEL=32mscoff 
> "CC=\"%VCINSTALLDIR%\bin\cl.exe\"" target unittest
>
> and phobos:
> make -f win64.mak MODEL=32mscoff 
> "CC=\"%VCINSTALLDIR%\bin\cl.exe\"" 
> "AR=\"%VCINSTALLDIR%\bin\lib.exe\""
>
> Add a configuration section [Environment32mscoff] to your 
> sc.ini and add options matching these:
>
> https://github.com/D-Programming-Language/dmd/blob/master/ini/windows/bin/sc.ini#L84
>
> Building is done with option -m32mscoff instead of -m32/-m64.


Hi, thanks for all the information.

I got Digger (pretty nice tool btw) and it pulled all neccessary 
repos from GitHub. As my understanding is that I should not be 
doing "Build" with Diggger I just opened Windows console, entered 
druntime dir and typed:

d:\digger-1.0\repo\druntime>make -f win64.mak MODEL=32mscoff 
"CC=\"%VCINSTALLDIR
%\bin\cl.exe\""

and got:

dmd -c -o- -Isrc -Iimport -Hfimport\core\sync\barrier.di 
src\core\sync\barrier.d

src\core\stdc\stdio.d(859): Error: found 'nothrow' when expecting 
'{'
src\core\stdc\stdio.d(861): Error: mismatched number of curly 
brackets
src\core\stdc\stdio.d(862): Error: mismatched number of curly 
brackets
src\core\stdc\stdio.d(863): Error: mismatched number of curly 
brackets
src\core\stdc\stdio.d(864): Error: mismatched number of curly 
brackets
src\core\stdc\stdio.d(865): Error: mismatched number of curly 
brackets
src\core\stdc\stdio.d(866): Error: mismatched number of curly 
brackets
src\core\stdc\stdio.d(867): Error: mismatched number of curly 
brackets
src\core\stdc\stdio.d(871): Error: asm statements must end in ';'
src\core\stdc\stdio.d(874): Error: found 'private' instead of 
statement
src\core\stdc\stdio.d(884): Error: no identifier for declarator 
add
src\core\stdc\stdio.d(887): Error: no identifier for declarator 
usDone
src\core\stdc\stdio.d(887): Error: Declaration expected, not ':'
src\core\stdc\stdio.d(894): Error: Declaration expected, not '('
src\core\stdc\stdio.d(896): Error: Declaration expected, not 
'foreach'
src\core\stdc\stdio.d(896): Error: Declaration expected, not '0'
src\core\stdc\stdio.d(901): Error: no identifier for declarator 
__fhnd_info[fd]
src\core\stdc\stdio.d(901): Error: Declaration expected, not '='
src\core\stdc\stdio.d(902): Error: Declaration expected, not 
'return'
src\core\stdc\stdio.d(904): Error: unrecognized declaration

--- errorlevel 1


More information about the Digitalmars-d-learn mailing list