Boost logo

Boost-Build :

From: Rene Rivera (grafik.list_at_[hidden])
Date: 2004-07-12 00:04:57

rameysb wrote:

> I've got Jamfile in my test directory.
> I builds and runs all my tests on mulitple configurations. So far so
> good.
> Except one: That platform uses STLPORT which requires that
> everything be built with the the multi-threaded compabible object
> files and libraries. The Jamfile makes no specific indication as to
> whether compilations should be done with or without multi-threading.
>>>From observing the files produced. It seems that it builds for
> single tasking executables by default.
> My question is: How should I specify that for one particular
> situation - configuration uses STLPort - that it should build
> executables for multi-threading and an use corresponding runtime
> libraries?

The least annoying way is to add a requirement rule that checks for
stlport use and adds the <threading>multi requirement as needed. This is
what the std::locale-support and std::facet-support rules do (in
boost-base.jam). It might look like so:

rule stlport-requirements ( toolset variant : subvariant-path properties * )
if [ MATCH .*(stlport).* : $(toolset) ] ||
[ MATCH .*(stlport).* : $(properties:G) ]
properties =
[ difference $(properties) : <threading>single ]
<threading>multi ;
return $(subvariant-path) $(properties) ;

And then add the name of the rule to the requirements section.


-- Grafik - Don't Assume Anything
-- Redshift Software, Inc. -
-- rrivera/ - grafik/ - 102708583/icq

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