On 1/18/2011 10:31 AM, Vladimir Panteleev wrote:

Then the question is: does the time you spent writing and maintaining
makefiles and build scripts exceed the time it would take you to set up
a build tool?


For D, no.

When I tried to get started with D2, there were a lot of pointers to kewl build utilities on d-source.

None of them worked.

None of them that needed to self-build were capable of it. (Some claimed to "just run," which was also false.)

So I wound up pissing away about two days (spread out here and there as one library or another would proudly report "this uses build tool Z - isn't it cool?!" and I'd chase down another failure).

On the other hand, Gnu Make works. And Perl works. And the dmd2 compiler spits out a dependency list that, with a little bit of perl foo, turns into a makefile fragment nicely.

So now I have a standard makefile package that knows about parsing D source to figure out all the incestuous little details about what calls what. And I'm able, thanks to the miracle of "start here and recurse," to move this system from project to project with about 15 minutes of tweaking. Sometimes more, if there's a whole bunch of targets getting built.

What's even more, of course, is that my little bit of Makefile foo is portable. I can use make with C, D, Java, C++, Perl, XML, or whatever language-of-the-week I'm playing with. Which is certainly not true of "L33+ build tool Z." And make is pretty much feature-complete at this point, again unlike any of the D build tools.

Which means that investing in knowing how to tweak make pays off way better than time spent learning BTZ.

=Austin

Reply via email to