Boost logo

Boost-Build :

Subject: Re: [Boost-build] What does bjam -a mean by "everything"?
From: Anthony Foglia (AFoglia_at_[hidden])
Date: 2009-06-06 18:50:28

Steven Watanabe wrote:
> Anthony Foglia wrote:
>> bjam -a supposedly means "Rebuild everything", according to the
>> help option, but I have no idea what everything means.
> -a tells bjam to behave as though all targets are out of date.
> It will build exactly the same targets as if you deleted everything
> and ran bjam without -a.

        But I just said that's not quite what it does. Or you're relying on
the word everything to define everything.

        The library tools explicitly depends on lib_a and raw. Those two
depend explicitly on utilities. I would expect running bjam -a
lib/tools to either rebuild just tools, or tools, lib_a, raw, and
utilities. Not tools and utilities.

        I'm guessing it's the <source>utilities in the usage requirements of
raw, but I still don't understand why that's bring utilities into the
set of "everything" and what "everything" means.

        If I delete everything bjam created under the Jamroot, I would expect
(and require) lib_a and raw to be rebuild. If I delete everything bjam
creates under lib/tools, I would expect only lib/tools to be rebuilt. I
don't understand the definition of the set of "everything" that includes
only tools and utilities.

        What's the logic I should be using?

Anthony Foglia
Princeton Consultants
(609) 987-8787 x233

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