I work for RIM (ie BlackBerry), and am trying to make using boost as easy as possible to use for BB developers. So I would like to make building boost for BB as easy as possible. I would also like to make building boost work "as expected" for anyone who understands Boost.Build. It is the "as expected" part that I'm not sure of. ie should I just offer a blackberry-config.jam? should Boost.Build be changed to auot-detect the BB NDK? should blackberry be a toolset? a target-os? ...? how would you *expect* it hook into Boost.Build? (And note that I expect that developers *also* use the same boost for Windows, etc, so I don't want to replace/affect the simple build for the host machine.) - And finally, it would be nice if this was upstreamed back into boost build (if people think that makes sense), so that boost "just works" on BlackBerry. Here's what I have so far: from the command line, you run something like: b2 install --prefix=C:\boost\ --user-config=blackberry-config.jam --layout=system toolset=gcc target-os=qnxnto I'd prefer it if they didn't need to type so much. And the config file looks like basically the rest of this email: import os ; # these env vars are set by installing the BB NDK QNX_TARGET_ARCH = [ os.environ QNX_TARGET_ARCH ] ; QNX_TARGET = [ os.environ QNX_TARGET ] ; QNX_HOST = [ os.environ QNX_HOST ] ; if ! $(QNX_TARGET) || ! $(QNX_HOST) { ECHO error: ; ECHO error: BlackBerry build of Boost requires QNX_TARGET and QNX_HOST env variables. Did you run bbndk-env.bat? ; ECHO error: ; EXIT ; } if $(QNX_TARGET_ARCH) = x86 { dashVOpt = gcc_ntox86_cpp ; linkArchDir = x86 ; } else { dashVOpt = gcc_ntoarmv7le_cpp ; linkArchDir = armle-v7 ; } using qcc # Version : # C++-compile-command : $(QNX_HOST)/usr/bin/QCC -V$(dashVOpt) # Compiler options : <compileflags>"-D__QNX__" <compileflags>"-D__QNXNTO__" # Add -D__USE_ISOC99 for rounding control mechanism (boost/numeric/interval/hw_rounding.hpp) <compileflags>"-D__USE_ISOC99" <compileflags>"-I$(QNX_TARGET)/usr/include" # Prevent this from being output: "note: the mangling of 'va_list' has changed in GCC 4.4" <compileflags>"-Wno-psabi" # Add -fPIC to link without error to LibTestNativeLibTuTest.o (for statechart tests) <compileflags>"-fPIC" # Requested by BBM team <compileflags>"-fno-strict-aliasing" # Functions like sync_val_compare_and_swap and sync_fetch_and_add aren't available <compileflags>"-DBOOST_SP_NO_SYNC" <linkflags>"-L$(QNX_TARGET)/$(linkArchDir)/usr/lib -L$(QNX_TARGET)/$(linkArchDir)/lib" ; import option ; option.set keep-going : false ; ------------------------ Thanks in advance, Tony