Boost logo

Boost-Build :

From: proteus guy (proteusguy_at_[hidden])
Date: 2007-12-21 22:19:34


David,

    You've, unfortunately, hit on the biggest stumbling block to bjam's more
widespread adoption. The documentation is a pretty formalistic specification
of an abstract system. I've recently been working on convincing a client
with a complex cross-compilation embedded system to move to Boost.Build from
a miserable set of unmaintainable makefiles. Good samples just don't exist -
yet. I know its on the developers TODO list and, if my client goes for it, I
may be funded to build some good user level documentation myself (should
know in Jan).

    Meanwhile, if you'd like to post a bit more detail about your current
project directory structure and target dependencies/options maybe we can
take a crack at getting you pointed in the right direction at least.
Boost.Build is a very powerful and expressive system but that also means
there can be several ways of doing the same thing but only experience really
gives you the ability to figure out the 'best practice'.

    What you're describing doesn't sounds very difficult. Make sure you're
using the newest Boost.Build ( http://boost.org/boost-build2/ ) as the links
from the C++ Boost library aren't always correct. There's a good pdf that
describes how to specify variants based on the tool selection, globs to
specify a set of files to include as dependencies for a given target, and
the ability to specify existing libraries as external pre-built targets
which I believe should address all your specific points respectively. But
examples are not strong and you have to read through the whole doc to dig
out the useful bits. It is getting better though...

    Good luck,

    -- Ben Scherrey
       Proteus Technologies Ltd.

On Dec 22, 2007 12:43 AM, David Mack <dmtbone_at_[hidden]> wrote:

> There seems to be a fair few people using bjam and, whilst it's nice
> there's an 'example' directory packaged with the source, I I cannot find any
> 'non-trivial' examples of bjam being applied.
>
> I'm working on a system that is compiled into multiple dlls and one
> executable using a ridiculously complicated make configuration. I would
> very much like to take a stab at using bjam to address at least parts of the
> system, but I'm finding it very difficult to get off the ground.
>
> The problems I've hit against immediately are basically doing anything
> that involves more than a single dependency or directory of .cpp files:
>
> 1. how would you specify separate <include>s for the standard template
> libraries dependent on whether the system is being built on windows (VC) or
> linux (gcc)?
>
> 2. how would you recursively compiling a hierarchy of folders into a
> library (to .lib or/and .dll) ?
>
> 3. how do you link against pre-built dlls ?
>
>
> I'm sure I must be missing an obvious example/resource somewhere...
>
>
> Thanks for your time,
> David Mack
>
> ------------------------------
> Sent from Yahoo!<http://us.rd.yahoo.com/mailuk/taglines/isp/control/*http://us.rd.yahoo.com/evt=51949/*http://uk.docs.yahoo.com/mail/winter07.html>- a smarter inbox.
>
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost-build
>
>



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