Boost logo

Boost-Build :

From: Michael Poole (mdpoole_at_[hidden])
Date: 2006-10-11 10:52:12


Vladimir Prus writes:

> On Wednesday 11 October 2006 01:23, K. Noel Belcourt wrote:
>
> Hi Noel,
>
>> I'm looking for a way to use bjam to distribute our source code. I
>> figure since bjam knows how to build our binaries, it can't be too
>> hard to get it to tar up the source files a target depends on or to
>> replicate the source files to some new directory. I can't use the
>> install or path.install rules since the source tree for each library
>> is different and I want to retain each library's source tree
>> directory structure.
>>
>> Is there a way to output the full, unique set of source
>
> Yes. Take a look at the 'gettext.jam:update-translations-generator.run'. It
> collects all source files.
>
>> and header
>> files necessary to build a target?
>
> No, since header scanning is done only when building targets.
>
>> If there was, I could take the
>> list of files and pipe it to tar.
>>
>> Any thoughts on how to go about this?
>
> Just to check -- is there a reason while wholesale 'tar' of a directory is not
> OK? If there is, I'm afraid you'd need to tar "complete" set of headers
> anyway, and use the logic similar to gettext generator to get the list of
> sources.

There are several reasons a wholesale tar might not be appropriate.
Two that occur to me:

 - the packager builds the project in (or under) the source tree and
 it is costly to re-build everything -- the other way to skip object
 files, by providing an exclusion list to tar, is fairly error-prone;
 or

 - some source or header files are automatically generated, but only
 when checking the project out of revision control -- from my personal
 experience, things like "Built from revision X of branch Y".

Michael Poole


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