Boost logo

Boost-Build :

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:

actions compile-c-c++
{
    $(.CC) @"@($(<[1]:W).rsp:E="$(>[1]:W)" -Fo"$(<[1]:W)"
-Yu"$(>[3]:D=)" -Fp"$(>[2]:W)" $(CC_RSPLINE))"
}

It creates a file $(<[1]:W).rsp with $(>[1]:W)" -Fo"$(<[1]:W)"
-Yu"$(>[3]:D=)" -Fp"$(>[2]: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

--
Andrei

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