ordering of compiler flags

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

ordering of compiler flags

Boost - Build mailing list
Hi,

working on my Python frontend for Boost.Build, I'm reminded of a
long-standing question I have been having about features / properties.
In certain cases, compilers are very sensitive to the ordering of
specific options (search paths, for example, or linker flags). While I
can define my own order when defining a property locally, I wonder how
the ordering of properties is managed across multiple locations, i.e.
when properties are combined (from multiple requirements, for example).
Is the data flow for property definitions formally specified anywhere ?

Other build tools (e.g. SCons) have functions to explicitly prepend or
append, as well as indicate that a flag is only to be prepended /
appended if not yet present. Is there a way to achieve the same with b2
? (For avoidance of doubt: I'm not asking about doing that locally, i.e.
where I can manipulate a single property set. The question is about
doing that globally, in the context of multiple property sets being
eventually merged. (It seems and attribute like "unique" could be a
property of a feature itself, but I didn't see it there. Likewise, I do
see "order-sensitive", but am not sure how it is being used.


Thanks,

        Stefan


--

      ...ich hab' noch einen Koffer in Berlin...

_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: ordering of compiler flags

Boost - Build mailing list
AMDG

On 07/21/2017 09:30 AM, Stefan Seefeld via Boost-build wrote:

>
> working on my Python frontend for Boost.Build, I'm reminded of a
> long-standing question I have been having about features / properties.
> In certain cases, compilers are very sensitive to the ordering of
> specific options (search paths, for example, or linker flags). While I
> can define my own order when defining a property locally, I wonder how
> the ordering of properties is managed across multiple locations, i.e.
> when properties are combined (from multiple requirements, for example).
> Is the data flow for property definitions formally specified anywhere ?
>

They're sorted alphabetically.

> Other build tools (e.g. SCons) have functions to explicitly prepend or
> append, as well as indicate that a flag is only to be prepended /
> appended if not yet present. Is there a way to achieve the same with b2
> ? (For avoidance of doubt: I'm not asking about doing that locally, i.e.
> where I can manipulate a single property set. The question is about
> doing that globally, in the context of multiple property sets being
> eventually merged. (It seems and attribute like "unique" could be a
> property of a feature itself, but I didn't see it there. Likewise, I do
> see "order-sensitive", but am not sure how it is being used.
>

order-sensitive is not implemented.

In Christ,
Steven Watanabe

_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
Loading...