Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2005-06-28 01:11:33


On Monday 27 June 2005 22:58, Mat Marcus wrote:

> > So, you'd like to have a property that disables encoding of version?
>
> No, sorry I was unclear, foo.1.33.0.dylib seem fine.

Great.

> > Also, am I right that you pass the same -isysroot in both cases? Then,
> > why it's needed?
>
> The presence of -arch i386 requires -isysroot
> /Developer/SDKs/MacOSX10.4u.sdk . If -arch i386 is absent, there are
> several other choices possible for SDK, including the default choice. In
> some ways the value of isysroot seems like a "free" feature. But since it
> is required in the presence of -arch i386 I'm not really sure what the
> natural way to handle it is in bbv2.
>
> I have a related question. Let's say I go ahead and define <arch> as a
> feature. Let's say that in my project's top level JF I have a project
> requirement of <arch>fat . Let's also say that my project depends on
> boost_filesystem. To get boost_filesystem to build as <arch>fat it seems I
> need to say something like
>
> alias boost_filesystem : /boost/filesystem/<arch>fat ;

I think you need to give the "arch" feature the "propagated" attribute. In
which can it will be propagated to all dependencies automatically.

> But then my JF will break for platforms for which <arch>fat is not defined.
> Do I have to do something ugly like the following?
>
> switch [ os.name ]
> {
> case MACOSX :
> {
> alias boost_filesystem : /boost/filesystem/<arch>fat ;
> }
> case * :
> {
> alias boost_filesystem : /boost/filesystem ;
> }
> }

You can write something nicer like:

project your_top_level_project : requirements <os>MACOX:<arch>fat ;

> The above solution seems rather coarse. ALso, I have other situations where
> an alias should not be built for a given toolset, but I don't know how to
> arrange matters in the Jamfile.

Typically, you can use target alternatives:

alias boost_filesystem : /boost/filesystem ;
alias boost_filesystem : : <toolset>yfc ;

When toolset=yfc, the second alternative will be selected, and... do
absolutely nothing.

- Volodya

-- 
Vladimir Prus
http://vladimir_prus.blogspot.com
Boost.Build V2: http://boost.org/boost-build2
 

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