|
Boost-Build : |
From: Ali Azarbayejani (ali_at_[hidden])
Date: 2003-03-20 18:48:17
Vladimir Prus wrote:
>
>
> Second, how do you find the list of dependency libraries. If 'l' is
> virtual-target object corresponding to a library (that's what is stored in
> "libraries" variable above), then you can do:
>
> local a = [ $(l).action ] ;
> local p = [ $(a).properties-ps ] ;
> local other-libraries =
> [ feature.get-values <library> : [ $(p).raw ] ] ;
> ECHO [ $(l).str ] " : depends on " $(other-libraries) ;
>
> If you remove the girst (i.e. $(other-libraries:G=), you'll get the list of
> virtual targets for other libraries that this one depend on.
Vladimir,
I've started looking at this. It seems as though it is the <dependency>
properties rather than the <library> properties which are helpful to me
(i.e. use "feature.get-values <dependency>"). The <library> properties
result in only the "prebuilt libraries", i.e. system libraries.
However, at least for my project, the <dependency> property yields the
right information.
This may be due to the way I set up my libs. I tried to follow
instructions, including discussion on jamboost with respect to the
<dependency> property. My lib prototype is
lib $(LibId)
: $(Source) # only direct source files
: <dependency>$(DirectSubLibs) # allows me to find headers of my
sublibs (through
# their usage-requirements)
:
: <library>$(DirectSubLibs) # directs exe's who use me to link
also to my sublibs
;
Now this works just fine, except for the libraries being in no
particular order on the link line, so I don't think it's "wrong", but
you may have expected something different?
--Ali
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