Boost logo

Boost-Build :

Subject: Re: [Boost-build] Jam rename?
From: Mike Jackson (mike.jackson_at_[hidden])
Date: 2009-03-14 08:27:50


On Sat, Mar 14, 2009 at 6:58 AM, Vladimir Prus <ghost_at_[hidden]> wrote:
> On Saturday 14 March 2009 12:41:40 Alexander Bernauer wrote:
>> Hi
>>
>> On Saturday 14 March 2009 09:26:45 Vladimir Prus wrote:
>> > Quite a number of folks tend to confuse Boost.Build and Boost.Jam,
>>
>> So do I, since I read your mail ;-) I am quite new to the matter so
>> maybe my impressions might give some answer to your question.
>>
>> What I know so far is http://www.boost.org/doc/tools/build/index.html
>> saying "Boost.Build is an easy way to build C++ projects," and
>> http://www.boost.org/doc/tools/jam/index.html saying "Boost.Jam (BJam)
>> is a build tool". Not that much distinction here. Is it that Boost.Jam
>> is a generic build tool while Boost.Build is a set of bjam libraries
>> focusing on building C++ projects?
>>
>> I used to consult the documentation of the former in order to write
>> Jam-files which are interpreted by the latter. So, looking back, I have
>> always been wondering why there are actually two websites for what I
>> considered being the same thing.
>
> I have a todo item to start the Boost.Jam page with a warning in big
> red font that reads: "Boost.Jam is the low-level build engine used
> by Boost.Build. You better read Boost.Build docs".
>
> OTOH, I am not sure if that warning will fully help.
>
> - Volodya

 I'll toss out my opinion for what it is worth as a complete outsider
looking in..

I _still_ do not understand what Boost.Build is. I always figured it
was just part of the Boost project and was the custom build system
used by Boost, hence the name Boost.Build and bjam but I had no idea
you could use it separately. Let me see if I can figure this out using
what I know: CMake:

So CMake has the actual CMake executable tool, this seems equivalent
to bjam. Then CMake has a bunch of "modules" that help do things like
find libraries, test for symbols, install stuff. I guess those are
like the Boost.Build system or the Boost.Build "libraries"? Then you
write your own cmake files specific to your project which I guess is
like the part where you write your own project.bjam files? Is that
right? Do I actually need Boost to run Boost.Build? Does Boost have
anything to do with Boost.Build? If not then I would pick an entirely
different name in order to provide clear separation between the Boost
project and the Boost.Build build system.

  Hope that provides some insight

Respectfully
Mike Jackson


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