Boost logo

Boost-Build :

Subject: Re: [Boost-build] Getting product dependencies from bjam
From: Vladimir Prus (ghost_at_[hidden])
Date: 2013-12-16 12:04:51


On 16.12.2013 20:41, Mark E. Hamilton wrote:
> Hi,
>
> We have a code tree with a number of interrelated products and TPLs; we've been using bjam for a number of years as the build system, but
> the developer with the most knowledge of our system moved elsewhere a while ago. Historically we've distributed out products as two
> packages, but recently we have been getting requests to distribute pieces of it.
>
> We don't have an easy of identifying the sub-products and TPLs required to be able to distribute just one product and be able to build it. I
> was able to do so manually by building just one product in a clean project and gleaning the names of the products from the results in the
> object tree. This is unfortunately incomplete, however, because it doesn't include dependencies that do not generate objects or libraries.
>
> Is there way to get bjam to output a list of all dependencies of a specified target in a format that we could then parse to extract the
> top-level product and TPLs required to build that target? My first thought was this:
>
> bjam -d1 -k -a -n .. /some//target | sed parse_my_products
>
> but like my manual attempt it only produces a list of things that actually generate objects. Any guidance would be appreciated. Thanks.

Hi Mark,

one possibly way today would be to run "b2 --debug-building" and parse the output of that, which will print all projects
and metatargets that the build system examines. Is that something like what you're after? The exact output can be improved
if more details are needed.

- Volodya


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