|
Boost-Build : |
Subject: Re: [Boost-build] more bjam questions
From: Stefan Seefeld (stefan_at_[hidden])
Date: 2017-06-08 22:07:37
On 08.06.2017 15:48, Steven Watanabe via Boost-build wrote:
> AMDG
>
> On 06/08/2017 01:18 PM, Stefan Seefeld via Boost-build wrote:
>> here is a late follow-up question:
>>
>> On 29.04.2017 13:00, Steven Watanabe via Boost-build wrote:
>>> testing.jam does this. The method is to mark the
>>> intermediate files as TEMPORARY and then call
>>> RmTemps $(target) : $(sources) ;
>>> as the last updating action of the exe.
>>> There is no high-level interface for this.
>> It seems bjam internally doesn't recognize intermediate files. I.e., if
>> I have a dependency graph such as foo -> foo.o -> foo.cpp, then remove
>> the intermediate foo.o at the end, bjam would in a subsequent invocation
>> rebuild foo.o and foo, rather than recognizing that foo is up-to-date as
>> it is newer than foo.cpp, even though the intermediate foo.o does no
>> longer exist.
>> Is that not the normal / expected semantic of an intermediate file in
>> bjam ? Or am I missing something ?
>>
> That's exactly what TEMPORARY is supposed to handle.
Thanks for confirming that. It turns out I had not set the target's
flags properly. Doing that reveals an issue, though:
In a test case I have a dependency chain of NOTFILE targets, and even
though I request them to be updated (and they are reported to be
updated), no action / command is executed to update them. Debugging this
reveals their "fate" variable is set to "STABLE". Any idea why that
would happen ? What do I need to do to tell bjam a NOTFILE target needs
to be updated ?
Thanks again,
Stefan
-- ...ich hab' noch einen Koffer in Berlin...
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