Subject: [Boost-build] ordering of compiler flags
From: Stefan Seefeld (stefan_at_[hidden])
Date: 2017-07-21 15:30:48
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.
-- ...ich hab' noch einen Koffer in Berlin...
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