Boost logo

Boost-Build :

From: David Abrahams (dave_at_[hidden])
Date: 2002-12-23 12:26:06

Rene Rivera <grafik666_at_[hidden]> writes:

> [2002-12-22] Rene Rivera wrote:
>>[2002-12-22] David Abrahams wrote:
>>>Rene Rivera <grafik666_at_[hidden]> writes:
>>>> [2002-12-20] David Abrahams wrote:
>>>>>The problem is this:
>>>>>Perforce Jam automatically updates everything that doesn't look like
>>>>>an option on the command line. We wanted to be able to control what
>>>>>gets updated, so we turned that off in core jam and wrote this little
>>>>>thing in Jambase which does it programmatically:
>>>>> for local e in $(ARGV[2-])
>>>>> {
>>>>> if ! [ MATCH "^(-).*" : $(e) ]
>>>>> {
>>>>> # This is not an option, so it is a target name.
>>>>> UPDATE $(e) ;
>>>>> }
>>>>> }
>>>>>Unfortunately, that broke compatibility with Perforce Jam for cases
>>>>>where the users adds -f to the command-line. I don't think that was
>>>>>intentional, so I guess I'd call it a bug. You can add the code above
>>>>>to any file foo you use with -ffoo to get it to work like Perforce Jam
>>>>>while we figure out what to do about it.
> 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.

David Abrahams
dave_at_[hidden] *
Boost support, enhancements, training, and commercial distribution

Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at