Boost logo

Boost-Build :

Subject: Re: [Boost-build] What does bjam -a mean by "everything"?
From: Anthony Foglia (AFoglia_at_[hidden])
Date: 2009-06-08 16:00:04

Vladimir Prus wrote:
> Can you please provide a minimal example reproducing this problem,
> as an archive file of some popular format?

        Here's a (near-)minimal example. The source code is minimized. I've
added a simple executable in projects/ that can be compiled that uses
everything (albeit indirectly). I've only eliminated stuff from the
jamfiles that I'm sure isn't responsible, but left some others, in case
that's important.

        It definitely looks like the <source>/proj-libs/utilities//utilities
line in the rule for lib/raw//raw is the trigger. Commenting that out
means bjam -a lib/tools only rebuilds tools.

        Also, if I comment it out and put /proj-libs/utilities//utilities
explicitly in the list of sources for lib/tools//tools, bjam -a
lib/tools only rebuilds tools. So I guess this is either a bug, or the
documentation needs to clarified, because the <source>X feature isn't
having "the same effect on building a target as putting X in the list of

        If you switch into the directory and run
$ bjam projects/bjam_a_example
to compile everything. Then
$ bjam -a lib/tools
will rebuild tools and utilities, but not the other libraries.

        I'm using the version of boost build that came with ubuntu intrepid:

$ bjam --version
Boost.Build V2 (Milestone 12)
Boost.Jam 03.1.16

Anthony Foglia
Princeton Consultants
(609) 987-8787 x233

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