Re-thinking D's modules

Wouter Verhelst wouter at grep.be
Sun Jul 22 05:17:58 PDT 2012


Russel Winder <russel at winder.org.uk> writes:

> On Sat, 2012-07-21 at 02:17 +0200, Wouter Verhelst wrote:
> [...]
>> I don't know about cmake; and scons and waf are both crap, so it's not
>> surprising they've not even heard of symbol versioning.
>
> I disagree, I think SCons and Waf (along with Gradle) make Make, CMake,
> Autotools, etc., etc. look like "past their use-by date" tools from the
> 1970s. You have to justify your opinion that they are "crap", simply
> saying they are does not make it so.

(this is fairly off-topic here, so I won't comment on this subthread
anymore -- please reply by private mail if you want more details)

Waf wants you to keep the entire waf source inside your distribution
tarball. This makes it extremely hard for a distribution to update all
their packages for, say, security issues in waf, and makes your
distribution tarball huge for no good reason. Additionally, waf has a
tendency to break API every other release last I checked, which makes it
difficult to upgrade. I happen to think the waf maintainer is fairly
nuts too, but that's a personal opinion. I haven't looked close enough
at waf to give you much detail about it, however.

SCons happened to be used by a package I used to maintain for Debian. It
lacks a number of fairly important features, such as the ability to
cross-build, do staged installs (i.e., something like "make DESTDIR=/tmp
install" with automake), and a number of other things. Additionally, for
the things it does support, the fact that you can just inject arbitrary
python code everywhere means that in most cases people using SCons for
their build system will (inadvertently?) break it, since they don't know
about the feature or think it doesn't matter for their project. It's
just a pain to use for people building software with it who have
nonstandard needs.

Autotools, while a bit warty in some areas, actually works. Once I read
the manual (which, granted, is something that shouldn't be necessary in
the first place) and understood how it worked, I've never wanted to use
anything else anymore.

There are many people out there who think they can do a better job than
autotools, and they all come up with a substandard YABAR[1]. I'll be the
first to agree that autotools could use *quite* some improvement in the
usability department, but replacing a body of code which has been 20
years in the making so you come up with similar functionality isn't
something you can do in two weeks of coding. Yes, granted, waf and SCons
have been worked on for a while longer than that. Still.

[1] Yet Another Bloody Autotools Replacement

-- 
The volume of a pizza of thickness a and radius z can be described by
the following formula:

pi zz a


More information about the Digitalmars-d mailing list