Boost logo

Boost-Build :

Subject: [Boost-build] Using Boost.Build for embedded cross-compiling
From: Seth LaForge (sethml_at_[hidden])
Date: 2009-01-08 22:07:39


I'm evaluating using Boost.Build for a project where we'll be building
for a number of embedded targets, as well as for the Linux host OS.
It seems like it should be possible to configure multiple toolsets and
compile individual programs with the appropriate toolset, something
like this:

 using gcc : x86 : /usr/bin/g++ ;
 using gcc : arm : tools/crosstool-arm-linux/bin/arm-linux-g++ ;

 # Simple program which can be run on either host or arm system.
 exe hello : hello.cpp : : <toolset>gcc-x86 <toolset>gcc-arm ;

 # Host-only program.
 exe gui : gui.cpp : : <toolset>gcc-x86 ;

 # Client-only program.
 exe flash_led : flash_led.cpp : : <toolset>gcc-arm ;

However, this doesn't work - when I run bjam I get:

 error: at /home/seth/src/trunk/controls/third_party/boost/tools/build/v2/build/project.jam:846
 error: duplicate initialization of gcc with the following parameters:
 error: version = x86

It appears I can't configure the gcc toolset more than once. Should I
be taking some other approach? I imagine I could create a new
<toolset>gccarm or something, but that seems like a pretty crude
solution. Suggestions?

Seth


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