Boost logo

Boost-Build :

Subject: Re: [Boost-build] allowing targets to fail
From: Stefan Seefeld (stefan_at_[hidden])
Date: 2017-03-31 17:14:38


On 31.03.2017 10:47, Steven Watanabe via Boost-build wrote:
> AMDG
>
> On 03/31/2017 08:22 AM, Stefan Seefeld via Boost-build wrote:
>> Here is a related question:
>>
>> I'm looking at the "try_compile" example, which seems to use a similar
>> feature: It runs a configure check ("check_target_builds foo") and
>> allows it to fail, i.e.
>> the result is captured in a log file rather than on the console, in
>> addition to a conditional definition of feature sets.
>>
>> How is this implemented in the engine, i.e. what is the underlying
>> target definition (as seen by the engine) and what causes the engine not
>> to report it as an "updated" or "failed target" on the console ?
>>
> The target as seen by the engine is a normal target.
> The only thing special is that it's built using a
> call to UPDATE_NOW with a file descriptor for the log file.
> See the documentation of UPDATE_NOW here:
> http://www.boost.org/build/doc/html/jam/language.html#jam.language.rules.builtins.utility

Ah, interesting ! So this provides a mechanism to capture a target's
result while still letting if fail. But it seems this comes at a price:
To be able to capture results of individual target builds, I need to
submit them individually (via "UPDATE_NOW"), which precludes
parallelization.
If I submit multiple targets at once, I only get the overall success
back. Correct ?
>> Oh, and how does the caching work, i.e. where is that implemented ?
>>
> config-cache.jam

Thanks,
        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