Re: COFF on Win32 how to try?

2014-10-13 Thread Szymon Gatner via Digitalmars-d-learn

On Saturday, 11 October 2014 at 13:35:55 UTC, Rainer Schuetze
wrote:


Yes, DMD git HEAD is required.


Getting this when trying to build all with Digger:

std\uri.d(872): Deprecation: alias object.clear is deprecated -
Please use destroy instead.
std\uri.d(1166): Deprecation: alias object.clear is deprecated -
Please use destroy instead.
std\concurrency.d(1352): Error: function expected before (), not
currSystemTick() of type TickDuration
std\concurrency.d(1354): Error: function expected before (), not
currSystemTick() of type TickDuration
std\concurrency.d(1348): Error: function
std.concurrency.FiberScheduler.FiberCondition.wait no return exp;
or assert(0); at end of function
std\concurrency.d(1395): Error: function expected before (), not
this.m_fibers[this.m_pos].state() of type State
std\concurrency.d(1971): Error: function expected before (), not
currSystemTick() of type TickDuration
std\concurrency.d(2019): Error: function expected before (), not
currSystemTick() of type TickDuration
std\concurrency.d(1822): Error: function
std.concurrency.MessageBox.get!(Duration, bool delegate(Tid
origin, CurlMessage!(immutable(ubyte)[]) _data) @system, bool
delegate(Tid origin, CurlMessage!bool f) @system).get no return
exp; or assert(0); at end of function
std\concurrency.d(811): Error: template instance
std.concurrency.MessageBox.get!(Duration, bool delegate(Tid
origin, CurlMessage!(immutable(ubyte)[]) _data) @system, bool
delegate(Tid origin, CurlMessage!bool f) @system) error
instantiating
std\net\curl.d(1185):instantiated from here:
receiveTimeout!(bool delegate(Tid origin,
CurlMessage!(immutable(ubyte)[]) _data) @system, bool
delegate(Tid origin, CurlMessage!bool f) @system)
std\internal\math\biguintx86.d(120): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d-mixin-141(141): Deprecation: asm
statement is assumed to be impure - mark it with 'pure' if it is
not
std\internal\math\biguintx86.d(147): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d-mixin-158(158): Deprecation: asm
statement is assumed to be impure - mark it with 'pure' if it is
not
std\internal\math\biguintx86.d(163): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(120): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d-mixin-141(141): Deprecation: asm
statement is assumed to throw - mark it with 'nothrow' if it does
not
std\internal\math\biguintx86.d(147): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d-mixin-158(158): Deprecation: asm
statement is assumed to throw - mark it with 'nothrow' if it does
not
std\internal\math\biguintx86.d(163): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(225): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(235): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(236): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(225): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(235): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(236): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(120): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d-mixin-141(141): Deprecation: asm
statement is assumed to be impure - mark it with 'pure' if it is
not
std\internal\math\biguintx86.d(147): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d-mixin-158(158): Deprecation: asm
statement is assumed to be impure - mark it with 'pure' if it is
not
std\internal\math\biguintx86.d(163): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(120): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d-mixin-141(141): Deprecation: asm
statement is assumed to throw - mark it with 'nothrow' if it does
not
std\internal\math\biguintx86.d(147): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d-mixin-158(158): Deprecation: asm
statement is assumed to throw - mark it with 'nothrow' if it does
not
std\internal\math\biguintx86.d(163): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does 

Re: COFF on Win32 how to try?

2014-10-13 Thread Szymon Gatner via Digitalmars-d-learn

On Saturday, 11 October 2014 at 13:35:55 UTC, Rainer Schuetze
wrote:


Yes, DMD git HEAD is required.


Getting this when trying to build all with Digger:

std\uri.d(872): Deprecation: alias object.clear is deprecated -
Please use destroy instead.
std\uri.d(1166): Deprecation: alias object.clear is deprecated -
Please use destroy instead.
std\concurrency.d(1352): Error: function expected before (), not
currSystemTick() of type TickDuration
std\concurrency.d(1354): Error: function expected before (), not
currSystemTick() of type TickDuration
std\concurrency.d(1348): Error: function
std.concurrency.FiberScheduler.FiberCondition.wait no return exp;
or assert(0); at end of function
std\concurrency.d(1395): Error: function expected before (), not
this.m_fibers[this.m_pos].state() of type State
std\concurrency.d(1971): Error: function expected before (), not
currSystemTick() of type TickDuration
std\concurrency.d(2019): Error: function expected before (), not
currSystemTick() of type TickDuration
std\concurrency.d(1822): Error: function
std.concurrency.MessageBox.get!(Duration, bool delegate(Tid
origin, CurlMessage!(immutable(ubyte)[]) _data) @system, bool
delegate(Tid origin, CurlMessage!bool f) @system).get no return
exp; or assert(0); at end of function
std\concurrency.d(811): Error: template instance
std.concurrency.MessageBox.get!(Duration, bool delegate(Tid
origin, CurlMessage!(immutable(ubyte)[]) _data) @system, bool
delegate(Tid origin, CurlMessage!bool f) @system) error
instantiating
std\net\curl.d(1185):instantiated from here:
receiveTimeout!(bool delegate(Tid origin,
CurlMessage!(immutable(ubyte)[]) _data) @system, bool
delegate(Tid origin, CurlMessage!bool f) @system)
std\internal\math\biguintx86.d(120): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d-mixin-141(141): Deprecation: asm
statement is assumed to be impure - mark it with 'pure' if it is
not
std\internal\math\biguintx86.d(147): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d-mixin-158(158): Deprecation: asm
statement is assumed to be impure - mark it with 'pure' if it is
not
std\internal\math\biguintx86.d(163): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(120): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d-mixin-141(141): Deprecation: asm
statement is assumed to throw - mark it with 'nothrow' if it does
not
std\internal\math\biguintx86.d(147): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d-mixin-158(158): Deprecation: asm
statement is assumed to throw - mark it with 'nothrow' if it does
not
std\internal\math\biguintx86.d(163): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(225): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(235): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(236): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(225): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(235): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(236): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d(120): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d-mixin-141(141): Deprecation: asm
statement is assumed to be impure - mark it with 'pure' if it is
not
std\internal\math\biguintx86.d(147): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d-mixin-158(158): Deprecation: asm
statement is assumed to be impure - mark it with 'pure' if it is
not
std\internal\math\biguintx86.d(163): Deprecation: asm statement
is assumed to be impure - mark it with 'pure' if it is not
std\internal\math\biguintx86.d(120): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d-mixin-141(141): Deprecation: asm
statement is assumed to throw - mark it with 'nothrow' if it does
not
std\internal\math\biguintx86.d(147): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does not
std\internal\math\biguintx86.d-mixin-158(158): Deprecation: asm
statement is assumed to throw - mark it with 'nothrow' if it does
not
std\internal\math\biguintx86.d(163): Deprecation: asm statement
is assumed to throw - mark it with 'nothrow' if it does 

Re: COFF on Win32 how to try?

2014-10-13 Thread Rainer Schuetze via Digitalmars-d-learn



On 13.10.2014 10:12, Szymon Gatner wrote:

On Saturday, 11 October 2014 at 13:35:55 UTC, Rainer Schuetze
wrote:


Yes, DMD git HEAD is required.


Getting this when trying to build all with Digger:

std\uri.d(872): Deprecation: alias object.clear is deprecated -
Please use destroy instead.
std\uri.d(1166): Deprecation: alias object.clear is deprecated -
Please use destroy instead.
std\concurrency.d(1352): Error: function expected before (), not
currSystemTick() of type TickDuration
std\concurrency.d(1354): Error: function expected before (), not
currSystemTick() of type TickDuration
std\concurrency.d(1348): Error: function
std.concurrency.FiberScheduler.FiberCondition.wait no return exp;
or assert(0); at end of function
std\concurrency.d(1395): Error: function expected before (), not
this.m_fibers[this.m_pos].state() of type State
std\concurrency.d(1971): Error: function expected before (), not
currSystemTick() of type TickDuration

...


--- errorlevel 1
Fatal error: Command [make, -f, win32.mak, phobos.lib,
MODEL=32] failed with status 1

Sorry for taking your time. I thin, I'll just wait for 2.067 and
re-try then.


I believe you have built the pull requests by choosing Make me one with 
everything from the web interface. That stops at the first failing one.


Just hit Build. That worked for Win32 for me, but I got a ZipException 
when downloading the tools to build Win64.


Re: COFF on Win32 how to try?

2014-10-11 Thread Rainer Schuetze via Digitalmars-d-learn



On 10.10.2014 20:44, Szymon Gatner wrote:

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:


You have to build dmd, so it should be  good starting point to succeed 
in building the full chain for win64: dmd, druntime and win64.




d:\digger-1.0\repo\druntimemake -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 '{'


Ahh, I thought it would use a compiled dmd by default. You will have to 
specify the path to dmd too:


make -f win64.mak MODEL=32mscoff CC=\%VCINSTALLDIR%\bin\cl.exe\ 
DMD=../result/bin/dmd


The given dmd path is specific to building with digger (the normal path 
is ../dmd/src/dmd). You'll have to update sc.ini there, too.


Re: COFF on Win32 how to try?

2014-10-11 Thread Szymon Gatner via Digitalmars-d-learn
On Saturday, 11 October 2014 at 09:21:18 UTC, Rainer Schuetze 
wrote:



On 10.10.2014 20:44, Szymon Gatner wrote:

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:


You have to build dmd, so it should be  good starting point to 
succeed in building the full chain for win64: dmd, druntime and 
win64.


You mean for Win32? Beacause that is what I am after.





d:\digger-1.0\repo\druntimemake -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 '{'


Ahh, I thought it would use a compiled dmd by default. You will 
have to specify the path to dmd too:


make -f win64.mak MODEL=32mscoff 
CC=\%VCINSTALLDIR%\bin\cl.exe\ DMD=../result/bin/dmd


The given dmd path is specific to building with digger (the 
normal path is ../dmd/src/dmd). You'll have to update sc.ini 
there, too.


So to build HEAD druntime and Phobos I also need HEAD DMD, 
correct? Installation of 2.066 I have now is not sufficent?


Re: COFF on Win32 how to try?

2014-10-11 Thread Sag Academy via Digitalmars-d-learn

On Saturday, 11 October 2014 at 10:12:47 UTC, Szymon Gatner wrote:
On Saturday, 11 October 2014 at 09:21:18 UTC, Rainer Schuetze 
wrote:



On 10.10.2014 20:44, Szymon Gatner wrote:

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:


You have to build dmd, so it should be  good starting point to 
succeed in building the full chain for win64: dmd, druntime 
and win64.


You mean for Win32? Beacause that is what I am after.





d:\digger-1.0\repo\druntimemake -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 '{'


Ahh, I thought it would use a compiled dmd by default. You 
will have to specify the path to dmd too:


make -f win64.mak MODEL=32mscoff 
CC=\%VCINSTALLDIR%\bin\cl.exe\ DMD=../result/bin/dmd


The given dmd path is specific to building with digger (the 
normal path is ../dmd/src/dmd). You'll have to update sc.ini 
there, too.


So to build HEAD druntime and Phobos I also need HEAD DMD, 
correct? Installation of 2.066 I have now is not sufficent?


sounds good


Re: COFF on Win32 how to try?

2014-10-11 Thread Rainer Schuetze via Digitalmars-d-learn



On 11.10.2014 12:12, Szymon Gatner wrote:

On Saturday, 11 October 2014 at 09:21:18 UTC, Rainer Schuetze wrote:



On 10.10.2014 20:44, Szymon Gatner wrote:

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:


You have to build dmd, so it should be  good starting point to succeed
in building the full chain for win64: dmd, druntime and win64.


You mean for Win32? Beacause that is what I am after.


I meant Win64, because the tool chain is very much the same as for 
win32mscoff (MS compiler and linker and C runtime). Win32 means dmc and 
optlink. That's also why the win64.mak makefiles are abused for win32mscoff.








d:\digger-1.0\repo\druntimemake -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 '{'


Ahh, I thought it would use a compiled dmd by default. You will have
to specify the path to dmd too:

make -f win64.mak MODEL=32mscoff CC=\%VCINSTALLDIR%\bin\cl.exe\
DMD=../result/bin/dmd

The given dmd path is specific to building with digger (the normal
path is ../dmd/src/dmd). You'll have to update sc.ini there, too.


So to build HEAD druntime and Phobos I also need HEAD DMD, correct?
Installation of 2.066 I have now is not sufficent?


Yes, DMD git HEAD is required.


COFF on Win32 how to try?

2014-10-10 Thread Szymon Gatner via Digitalmars-d-learn
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?


Re: COFF on Win32 how to try?

2014-10-10 Thread Rainer Schuetze via Digitalmars-d-learn



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.


Re: COFF on Win32 how to try?

2014-10-10 Thread Szymon Gatner via Digitalmars-d-learn

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\druntimemake -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