Boost logo

Boost-Build :

From: Phillip Seaver (phil_at_[hidden])
Date: 2006-05-05 10:22:05


Noam Tamim wrote:
> On 5/5/06, *Jürgen Hunold* <hunold_at_[hidden]
> <mailto:hunold_at_[hidden]>> wrote:
>
> > lib PortingLayer : <platform>Win32:<include>Win32
> > <platform>PocketPC:<include>PocketPC
> <memory-check>off:<define>BOOST_SP_USE_QUICK_ALLOCATOR
>
>
> Ok, this seems to work (like Vladimir pointed out, my custom feature
> has to be non-free. I can live with that.).
>
>
> Two follow-up questions:
> 1. Can a single condition affect more than one requirement? Meaning,
> instead of writing:
> <platform>win32:<include>Win32 <platform>win32:<define>WIN32_BUILD
>
> can I use something like:
> <platform>win32:(<include>Win32 <define>WIN32_BUILD)
>
> ? This syntax doesn't seem to work, but maybe you have something else
> that does.
>

You can do something like:

    feature platform : Win32 time : composite propagated ;
    feature.compose <platform>Win32 : <include>Win32 <define>WIN32_BUILD ;
    feature.compose <platform>PocketPC : <include>PocketPC
    <define>POCKETPC_BUILD ;

> 2. How can I conditionally glob for files? I want something like:
> <platform>win32:<source>[ glob Win32/*.cpp ]
>
> However this does not work.

I can think of two ways that would probably work:

    local win32_srcs = [ glob Win32/*.cpp ] ;

and then use "<platform>win32:<source>$(win32_srcs)"

You could also use <conditional> like in
http://thread.gmane.org/gmane.comp.lib.boost.build/11629/focus=11630

Phillip


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