From: Rene Rivera (grafik.list_at_[hidden])
Date: 2004-07-12 00:04:57
> I've got Jamfile in my test directory.
> I builds and runs all my tests on mulitple configurations. So far so
> 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
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) ]
[ difference $(properties) : <threading>single ]
return $(subvariant-path) $(properties) ;
And then add the name of the rule to the requirements section.
-- -- Grafik - Don't Assume Anything -- Redshift Software, Inc. - http://redshift-software.com -- rrivera/acm.org - grafik/redshift-software.com - 102708583/icq
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