Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-03-15 19:08:39 -0700 (Thu, 15 Mar 2007)
Revision: 10233
Log message:
Added autoloading, see bug #651.
The problem has to do with cyclic open commands. For example, C.om opens Configure.om,
and vice-versa. This fix performs eager linking, but files are loaded only when
their values are dereferenced. [Also: need to force all opens before building a project.]
Also added a "select" command. This is intended to allow files that are configured for
multiple versions.
The select is based on Python's "future" directive, where parsing is conditional on
a specific Python feature.
Configure.om gives the following example.
select feature
case strictscope
open build/C
default
open build/Common
Unlike other constructs, the indentation does not specify a new scope. This is more
like an #ifdef.
Also, I'm willing to consider other syntaxes and/or concepts.