Russel Winder <rus...@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