Boost logo

Boost-Build :

From: Rene Rivera (grafikrobot_at_[hidden])
Date: 2006-08-30 15:30:20


David Abrahams wrote:
> Rene Rivera <grafikrobot_at_[hidden]> writes:
>
>> Vladimir Prus wrote:
>>> Thanks, that would be great.
>> Done, in both HEAD and RC_1_34_0. The new output of "-d+2" and "-n" have
>> an additional pseudo-action before the regular command action which
>> prints out the file content. The for is "file <file-name>" followed by
>> the generated content. For example:
>
> Oh, this is too cool, Rene!
>
> Unfortunately I think this is the wrong place for the message. The
> response file content is needed whenever there is an error, whether or
> not -d+2 or -n is applied, and it should appear near the regular
> command line And that solves another problem: you can put it in a
> place where process_jam_log will be able to handle it without
> modification.

I also think it's the wrong place for the message ;-) And your
suggestion is the first thing I thought of doing. Unfortunately it's not
possible without some horrendously convoluted changes to bjam. The code
that generates the file content, and the code that executes the commands
are in separated, and at this time modular, chunks of code in bjam. The
"@()" handling is part of the variable evaluation, which the command
creation code uses, to then eventually feed into the command execution.

Sorry :-(

So instead I decided to output in a form consistent with the regular
command output with the idea that it would understandable to the human
users, and not too difficult to modify proccess_jam_log (since it
already does this basic parsing) to handle.

PS; Because of the way @() is implemented it makes it possible to use it
outside of actions. For example:

# creates the test.txt file and sets file to "test.txt"
local file = @(test.txt:E=$(test-content)) ;

# equivalent of ECHO, but to the error stream
local unused = @(STDERR:E="this is an error") ;

-- 
-- Grafik - Don't Assume Anything
-- Redshift Software, Inc. - http://redshift-software.com
-- rrivera/acm.org - grafik/redshift-software.com
-- 102708583/icq - grafikrobot/aim - grafikrobot/yahoo

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