Boost logo

Boost :

From: Rene Rivera (grafik.list_at_[hidden])
Date: 2004-01-28 15:00:47


Robert Ramey wrote:

> Reece Dunn wrote:
>
>
>>John Torjo wrote:
>>
>>>Maybe to simplify the process, in boost-root (where boost-build.jam file
>>>exists), we could have a makefile which automatically builds bjam from the
>>>source files and the invokes it with a given configuation.
>>>
>>>like:
>>>make msvc
>>>(instead of bjam "-sTOOLS=msvc")
>>>
>>>Unfortunately, I don't have any makefile knowledge.

It's a question of bootstrapping... One needs to decide what system is
available in the variety of systems and provide a script written to bootstrap
on each of those. And no, not everyone has make ;-)

> ahhh - we've come full circle.
>
>>I am knowledgeable in makefiles, but this leads to a problem: you need to
>>configure the makefile to handle all the various compiler and platform
>>combinations - something bjam already handles, so why duplicate this effort?
>
>
>>Is there a bjam file for bjam?! That way it could be bootstrapped. But then
>>why not just download a pre-built version of bjam?

Yes there is: boost-root/tools/build/jam_src/build.jam .. Which gets
bootstrapped with boost-root/tools/build/jam_src/build.bat or ./build.sh or
./build_vms.com

> Bascally I think the whole purpose of bjam is to address the concerns
> of the original poster. Unfortunately, this is not obvious from the information
> on bjam that comes with the system. I realise that the information
> is available - its just that is spread around in several places. Bjam
> is a large subject and requires almost a book to explain it. BUT
> it (or something like it is necessary for boost - as was obvious
> to the original poster.

Not sure a whole book is deserved, but certainly a good manual with tutorials.

> The central purpose of the bjam system is to specify how to build
> programs in a generic way independent of any particular platform
> while at the same time specify how each platform handles
> particular aspects of the application developement. This is
> a very ambitious concept and has resulted (not surprisingly) in a system
> that is pretty elaborate. A very ambitiuos effort.

It is ambitious.. which is also why there are other build systems trying to
solve the same problems, for example SCons, Bakefile.

> In one important way, its not ambitious enough. Unlike the rest of boost,
> it seems directed a bit narrowly to building and testing boost libraries.

Not really... There are many people using it to build there own projects,
myself included. In fact I use it more frequently to build my own stuff than
to build Boost.

> I get this impression from the fact that much effort is being invested in
> the code but relatively little in producing a complete, coherent and
> well organised explanation of how to make best usage of it. Maybe
> we can sucker someone in writing an O'Reilly book on this which
> would include the bjam system? Of course this would need a more
> polished system.

Having time to write documentation is the biggest problem we all have ;-)
Especially when we are spending most free time getting things to just work.

> I'm sorry go on about this, the thing just drives me crazy.

No problem... But perhaps you can go on about it at the Boost.Jam/Build list
instead of the main list :-)

-- 
-- Grafik - Don't Assume Anything
-- Redshift Software, Inc. - http://redshift-software.com
-- rrivera/acm.org - grafik/redshift-software.com - 102708583/icq

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