[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