[Top][All Lists]

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

Re: Switching to Waf instead of SCons?

From: John Mandereau
Subject: Re: Switching to Waf instead of SCons?
Date: Fri, 11 Sep 2009 17:21:39 +0200

Hi Carl,
Le jeudi 10 septembre 2009 à 16:25 -0600, Carl Sorensen a écrit :
> I'd be willing to give a hand if I can.  I read your wiki page, but didn't
> get anything from it in terms of how I could help.  Give me a ping if you
> get to the point that you can carve out some kind of task for me to try.

At this early stage, I've just found that Waf doesn't provide any
built-in generic function to check a program version, so I'm writing a
function to provide this feature, and I have started writing a Waf tool
for Texinfo.  The two tasks you could look at to begin are

- add attached wscript to top of the source directory, replace
hard-coded VERSION by some code that parses the VERSION file (Python std
lib has a module for parsing configuration files), and commit this
wscript to dev/waf branch;

- add configure (conf) function stub in wscript, that sets in Waf
environment the correct value of LILYPOND_BINARY, trying in the
following order:
  1) get and check value LILYPOND_EXTERNAL_BINARY from system
  2) if GNUmakefile and config.make exist in the build tree (not in the
source tree!), and last line of config.log is "configure: exit 0", then
we can assume that the build tree has been configured for configuration
of LilyPond binary, so we set LILYPOND_BINARY to
"$(configure-builddir)/out/bin/lilypond --relocate"
  3) use conf.check_program ('lilypond', var='LILYPOND_BINARY') to try
to find lilypond binary in PATH

Just look at the relevant parts of the Waf book and/or in demos in Waf
sources (installed in /usr/share/doc/waf-x.y.z/demos/ if waf is provided
by your distro).

> I actually think that the build system is the current biggest weakness in
> LilyPond; it's hanging out there just waiting to crash, and not very many
> people understand it.

Indeed.  The web site would have certainly already been ready to be
released (including translations) if we had a more maintainable and
newcomers-friendly (if ever possible) build system.

Good luck,

Attachment: wscript
Description: Text document

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]