[Omake] SVN Commit: OMake Build System (Rev. 10265)

Jason Hickey jyh at cs.caltech.edu
Wed Mar 21 19:42:15 PDT 2007


var3 is nearly done.  Self-builds work.  I should probably try to make it
more backward compatible.

This commit changes "open" to include rules in the opened file (and
all files it opens, etc.)

In 0.9.8, "open" is about the same as "include".  Basically, "open"
means "include once".

In 0.9.9 open is different because opened files are evaluated in a
pristine environment that contains only Pervasives (see bug #586).
BTW, it may be fairly easy to specify a Site.om that specifies this
pristine environment.  For example Site.om might set the PATH to
some default value.

This means that rules in opened files must be merged when the file
is opened.  Autoloading broke it because the rule would get added
at some delayed time.

This commit changes the behavior.
   - "open" is eager, loading values+rules recursively.
   - "autoload" is lazy, but you don't get any rules from the autoloaded file.

Configure.om has this code:

    open build/Common

    select feature
    case strictscope
        autoload build/C

This has the usual bogus effect that if you only open Configure, then
configuration is useless (this is the same in 0.9.8).  However, the
cyclic dependency is gone, and the build works as it should.

----
Changes:
    +1 -0	omake-jumbo-branches/keyword/0.9.8.x/src/env/omake_ast_lex.mll
    +1 -1	omake-jumbo-branches/keyword/0.9.8.x/src/env/omake_ir_ast.ml
    +1 -0	omake-jumbo-branches/keyword/0.9.8.x/src/ir/omake_symbol.ml
    +1 -0	omake-jumbo-branches/var1/0.9.8.x/src/env/omake_ast_lex.mll
    +1 -1	omake-jumbo-branches/var1/0.9.8.x/src/env/omake_ir_ast.ml
    +1 -0	omake-jumbo-branches/var1/0.9.8.x/src/ir/omake_symbol.ml
    +1 -0	omake-jumbo-branches/var2/0.9.8.x/src/env/omake_ast_lex.mll
    +1 -1	omake-jumbo-branches/var2/0.9.8.x/src/env/omake_ir_ast.ml
    +1 -0	omake-jumbo-branches/var2/0.9.8.x/src/ir/omake_symbol.ml
    +1 -1	omake-jumbo-branches/var3/0.9.8.x/OMakefile
    +2 -2	omake-jumbo-branches/var3/0.9.8.x/lib/build/LaTeX.om
    +1 -1	omake-jumbo-branches/var3/0.9.8.x/lib/configure/Configure.om
    +204 -4732	omake-jumbo-branches/var3/0.9.8.x/src/Makefile
    +204 -4732	omake-jumbo-branches/var3/0.9.8.x/src/Makefile.nt
    +1 -1	omake-jumbo-branches/var3/0.9.8.x/src/build/omake_builtin.ml
    +14 -27	omake-jumbo-branches/var3/0.9.8.x/src/build/omake_rule.ml
    +1 -0	omake-jumbo-branches/var3/0.9.8.x/src/env/omake_ast_lex.mll
    +3 -0	omake-jumbo-branches/var3/0.9.8.x/src/env/omake_command_digest.ml
    +285 -119	omake-jumbo-branches/var3/0.9.8.x/src/env/omake_env.ml
    +6 -6	omake-jumbo-branches/var3/0.9.8.x/src/env/omake_env.mli
    +3 -1	omake-jumbo-branches/var3/0.9.8.x/src/env/omake_ir_ast.ml
    +9 -7	omake-jumbo-branches/var3/0.9.8.x/src/eval/omake_eval.ml
    +0 -1	omake-jumbo-branches/var3/0.9.8.x/src/eval/omake_eval.mli
    +1 -0	omake-jumbo-branches/var3/0.9.8.x/src/ir/omake_ir.ml
    +5 -8	omake-jumbo-branches/var3/0.9.8.x/src/ir/omake_ir_print.ml
    +1 -0	omake-jumbo-branches/var3/0.9.8.x/src/ir/omake_symbol.ml
    +2 -0	omake-jumbo-branches/var3/0.9.8.x/src/main/omake_main.ml
 
A hyperlinked version of this commit is available at
http://svn.metaprl.org/commitlogs/omake/2007-03.html#07/03/21.19:42:15



More information about the OMake-CVS mailing list