Boost logo

Boost-Build :

Subject: Re: [Boost-build] Boost.jam and 32 vs. 64 bit compilations
From: Anthony Foglia (AFoglia_at_[hidden])
Date: 2009-06-16 11:19:20

Ian Emmons wrote:
> Anthony: I've been able to do this sort of conditional on searched-lib
> targets.

        Yes. Originally we had defined lib targets explicitly for each of the
Boost libraries that needed linking, and through conditionals on those
boost-build would find the correct version.

        My mistake was trying to switch to the "boost.jam" file, which is the
suggested way of include boost libraries in a boost-build project. That
you configure by passing it <include> and <library> properties. But the
logic isn't smart enough to determine if one of them is set via a

        It looks like what I need to do is go through all the options, look to
see if any are conditional, and if so, if they define the library path,
and then, use that library path as the <search> property for the boost
project defined within. Which is way more advanced than my weak
boost-build skills are capable of.
        (That, or get the final address-model and context at the point
boost.use-project is called, but I don't think that's possible.)

> On Jun 15, 2009, at 6:29 PM, Anthony Foglia wrote:
> We primarily compile in 64 bit, but sometimes need 32 bit
> compilations. We used to have custom-made rules for the boost
> libraries, but I'm working on switching to using the boost.jam
> distributed in contrib.
> Is there a way to configure the rules in there so the library search
> path correctly finds either the 32- or 64-bit libraries as needed.
> I tried lines like :
> using boost
> : 1.38
> : <include>boost_1_38_0/include/boost-1_38
> <address-model>64:<library>boost_1_38_0/lib
> <address-model>32:<library>boost_1_38_0/lib32
> ;
> But the conditional parameter logic confuses boost.jam into thinking
> boost isn't configured.

Anthony Foglia
Princeton Consultants
(609) 987-8787 x233

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