[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