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

Jason Hickey jyh at cs.caltech.edu
Thu Mar 15 19:08:39 PDT 2007


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.

----
Changes:
    +3 -0	omake-jumbo-branches/DEPENDENCIES
    +4 -4	omake-jumbo-branches/keyword/0.9.8.x/src/builtin/omake_builtin_base.ml
    Properties	omake-jumbo-branches/keyword/0.9.8.x/src/clib
    +1 -0	omake-jumbo-branches/keyword/0.9.8.x/src/env/omake_ast_lex.mll
    +39 -18	omake-jumbo-branches/keyword/0.9.8.x/src/env/omake_ast_parse.input
    +11 -4	omake-jumbo-branches/keyword/0.9.8.x/src/env/omake_gen_parse.ml
    +56 -11	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
    Properties	omake-jumbo-branches/keyword/0.9.8.x/src/libmojave
    +4 -4	omake-jumbo-branches/var1/0.9.8.x/src/builtin/omake_builtin_base.ml
    Properties	omake-jumbo-branches/var1/0.9.8.x/src/clib
    +1 -0	omake-jumbo-branches/var1/0.9.8.x/src/env/omake_ast_lex.mll
    +39 -21	omake-jumbo-branches/var1/0.9.8.x/src/env/omake_ast_parse.input
    +7 -4	omake-jumbo-branches/var1/0.9.8.x/src/env/omake_gen_parse.ml
    +54 -10	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
    Properties	omake-jumbo-branches/var1/0.9.8.x/src/libmojave
    +4 -4	omake-jumbo-branches/var2/0.9.8.x/src/builtin/omake_builtin_base.ml
    Properties	omake-jumbo-branches/var2/0.9.8.x/src/clib
    +1 -0	omake-jumbo-branches/var2/0.9.8.x/src/env/omake_ast_lex.mll
    +39 -18	omake-jumbo-branches/var2/0.9.8.x/src/env/omake_ast_parse.input
    +11 -4	omake-jumbo-branches/var2/0.9.8.x/src/env/omake_gen_parse.ml
    +56 -11	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
    Properties	omake-jumbo-branches/var2/0.9.8.x/src/libmojave
    +42 -42	omake-jumbo-branches/var3/0.9.8.x/lib/Pervasives.om
    +6 -0	omake-jumbo-branches/var3/0.9.8.x/lib/build/C.om
    +27 -26	omake-jumbo-branches/var3/0.9.8.x/lib/build/Common.om
    +3 -0	omake-jumbo-branches/var3/0.9.8.x/lib/configure/Configure.om
    +1 -0	omake-jumbo-branches/var3/0.9.8.x/src/build/omake_build.ml
    +2 -2	omake-jumbo-branches/var3/0.9.8.x/src/build/omake_builtin.ml
    +3 -3	omake-jumbo-branches/var3/0.9.8.x/src/build/omake_builtin_util.ml
    +7 -7	omake-jumbo-branches/var3/0.9.8.x/src/build/omake_rule.ml
    +4 -4	omake-jumbo-branches/var3/0.9.8.x/src/builtin/omake_builtin_base.ml
    +7 -3	omake-jumbo-branches/var3/0.9.8.x/src/builtin/omake_builtin_object.ml
    Properties	omake-jumbo-branches/var3/0.9.8.x/src/clib
    +1 -0	omake-jumbo-branches/var3/0.9.8.x/src/env/omake_ast_lex.mll
    +39 -18	omake-jumbo-branches/var3/0.9.8.x/src/env/omake_ast_parse.input
    +3 -8	omake-jumbo-branches/var3/0.9.8.x/src/env/omake_command_digest.ml
    +434 -573	omake-jumbo-branches/var3/0.9.8.x/src/env/omake_env.ml
    +16 -14	omake-jumbo-branches/var3/0.9.8.x/src/env/omake_env.mli
    +11 -4	omake-jumbo-branches/var3/0.9.8.x/src/env/omake_gen_parse.ml
    +60 -36	omake-jumbo-branches/var3/0.9.8.x/src/env/omake_ir_ast.ml
    +58 -49	omake-jumbo-branches/var3/0.9.8.x/src/eval/omake_eval.ml
    +2 -1	omake-jumbo-branches/var3/0.9.8.x/src/eval/omake_eval.mli
    +16 -7	omake-jumbo-branches/var3/0.9.8.x/src/eval/omake_value.ml
    +5 -19	omake-jumbo-branches/var3/0.9.8.x/src/ir/omake_ir.ml
    +0 -4	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
    +1 -3	omake-jumbo-branches/var3/0.9.8.x/src/ir/omake_var.ml
    Properties	omake-jumbo-branches/var3/0.9.8.x/src/libmojave
    +3 -1	omake-jumbo-branches/var3/0.9.8.x/src/main/omake_shell.ml
 
A hyperlinked version of this commit is available at
http://svn.metaprl.org/commitlogs/omake/2007-03.html#07/03/15.19:08:39



More information about the OMake-CVS mailing list