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
signature.asc
Description: Ceci est une partie de message numériquement signée
_______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel