lilypond-devel
[Top][All Lists]
Advanced

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

Switching to Waf instead of SCons?


From: John Mandereau
Subject: Switching to Waf instead of SCons?
Date: Tue, 08 Sep 2009 18:13:34 +0200

Hi folks,

After a bit of private discussion with Jan and Graham, I've decided to
stop maintaining current build system (or rather the parts I used to
maintain), and we should switch to a build system that allows writing
build routines easier to maintain and understand.  Jan proposed SCons
[0], and after having read SCons User Manual, I think we could make good
use of it.  However, SCons has severe speed issues, which Waf [1], one
of his younger (and Python-based, just like SCons) competitors, doesn't
have -- see benchmarks [2] and [3].

Then Graham pointed out that LilyPond and documentation take so much
time to build that we don't mind whether a build system is at least
three times slower than other ones, as long as it is used widely enough
by major software projects so that it can be expected it will be
maintained for a long time.  While I agree on this, SCons is slow enough
to have made Ardour developers switch to Waf -- see [4] and [5] --
whereas in our private discussion Ardour used to appear like an
important project using SCons.

I don't want to take the risk to switch to a build system that everyone
may pester for its slowness, and if you look at Waf release cycle,
recent commits history, ProjectsUsingWaf on the wiki (e.g. Ardour, JACK,
PackageKit), (all easily reached from Waf home page [1]) you must
conclude that it is actively developed.  About its ease of use and
extending, I have a good impression after having read the first pages of
the Waf book.

What I conclude for this is that Waf may probably be a sensible option.
Any thoughts?

If we decide to adopt this, my plan is to develop Waf scripts for what I
know best and sucks most in our current build system: the documentation
(including the future web site).  Building the binary program would be
dealt with later, and at the end it would still be possible and easy to
build the docs (even on Windows) without building LilyPond.  With this
plan, makefiles and wafscripts would cohabite for a while (probably for
one or two years, given my available time).

[0] http://scons.org/
[1] http://code.google.com/p/waf/
[2]
http://retropaganda.info/~bohan/work/sf/psycle/branches/bohan/wonderbuild/benchmarks/time.xml
[3] http://freehackers.org/~tnagy/bench.txt
[4]
http://www.nabble.com/waf-is-now-the-official-build-system-for-ardour-3.0-to24607007.html#a24607007
[5]
http://ardour.org/node/2711

Best,
John

Attachment: signature.asc
Description: Ceci est une partie de message numériquement signée


reply via email to

[Prev in Thread] Current Thread [Next in Thread]