std.parallelism is accepted into Phobos

Robert Clipsham robert at octarineparrot.com
Tue Apr 26 08:51:31 PDT 2011


On 26/04/2011 16:09, Andrei Alexandrescu wrote:
> On 4/26/11 7:50 AM, Russel Winder wrote:
>> On Tue, 2011-04-26 at 08:32 -0400, dsimcha wrote:
>> [ . . . ]
>>
>>> Soon. I'm praying that I can figure out makefiles in that time to check
>>> std.parallelism in, since I think they're harder to work with than
>>> multithreading. (Ok, I'm exaggerating.) Among the other major
>>> improvements in this release:
>>
>> Isn't Make 1970s technology, I'd have thought D would use more
>> up-to-date build technology than that -- even though Go uses it and
>> refuses to look at other options.
>
> The debate about make being inadequate is almost as old as make itself
> :o). Our gnu makefile for Posix isn't in any way difficult or scary,
> although it did take a few iterations to get it right. It has 312 lines
> to control a build of 143KLOC, which is a good ratio. The only
> difficulty David would have to modify that makefile is to find the one
> place where all modules are enumerated, and insert his module's name
> there, so I have no idea why he finds that task daunting. (The Windows
> makefile is crappier and repeats itself a lot of times so that's more
> annoying to deal with.)
>
> The simple fact is that if someone wants to improve our build system
> they'd have to define it and argue successfully for its superiority. The
> issues I'm seeing as a build-systems-outsider who doesn't pay much
> attention are: (a) there are TONS of them; (b) each has issues that
> prevents it from becoming a new de facto standard; (c) the "best" one
> depends a lot on who you ask.
>
>
> Andrei
>

My current favorite build tool is redo - it's about 200 lines of python 
and build scripts are about 5 lines for entire projects. It supports 
full dependencies (a depends on b depends on c, c is changed, a, b, and 
c recompiled), parallel compilation etc. I've set mine up to need zero 
modification too when I add new files to my library. Heck, you can even 
write your build scripts in D! That said, they'll be rather ugly unless 
you port the python to D, once that is done you could write a beautiful 
build script using D, it's on my todo list for when I get some free 
time... (When is that btw? :D).

https://github.com/apenwarr/redo more info at http://cr.yp.to/redo.html 
which is linked from the github page anyway.

-- 
Robert
http://octarineparrot.com/


More information about the Digitalmars-d mailing list