Boost logo

Boost :

From: David Abrahams (david.abrahams_at_[hidden])
Date: 2001-10-11 07:32:47


----- Original Message -----
From: "Petr Ovchenkov" <ptr_at_[hidden]>

> David,
>
> My sorry, may be it's prohibited topic, but why jam?

Petr,

It's not prohibited!

We've had lots of discussions on the boost list, starting with this one:

http://groups.yahoo.com/group/boost/message/9568. You might do a search on
yahoogroups for messages containing "jam make build".

In my view, there are several reasons:

1. Portability. A single make is not available for all platforms, at least
not without installing a large package like Cygwin... and perhaps not even
then.

2. Power. Make's language for controlling builds makes it very hard to do
some jobs well. I've had a little experience putting together large build
systems using make, and found it to be extremely difficult once I got past a
certain point.

3. Less capricious. Maybe it's just me, but I find Make's "lazy evaluation"
approach to be extremely hard to control and to understand. Jam is much more
explicit about what it's doing.

4. Boost-compatible license. Jam is free for any purpose, and freely
redistributable.

> The complexity is near the same as with make. And presence in
> system more than one compiler is a big problem for jam.

Not at all. I use the boost build system with multiple compilers all the
time.
Also, with the right Jam code (e.g. what's in Boost.Build) it is possible to
specify build instructions in a platform- and compiler-neutral way, which
makes writing Jamfiles for new projects much simpler.

> Most people
> has a good experience with maintenance makefiles.

Not me. Maybe somebody else has a better solution.

-Dave


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk