Boost logo

Boost-Build :

From: Caleb Epstein (caleb.epstein_at_[hidden])
Date: 2004-12-16 08:19:29


On Thu, 16 Dec 2004 12:19:32 +0100, Toon Knapen <toon.knapen_at_[hidden]> wrote:

> 1) make is just a rule-system so you still need to learn it how to
> compile a file with every different compiler and what options need to be
> given to the compiler-invocation
>
> 2) No direct support for creating dynamic libraries (that is mostly done
> by libtool or soth)

Well, this isn't natively part of bjam either. Its part of
Boost.Build. There are lots of files in $BOOST_ROOT/tools/build/v[12]
that make this magic possible and I'm sure considerable effort was
invested in their writing.

It is possible to build similar rule-sets using make as well (I know,
I've done it), but as Vladimir rightly points out the syntax is obtuse
and the end result not nearly as complete or full-featured. The
ability to produce both a debug and a release build with every
possible combination of features in a single pass is pretty amazing.

> 3) multi-platform, thus also on windows. I know gnumake is also ported
> to windows but then you again still need to learn make how to use the
> compilers on windows (coming back to point 1 thus)
>
> 4) support for build-features and variants ?

This along with the portability are the biggest win IMHO.

> Generally bjam is much higher level: knows how to use the different
> compilers and easy to adapt to new languages etc.

In the end I agree, but don't confuse the tool (bjam) with the
rule-set (Boost.Build).

-- 
Caleb Epstein
caleb dot epstein at gmail dot com
 

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