Boost logo

Boost-Build :

From: David Abrahams (dave_at_[hidden])
Date: 2006-09-18 09:58:28


Vladimir Prus <ghost_at_[hidden]> writes:

> On Monday 18 September 2006 12:08, Andrei Melnikov wrote:
>> On 18/09/06, Vladimir Prus <ghost_at_[hidden]> wrote:
>> > Hi,
>> > one of the issues that would be very nice to fix for the next release
>> > is "feature relevance":
>> >
>> > https://zigzag.cs.msu.su:7813/boost.build/ticket/4
>> >
>> > In short, we should not be generating BoostBook documentation into
>> > 'gcc/debug' directory, since HTML files will be the same, no matter what
>> > compiler is used to generate executables.
>> >
>> > This issue involves computing for each action which features affect it by
>> > looking at all 'flags' rule invocation, and then removing irrelevant
>> > features from properties of targets.
>>
>> Is this related to midl-toolset issues we discussed some time before?
>> C toolsets and BoostBook toolsets are not the only independent
>> toolsets. For example, IDL -> TLB generation isn't affected by
>> <runtime-debugging>, threading or <link> features, so the same type
>> library can be linked for all compilers and variants. But it can be
>> affected by <define> and other C preprocessor features.
>
> This is yet another example where 'relevant features' would help.

Short answer: yes, this is exactly the feature that addresses your
problem.

> Yet another example is 'bison' -- that just generates a header file
> and does not depend on any features.
>
> When we discussed this before, Juergen mentioned that it can be nicer to use
> full set of properties for all paths

Meaning that all features are considered relevant?

> so that there are no files shared between different variants, and if
> you clean on variant, you don't need to rebuild some other.

IIUC, I don't think that's a good idea. It seems like a very
specialized use case and I'd rather err on the side of rebuilding.
People can always hack up scripts to do that kind of thing.

> This suggests that we might need an option that controls
> is relevant features are computed,
  ^^---"if?"

Try not to think about every possible generalization; you'll never be
able to settle on good design choices for the usual cases unless you
can ignore the unusual ones. :)

> but generally, extra elements in path for
> HTML, or for midl output, or for bison don't make sense to a user.

Yep.

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com

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