June 21, 2011
On 6/21/2011 2:24 PM, Andrej Mitrovic wrote:
> Walter, would it be possible to make .map file generation follow the -od flag? It's odd when a  build script fills a directory with map files while executables and object files are properly in their own directories as specified via -od and -of flags.
> 
> Btw, I have just pushed a changeset and made the build script
> parallel. I turned this:
> foreach (dir; dirs)
> 
> into this:
> foreach (dir; taskPool.parallel(dirs, 1))
> 
> And added other small cosmetic changes, but the above is the only real change.
> 
> Here's my timings:
> Serial build: 1min, 3sec
> Parallel build: 22sec

Fixed in 2.053.  See also bug 4833.
June 21, 2011
On 6/21/11, Daniel Gibson <metalcaedes@gmail.com> wrote:
> The README mentions 2.043 instead of 2.053.

Fixed, thanks.
June 21, 2011
On 6/21/11, Brad Roberts <braddr@puremagic.com> wrote:
> Fixed in 2.053.  See also bug 4833.

Well that's odd because the script still generates map files in the root directory of the script file even though I'm using -od and -of, and I'm using 2.053. I've added a cleanup call after each sample is built so every map file is deleted from the root dir.
June 21, 2011
Wait, I'm using 2.054 from github. This might be a regression. I'll investigate.
June 21, 2011
No I've tested with 2.053 and it still generates a map file. I'll reopen that report.
June 21, 2011
On 6/21/2011 2:45 PM, Andrej Mitrovic wrote:
> Wait, I'm using 2.054 from github. This might be a regression. I'll investigate.

I just checked the source for dmd's link.c (where the changes were) and it hasn't changed.  I just ran some quick tests on linux and it appears to be working correctly still.  Testing on windows is a tad more painful for me, so I haven't re-tested it there.  Take a look at the pull request listed in the ticket for the test cases that were run.

Something you're doing is different than the test cases (which were tested on win32 as well as linux at the time).
June 21, 2011
On Tue, Jun 21, 2011 at 4:29 PM, Trass3r <un@known.com> wrote:

> Am 21.06.2011, 20:32 Uhr, schrieb Andrej Mitrovic < andrej.mitrovich@gmail.com>:
>
>  I don't know whether it is planned to incorporate the WinAPI bindings
>> into Phobos/Druntime, there's at least 2.5 megs of code in prototypes and I'm not sure about the license (it's based on the MinGW headers).
>>
>
> That is indeed long overdue!
>

I feel like I cannot express how immensely helpful such an addition would be.


June 21, 2011
On 21/06/2011 22:24, Andrej Mitrovic wrote:
> Walter, would it be possible to make .map file generation follow the
> -od flag? It's odd when a  build script fills a directory with map
> files while executables and object files are properly in their own
> directories as specified via -od and -of flags.
>
> Btw, I have just pushed a changeset and made the build script
> parallel. I turned this:
> foreach (dir; dirs)
>
> into this:
> foreach (dir; taskPool.parallel(dirs, 1))
>
> And added other small cosmetic changes, but the above is the only real change.
>
> Here's my timings:
> Serial build: 1min, 3sec
> Parallel build: 22sec

I use D as a build script for my project too, it's awesome how easy it is to make the build parallel, and how much compilation time it saves!

Side note: parallel() works as an alias for taskPool.parallel, saves you some characters and looks nicer!

-- 
Robert
http://octarineparrot.com/
June 21, 2011
On 6/21/11, Robert Clipsham <robert@octarineparrot.com> wrote:
> I use D as a build script for my project too, it's awesome how easy it is to make the build parallel, and how much compilation time it saves!

Yeah, true words right there. RDMD is what makes everything run so smooth, it feels like coding in Python.

>
> Side note: parallel() works as an alias for taskPool.parallel, saves you some characters and looks nicer!

Right you are. Fixed!

I can't believe how easy it is to just fix and push something online. It's quite exciting.
June 21, 2011
Ok I've made most of the examples unicode safe now by using std.utf.count instead of .length. The changesets are online.