Boost logo

Boost-Build :

From: David Abrahams (gclbb-jamboost_at_[hidden])
Date: 2003-05-21 07:38:19

Vladimir Prus <ghost_at_[hidden]> writes:

> Dave,
> if you recall, some time ago you've changed generators matching so that
> required properties are counted when determining match rank. I had
> some concerns then, but since my project worked, I could not clearly
> express them.
> Seems that Andre Hentz produced such an example:
> generators.register-standard rc.resource-compile : RC : OBJ ;
> ....
> exe a : a.cpp rc.rc ;
> With this arrangement, the match rank for CPP->OBJ generators is 1, because
> they all have <toolset> as required property. The match rank for rc generator
> is 0. So, it's not even considered.
> This example immediately reminded me why required properties were not counted
> in the first place: I though it's better design if required properties do not
> affect matching, and it case of ambiguities you should use optional
> properties. IOW, optional properties should be the only way to control
> generator preferences.
> For M3, I've restored the previous behaviour, so that existing code does not
> need any workarounds.

I think you did the right thing.

> In general, we might consider alternative approaches for making
> newly added test to work, but so far using old
> matching rules appears to be the simplest one to me. Opinions?

"If it ain't broke, don't fix it" ;-)

Dave Abrahams
Boost Consulting

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