From: Ali Azarbayejani (ali_at_[hidden])
Date: 2003-05-28 10:59:22
Vladimir Prus wrote:
> David Abrahams wrote:
> > Vladimir Prus <ghost_at_[hidden]> writes:
> > > This never caused any problems with gcc on Linux, and, morever, we have a
> > > test for prebuilt libraries which works everywhere, so more details are
> > > needed. Probably, the dll is built somehow wrong, though I don't know
> > > why.
> > We've recently been having the same problems with Boost.Python under
> > Cygwin.
> > :(
> Hmm... I recall Ali said he implemented the code for finding correct order of
> libraries for gcc. Would be great to have that in CVS....
> - Volodya
I *almost* did...that's precisely when I became utterly confused about
properties and propagation.
In fact, I had a solution that worked for MY Jamfiles but I was pretty
certain it wasn't going to work for alternate ways of specifying
libraries, of which there are a number. It made use of <dependency>
properties rather than <library> properties because mine showed up as
<dependency> but NOT <library>, and I don't know why. My solution
basically conjured up a dependency graph from recursively tracing
<dependency> properties, used the dependency graph to find the layers,
and used the layers to order the libraries. This is when I tried to
understand where the <library> properties are supposed to come from and
two months later here I am and I'm still not certain of the answer.
However, I think the correct solution lies in our proposal for a single
Target heirarchy and single Target graph, which Dave and I are working
on fleshing out. Such a scheme will result in an target graph that IS a
manifestation of the dependency graph. An "exe" can find the correct
library ordering (and the libraries themselves) by traversing the
dependency graph, i.e. the target graph itself, without creating or
carrying around any separate representation of dependencies, or even any
separate representation of "library" perhaps.
In short, I think ultimately there will be a much better solution than
the hack that I implemented for myself.
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