Boost logo

Boost-Build :

Subject: Re: [Boost-build] Boost.jam and 32 vs. 64 bit compilations
From: Ian Emmons (iemmons_at_[hidden])
Date: 2009-06-16 10:42:59


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

A related question for the list in general: Why isn't the address
model part of the name of the libraries compiled from Boost? If it
were, the conditional <library> feature would not be necessary.

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.

        I tried looking at the functions in property and property-set, but
couldn't find anything to evaluate the rules to collapse the library
property to just one. I'm guessing it's not even possible, because
the address-model feature prints as "16 32 64" even though I'm
explicitly passing in on the command-line.

        Is there some other simple way to add this ability?

-- 
Anthony Foglia
Princeton Consultants
(609) 987-8787 x233



Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk