Best Builder to Use

eris jvburnes at gmail.com
Fri Mar 12 12:03:57 PST 2010


> Like Trass3r said, xfbuild will do what you want just fine. I use it.
> I don't know much about 'bud', other than it's pretty old, but some people
> use it (I know bearophile does), so I assume it must have some virtues.
> As far as 'make', well, personally, I hate all forms of 'make' with a
> passion (but that's just me).
> As alternatives to 'make', there's also A-A-P, Python SCons and Ruby Rake.
> None of them will do automatic D dependencies (SCons and Rake definitely
> don't, and I don't think A-A-P does, but I could be wrong), but you can use
> them to do much more than just compile D stuff (and you can use them to
> invoke 'xfbuild' if you want). A-A-P has a lot of good points, although I
> personally find the documentation confusing as hell, so I don't really
> understand how to use it particularly well. SCons and Rake, IMO beat the
> pants off of make, or at least if you're willing to write the build scripts
> in Python or Ruby and require your users to have it installed.

Good ideas there Nick.

Okay, so rebuild/bud are ancient.

Make is admittedly a low-level tool, but time-tested and ubiquitous.  If you can
feed make, then not such a big deal.

Haven't looked at AAP or Rake.  I was looking for something that at least had an
autobuild front-end, with back-end tweaking in case of failure.

SCons I am familiar with and, while I love Python, SCons seemed too large and
unwieldy.  I was working on a D front-end for bam, but I didn't know how much work
it would be and bam is a little light even for me.

I did find a darned interesting build utility. It's light but not too light, well
documented, supports arbitrary build scripting in Lua and can be embedded into the
source package by actually autocompiling itself during the config process.  It's
called prime-mover. Even though it defaults to explicit dependency mode, it also
supports intelligent parser/dependency builder plugins out of the box.  Nothing
for D yet, but they do have a C/C++ plugin. I think you could probably do a D
plugin without too much trouble.

It works just fine on all of the unixen, but I think the only downside is for the
Windows people since it embeds itself into a shell script for the end user.
Otherwise you could build it explicitly.

We'll see.

Until then xfbuild.

I'll play with it and let you know.



More information about the Digitalmars-d mailing list