Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2006-04-25 07:45:14

On Tuesday 25 April 2006 15:41, Andreas Bogk wrote:
> Hello,
> I'm currently evaluating the usage of Boost.Build for our software
> development. We have a rather intricate set of requirements for
> building. I've looked at Boost.Build, and managed to set up a
> hierarchical set of project decriptions that builds a simple executable,
> but I've been unable to find a good approach for the following aspects
> of building:

Hi Andreas,

> * Cross-Compilation support
> This should be obvious, we need to cross-compile for a number of
> embedded platforms. I know that's a feature other people need too,
> what's a good way to get started?

This is not currently supported. We have "architecture" feature that can be
used to specify which architecture you want, but few toolsets care about it.
Can you describe what compilers you use, and that system you target. Maybe we
can agree on the right interface, and then tweak some toolset files to do
what you want.

> * Mixing different compilers
> We need to compile different libraries using different toolsets, and
> link them all together into one executable. It's not clear to me how
> this can be done.

For example:

   exe my : a b main.cpp ;
   lib a : a.cpp : <toolset>intel ;
   lib b : b.cpp : <toolset>gcc ;

In this case, 'a' and 'b' will be built with the specific compilers specified
above, not matter what compiler is used to build 'my'.

> * Separate build directories
> I might want to compile for different embedded devices, which are
> all the same nominal platform (WinCE), but require a different set of
> <define>s. How do I express that, and how do I keep the build results
> for different sets of <define>s apart?

You can define new 'composite' feature:

   feature.feature wince_flavour : 1 2 3 4 : propagated composite ;
   feature.compose <wince_flavour>1 : <define>WINCE_1 ;


Vladimir Prus
Boost.Build V2:

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