Re: build systems



On Nov 9, 2007 2:51 PM, Emmanuel Fleury <fleury labri fr> wrote:
> Richard Hughes wrote:
> > On Fri, 2007-11-09 at 13:52 +0100, Daniel Svensson wrote:
> >> waf runs in two steps, first configure,
> >> then build. And I cannot stress enough how fast it is. Zooom! Also it
> >> has a very nice looks ;)
> >
> > Yes, I evaluated waf a few months ago. It's a very nice internal design,
> > and very pluggable. Unfortunatly it needs the same modules written as
> > what we use with autotools, e.g. a module to install a schema file, do
> > the translation stuff etc.
> >
> > It's written in python, and is really a nice project. If I was more l33t
> > at python I would be pushing it much harder than I am for use inside
> > GNOME.
>
> Did someone tried out Scons (http://www.scons.org/) ?

I did exactly that, about 1.5 years ago[1]. Not much has changed since
then, autotools are still despised, but no one has yet implemented and
demonstrated a superior solution for GNOME.

I created an initially simple configuration system for SCons and wrote
SConstruct files for building Richard Hughes gnome-power-manager. It
turned out to be a pretty good exercise because g-p-m has many
optional dependencies, such as DPMS and doxygen. Using SCons to
configure, compile and install was at least five times as fast as
using autotools.

In the end, I had to give up because I thought it would be fairly
simple to hack together the configuration system, but it was
not. SCons had its idea about how to parse the command line, how to do
configure checks and how to display help text. All things that work
really well when you use SCons as it is intended -- as a replacement
for make. But to create an autotools replacement you had to basically
code around those bits. So the configuration layer around SCons got so
big and complicated (1500 lines), that the advantages of simple SCons
versus overcomplicated autotools vanished.

Thomas Nagy also experimented with SCons at about the same time. He
created the much more ambitious bksys system for building
KDE[2]. However, bksys was not adopted by KDE who instead opted for
CMake, partially because CMake was more flexible and maybe also
because it was faster than bksys[3]. So bksys was abandoned.

Thomas Nagy then forked SCons and created waf to overcome SCons
problems. I have no experience from it, but it looks promising since
it is supposed to be a full-fledged autotools replacement which is
exactly what we need.

 1 - http://mail.gnome.org/archives/desktop-devel-list/2005-December/msg00106.html
 2 - http://dot.kde.org/1126452494/
 3 - http://lwn.net/Articles/188693/


-- 
mvh Björn


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]