$include_dir="/home/hyper-archives/boost-build/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-build] Using Boost.Build for embedded cross-compiling
From: Seth LaForge (sethml_at_[hidden])
Date: 2009-01-08 17:47:00
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