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