|
Boost-Build : |
From: Rene Rivera (grafik666_at_[hidden])
Date: 2002-12-23 12:03:20
[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
3. Change the Jambase so that it calls "UPDATE ;" in the case of bjam
functionality. In this way the need for the above "for" loop goes away.
If that sounds fine with all, I can go do this fairly quickly :-)
Thoughts?
-- 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