Martin Renold <[EMAIL PROTECTED]>:
> I've been looking for arguments against SCons a bit. There are. It looks
> like SCons did really fall hard when the KDE project tried to use it:
> 
> http://lwn.net/Articles/188693/  (long article but insightful)
>
> At the end of the WAF manual (pdf) there is also a section about this
> history. And here are some points against WAF:
> 
> http://hughsient.livejournal.com/11016.html?thread=107016
> 
> Just trying to rebalance the discussion a bit.

I read all three of these documents while doing my research.   Let me explain
how my thinking has evolved.

After I read the documentation for all three systems, my strongest
reaction was a deep suspicion of cmake.  I found its spec syntax ugly
and baroque.  I think the makefile-generator approach cmake uses will
inherit many of the autotools problems with a two-level build system,
and is inferior to the scons/WAF approach of doing configure and build
in one operation.  In general, I think what I'm seeing in cmake is a
rigid design with poor extensibility and probably a tendency to break
badly in edge cases.

My suspicions of cmake were largely confirmed by 

http://farragut.flameeyes.is-a-geek.org/articles/2008/01/06/im-not-an-happy-maintainer-working-with-cmake

but were fully formed before I read that.

I really wanted to pick WAF.  I think the author's criticisms of scons are 
probably dead on target.  The theory of WAF strikes me as an improved, 
second-generation take on the approach scons pioneered.  

But...and it's a big but...WAF is immature, very poorly documented, and
smells like it's essentially a single-developer project.  It's also
not widely deployed.  No Ubuntu or Debian package, and no reassurances
about Mac or Windows support.

If the WAF architect is is bright as I suspect he is, WAF is about a
year of development away from being the best choice in this space,
with a good shot at overtaking scons in deployments once it matures.
But that year has not happened yet.  Right now I think WAF would be
too risky for us.

As for KDE picking cmake...the hackers who made that choice are
Germans.  This means I expect them to be bright, conscientious, really
good at sweating details, unfazed by complex specification formalisms,
and willing to work hard to master demanding tools. It also means I
expect them to undervalue design flexibility, to handle ambiguity
poorly, and to tend to thrash when they have too many options.

There may have been objective reasons, but the strengths and
weaknesses I observe in cmake are so well matched to the way the
German hackers of my acquaintance have tended to think that I strongly
suspect that psychological match was the real reason it got picked
over scons.

(There's a joke that was current in Europe when I lived there in the
late 1960/early 1970s: "Heaven is where the police are British, the
chefs Italian, the mechanics German, the lovers French and it is all
organized by the Swiss.  Hell is where the police are German, the
chefs British, the mechanics French, the lovers Swiss, and it is all
organized by the Italians."  While I'll admit that British cooking is
not the unmitigated disaster it was in 1968, I think there is still
enough truth in these stereotypes to make this a good joke...)
-- 
                <a href="http://www.catb.org/~esr/";>Eric S. Raymond</a>

_______________________________________________
Wesnoth-dev mailing list
Wesnoth-dev@gna.org
https://mail.gna.org/listinfo/wesnoth-dev

Reply via email to