[Omake] SVN Commit: OMake Build System [0.9.8.x] (Rev. 11162)
Jason Hickey
jyh at cs.caltech.edu
Fri Jun 29 11:44:54 PDT 2007
On Jun 29, 2007, at 11:25 AM, Aleksey Nogin wrote:
> Also, is there a reason to use :key: instead of overloading
> the :value: keyword? Is it the intention that the variations
> in :key: dependencies cause a new value to be saved along with the
> old one, while the variations in the "normal" dependencies
> (including the :value: ones) cause the old value to be overwritten?
> Note that this is not what happens - if I replace the ":key:" with
> ":value:" in your example, it acts as if there were no dependencies
> at all!
The :key: needs to be documented.
The :key: and :value: are different,
- The :key: is just the key in the table, it isn't a dependency.
- The :value: are dependencies, telling when the entry is out-of-
date.
It is useful to have both, so you can specify multiple entries, and
also specify when each of the entries is out-of-date.
But it looks like the :value: is broken...
>
>> Of course, .STATIC rules are only for values saved between runs.
>> We also
>> need the memo function.
>
> I would propose to add a ".MEMO: ..." (or may be ".LAZY_MEMO:" or
> ".LAZY:"?) syntax that is identical to the ".STATIC" one, with the
> only difference that ".MEMO" sections would not be saved in the
> files. The two forms could then easily share the implementation,
> where an additional boolean flag would be used to indicate,
> whether .omakedb load/save should be attempted. On "load", we'd
> then also take the conjunction of the flag with the
> "opt_flush_static".
Ok, I think that makes sense.
Jason
--
Jason Hickey http://www.cs.caltech.edu/~jyh
Caltech Computer Science Tel: 626-395-6568 FAX: 626-792-4257
More information about the OMake-Devel
mailing list