|
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