# Boost-Build :

Subject: [Boost-build] Building boost 1.45 libraries for QNX
From: David McMinn (david.mcminn_at_[hidden])
Date: 2010-11-26 09:02:25

Hi,

I'm trying to cross-build Boost 1.45 for QNX Neutrino 6.5.0 x86, hosted
on a Windows development system. Although I've used various Boost
libraries for Windows development this is the first time I've tried to
use it for QNX.

So far it seems to be working. I only need the date_time binaries so I
built as follows:

bootstrap
bjam --prefix=C:\Boost --build-dir=C:\Users\xxxxx\build-boost
--with-date_time toolset=qcc target-os=qnxnto install

I came across the same error and used the supplied diff as described here:

However, I wasn't overlay happy that the suffixes .obj and .lib were
used instead of .o and .a. After a bit of trial and error, using the
gcc.jam file as an example I got it with the correct suffixes. However,
I don't understand why or what impact this change has (the built exe
seems to run fine under QNX).

type.set-generated-target-suffix STATIC_LIB : <toolset>qcc : a ;

which was in the original file, I have used:

type.set-generated-target-suffix STATIC_LIB : <toolset>qcc
<target-os>qnxnto : a ;

Specifying the target-os seems to allow the build system to resovle the
ambiguity between I assume "STATIC_LIB : :" with any toolset and with
the qcc toolset, as it is only the toolset that was originally set. I'm
guessing that the original line should have overridden the suffixes for
all target OSes when the qcc toolset is used, but doesn't work for some
reason?

I also had to modify the qcc.jam file to fix the name of the ar.exe.
I've attached a diff for the changes I've made so you can see them all.
I guess there's a better way to specify the ar executable filename.

Thanks.