[Omake] SVN Commit: OMake Build System [0.9.8.x] (Rev. 10579)
Jason Hickey
jyh at cs.caltech.edu
Tue May 1 11:12:04 PDT 2007
Add .STATIC rules. This is different from a "static. =" section.
- .STATIC rules are delayed; they are evaluated only if the value is needed.
- .STATIC rules allow dependencies, and explicit variables.
- The values are stored in .omakedb
* Basic usage:
.STATIC:
println(foo)
X = 1
Y = $X
The variable X is exported. The rule is evaluated if the value for $X is needed,
but it is lazy. The definition of Y does not force evaluation.
* With dependencies:
.STATIC: x.input
X = $(expensive-function x.input)
This is be evaluated if x.input changes and X is forced.
* Exporting variables
.STATIC: X: x.input
Y = 1
X = $Y
Y is not exported from the section.
----
Changes:
+0 -1 omake-branches/0.9.8.x/lib/OMakeroot.om
+0 -1 omake-branches/0.9.8.x/lib/Pervasives.om
+2 -3 omake-branches/0.9.8.x/lib/build/C.om
+0 -1 omake-branches/0.9.8.x/lib/build/Common.om
+1 -2 omake-branches/0.9.8.x/lib/build/LaTeX.om
+3 -4 omake-branches/0.9.8.x/lib/build/OCaml.om
+1 -2 omake-branches/0.9.8.x/lib/build/svn_realclean.om
+0 -1 omake-branches/0.9.8.x/lib/configure/Configure.om
+0 -1 omake-branches/0.9.8.x/lib/configure/X.om
+1 -2 omake-branches/0.9.8.x/lib/configure/fam.om
+1 -2 omake-branches/0.9.8.x/lib/configure/fs_case_sensitive.om
+1 -2 omake-branches/0.9.8.x/lib/configure/ncurses.om
+2 -2 omake-branches/0.9.8.x/lib/configure/readline.om
+0 -1 omake-branches/0.9.8.x/lib/configure/snprintf.om
+0 -1 omake-branches/0.9.8.x/lib/parse/C/Lex.om
+0 -1 omake-branches/0.9.8.x/lib/parse/C/Parse.om
+3 -3 omake-branches/0.9.8.x/src/build/omake_build.ml
+3 -3 omake-branches/0.9.8.x/src/build/omake_build_type.ml
+26 -8 omake-branches/0.9.8.x/src/build/omake_rule.ml
+10 -0 omake-branches/0.9.8.x/src/build/omake_rule.mli
+16 -10 omake-branches/0.9.8.x/src/builtin/omake_builtin_object.ml
+17 -0 omake-branches/0.9.8.x/src/builtin/omake_builtin_target.ml
+27 -9 omake-branches/0.9.8.x/src/env/omake_command_digest.ml
+2 -0 omake-branches/0.9.8.x/src/env/omake_command_digest.mli
+51 -0 omake-branches/0.9.8.x/src/env/omake_env.ml
+22 -2 omake-branches/0.9.8.x/src/env/omake_env.mli
+143 -39 omake-branches/0.9.8.x/src/env/omake_ir_ast.ml
+2 -1 omake-branches/0.9.8.x/src/env/omake_ir_semant.ml
+112 -43 omake-branches/0.9.8.x/src/eval/omake_eval.ml
+49 -21 omake-branches/0.9.8.x/src/eval/omake_value.ml
+1 -0 omake-branches/0.9.8.x/src/eval/omake_value.mli
+77 -31 omake-branches/0.9.8.x/src/ir/omake_cache.ml
+10 -4 omake-branches/0.9.8.x/src/ir/omake_cache.mli
+10 -7 omake-branches/0.9.8.x/src/ir/omake_cache_type.ml
+2 -1 omake-branches/0.9.8.x/src/ir/omake_ir.ml
+2 -1 omake-branches/0.9.8.x/src/ir/omake_ir_free_vars.ml
+3 -1 omake-branches/0.9.8.x/src/ir/omake_ir_print.ml
+3 -0 omake-branches/0.9.8.x/src/ir/omake_symbol.ml
+12 -4 omake-branches/0.9.8.x/src/ir/omake_value_print.ml
+18 -6 omake-branches/0.9.8.x/src/ir/omake_value_type.ml
+1 -0 omake-branches/0.9.8.x/src/ir/omake_var.ml
+1 -0 omake-branches/0.9.8.x/src/ir/omake_var.mli
+4 -2 omake-branches/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-05.html#07/05/01.11:12:04
More information about the OMake-CVS
mailing list