|
Boost-Build : |
From: Rene Rivera (grafik666_at_[hidden])
Date: 2002-12-23 12:56:16
[2002-12-23] David Abrahams wrote:
>Rene Rivera <grafik666_at_[hidden]> writes:
>
>> [2002-12-23] David Abrahams wrote:
>>
>>>Rene Rivera <grafik666_at_[hidden]> writes:
>>>>
>>>> OK, I looked a bit at the code and here's a solution...
>>>>
>>>> 1. Bring back the Jam/MR code to add the command line targets for
update
>>>> automatically.
>>>>
>>>> 2. Change the UPDATE builtin to work like so:
>>>>
>>>> UPDATE some_targets ; ## marks the given targets for update
>>>>
>>>> UPDATE ; ## removes all targets from the update list
>>>
>>>Hmm. It's minimalist, but I think it's relatively un-Jam-like to work
>>>that way. Suppose you have a variable that turns out to be empty?
>>>
>>> UPDATE $(targets) ;
>>>
>>>I'm not too worried, though; if you can't think of a better design I
>>>think this is acceptable.
>>
>> There is another alternative I thought about that is not as minimalist:
>>
>> UPDATE targets * : action ? ;
>>
>> ## action = MARK | CLEAR - default is MARK
>>
>> UPDATE a b c ; ## marks a b c for update
>> UPDATE a b : CLEAR ; ## clears/unmarks a b from update list
>> UPDATE : CLEAR ; ## clears all targets from update list
>>
>> This is a bit more work to implement but it is more flexible ;-)
>
>IMO a cleaner possibility would be to have UPDATE *reset* the targets
>which need update and return its previous state.
>
>rule add-update ( targets * )
>{
> targets += [ UPDATE ] ;
> UPDATE $(targets) ;
>}
OK, I can live with that. But that requires a few more changes in *.jam
files in various places :-( Oh well.
-- grafik - Don't Assume Anything
-- rrivera_at_[hidden] - grafik_at_[hidden]
-- 102708583_at_icq
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk