[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