Boost logo

Boost-Build :

Subject: Re: [Boost-build] Sorting include headers
From: Alexander Sack (pisymbol_at_[hidden])
Date: 2008-10-16 15:46:23


On Thu, Oct 16, 2008 at 12:34 PM, Steven Watanabe <watanabesj_at_[hidden]> wrote:
> AMDG
>
> Alexander Sack wrote:
>>>
>>> I think that this should still work. For instance if we have a
>>> bunch
>>> of includes from inherited from multiple parent projects, and these
>>> parent projects do not care about include order, if include order does
>>> matter for a specific target, we can put the parent project requirements
>>> in some random order and then treat it as if the order matters
>>> afterwards.
>>>
>>
>> Correct.
>>
>
> Alright. one more generalization:
>
> <free-feature-order:include> which can be either none, forward, or reverse
>
> none means that we don't care about order
> forward means that value "a" can override value "b", "a" should come
> after "b". (This is how cxxflags would work, I think).
> reverse is similar except that earlier values override later ones.

Yes this is what I was talking regarding a feature to control this a bit.

> Actually, (IMO) it would be better to make this a global property of the
> feature.
> There is already an "order-sensitive" attribute which is currently ignored.
>
> feature "include" : : free path order-sensitive-reverse ;
>
> It's possible that the property-set data structure can be tweaked
> so that the performance cost is small. It would have to be
> changed to something more complex than a sorted list of strings.
>
>>> -Id -Ic -Ib -Ia -Ie
>>>
>>
>> YES!!!!! :D! Call me crazy but this makes A LOT more sense than what
>> is happening today. From a user stand point it states the following:
>>
>> I want to build foo, foo needs to include d oh and any of the
>> dependencies from c and then any project hierarchical requirements
>> that maybe specified.
>>
>> BTW, it also has the nice side effect of being able to debug how bjam
>> formulated the overall compiler invocation by just looking at it.
>>
>
> Ok. This is going to be a significant amount of effort. Can you
> file a trac ticket at http://zigzag.lvk.cs.msu.su/boost.build so it
> doesn't get lost.

Sure Steven. I've requested a Trac account so I can enter it.

-aps


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