From: Andrei Melnikov (andy.melnikov_at_[hidden])
Date: 2006-08-18 06:27:44
On 18/08/06, Johan Nilsson <r.johan.nilsson_at_[hidden]> wrote:
> Andrei Melnikov wrote:
> > E is used to create .rsp files. And -d is used to specify the debug
> > logging level.
> How is this "E" actually used? Never seen a reference to it before.
> In Boost.Jam the :E modifier is used to assign a value to an unset variable.
Well, it's not actually :E, but @() construct.
Here is an example taken from msvc.jam:
$(.CC) @"@($(<:W).rsp:E="$(>:W)" -Fo"$(<:W)"
-Yu"$(>:D=)" -Fp"$(>:W)" $(CC_RSPLINE))"
It creates a file $(<:W).rsp with $(>:W)" -Fo"$(<:W)"
-Yu"$(>:D=)" -Fp"$(>:W)" $(CC_RSPLINE) written inside.
So I just want to write everything written using @() to the log at
debug level 2 and higher.
The merging of RSP and command line is toolset-specific and I don't
think it will give us a lot of advantages. I think we should see the
exact picture. For example, a toolset could have an rsp-specific bug
and to track it we should see what is passed on the command line and
what is passed using the rsp.
> > So I just want to print the contents of RSP files to the debug logs at
> > certain detalization levels.
> I've had a similar request earlier. IMHO "bjam -d+2" should output command
> line + response file contents, preferrably merged. Adding a new debugging
> level for a tool-specific feature might not be the best thing, or?
While rsp files are toolset-specific features, the modifier isn't
toolset specific. It's now a part of Boost Jam core language and
implemented in C inside bjam.exe
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