From: Reece Dunn (msclrhd_at_[hidden])
Date: 2005-10-23 03:17:26
I have been experimenting with an alternative solution to getting
response files working. The problem with the existing solution is when a
target action fails. In that case we keep the response file around so
that the command line can be reproduced, but this prevents define or
include changes being picked up on these targets.
The solution is to output the response file contents on failure. What I
would like to do is set up an action/rule on the response file that is
called *after* the main target has completed and do something like:
actions post-process quietly response-file-cleanup
echo ">>> response file "$(rsp)
echo "<<< end of response file"
however, this is not currently possible, so I need to do something
similar to testing.jam on each target that uses response files:
actions compile.c++ bind RSP
echo ">>> response file"
echo "<<< response file"
This fixes the problem, but contains a lot of repeated code and thus
complicates maintainability. Hence why I want to do that code in a
post-process response file actions.
I get the following output:
..\..\tools\hex\main.cpp(11) : error C2653: 'std' : is not a class or
>>> response file
<<< response file
cl ... @"..\..\..\build\tools\hex\msvc-7.1\release\main.obj.rsp"
if %status% NEQ 0 (
del /f ..\..\..\build\tools\hex\msvc-7.1\release\main.obj.rsp
...skipped <p..\..\..\build\tools\hex\msvc-7.1\release>hex.exe.rsp for
lack of <p..\..\..\build\tools\hex\msvc-7.1\release>main.obj...
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