Boost logo

Boost-Build :

From: David Abrahams (dave_at_[hidden])
Date: 2003-07-22 06:54:28

The following message is a courtesy copy of an article
that has been posted to gmane.comp.python.c++ as well.

Dave, you're in the wrong group with these questions. Please repost
to the Jamboost group (where I've cross-posted this message).

Dave Reed <drlinux_at_[hidden]> writes:

> I've just tried boost last week so I'm not up on all the details
> yet. First, thanks to all the developers - I'm very impressed and
> looking forward to using it more. I finally got it to work in a
> separate directory using a Jamfile with based on the "project"
> example.
> My C++ code uses OpenGL so by looking at examples, it seems I need to
> add:
> <gcc><*><find-library>GLU
> <gcc><*><find-library>GL
> Is this the correct way to do it (it appears to work fine)?

That will put -lGLU and -lGL in your GCC command-line. Not sure if
that's what you want to achieve...

> What if the library is in a non-standard place - do you specify -I


> and -L compiler flags somehow?


> I didn't see much documentation on creating Jamfiles. Is there
> specific documentation on these type of things?

I think it's weak and sparse in that area, at best. Check the
examples/v1 directory for what you're interested in.

> I'm also uncertain what the comments in the Jamrules file are saying:
> # Establish the root of the boost installation. Most targets will want
> # $(BOOST_ROOT) in their #include path. $(gTOP) is the name of the
> # variable
> # containing the path from the invocation directory to the project root.
> path-global BOOST_ROOT : $($(gTOP))/../../.. ;
> What include path is it talking about?

One that gets specified on the command-line, usually with "-I".
Setting up that variable allows you to write:


in a target's requirements section in a Jamfile.

> Should I get setting CFLAGS to -I//usr/local/src/boost_1_30_0

Nope. CFLAGS doesn't have any effect in Boost Build.

> Also, I just downloaded the latest Red Hat beta and it now includes
> boost for the first time (or at least part of it). On my other system
> where I installed boost from scratch, I've got a boost-build.jam that
> points to where boost is installed.
> boost-build.jam
> # Specify path to the boost build system
> BOOST_ROOT = /usr/local/src/boost_1_30_0 ;
> boost-build /usr/local/src/boost_1_30_0/tools/build ;
> I'm not certain what to do on the Red Hat beta system since there's no
> source. Here's the RPMS they've split it into:
> boost-1.30.0-3
> boost-devel-1.30.0-3
> boost-doc-1.30.0-3
> boost-jam-3.1.4-2
> boost-python-1.30.0-3
> boost-python-devel-1.30.0-3
> I can post a list of the files (rpm -ql for each rpm) from the boost
> RPMS if anyone wants or put them on a web site.

I'm guessing the sources are in the boost-devel package.

Dave Abrahams
Boost Consulting

Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at