Boost logo

Boost-Build :

From: David Abrahams (dave_at_[hidden])
Date: 2003-05-06 18:09:54

Aleksey Gurtovoy <agurtovoy_at_[hidden]> writes:

> David Abrahams wrote:
>> Aleksey Gurtovoy <agurtovoy_at_[hidden]> writes:
>> > I am afraid the original question is still open, though - besides
>> > fixing the issue itself, can we make sure that when something like
>> > this happens again in the future, bjam doesn't just quit the whole
>> > regression process? It's only one library that is broken, and
>> > terminating the whole thing on an error like "unknown dependent
>> > target" just doesn't seem right to me (I would understand if it
>> > crashed or something, but deliberatively quitting definitely seems
>> > wrong :).
>> Sure. You can grep for the error message in tools/build/*.jam and
>> replace
>> with
>> ECHO warning:
> Won't that break the standalone builds?

How so?

> I mean, EXIT is probably quite appropriate when you are just
> building the library itself; it's just not appropriate in the
> context of the batch regression testing.

I'm not picky; BBv1 is a dead end anyway. We're just keeping it
limping along until BBv2 gets finalized (soon).

> Also, what about a half-hundred of other EXIT's in tools/build/*.jam
> files? Some of them definitely seem to fall into the same category
> as the one we happened to bump into. We are definitely not in favor
> of the whole thing breaking again when a month later somebody checks
> in a target with an incompatible property or something like it.
> How about if instead of EXIT-ing or ECHO-ing we do something like
> report_error unknown dependent target $(main-target) ;
> and have 'report_error' decide whether it's appropriate to exit or not,
> depending on the context, e.g. by defining it differently for the regression
> builds?
> Does it make sense?

Sure, there are lots of options; if you look at BBv2 sources you'll
even see a wonderful backtrace rule. It's also possible to
selectively replace the EXIT rule with ECHO just for testing:

if --no-exit in $(ARGV)

Dave Abrahams
Boost Consulting

Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at