Boost logo

Boost-Build :

Subject: [Boost-build] Threading with vacpp toolset
From: K. Noel Belcourt (kbelco_at_[hidden])
Date: 2010-11-26 13:12:10


With the vacpp toolset, we build single threaded by default but when
we enable MPI, a few Boost libraries are built threading=multi due to
the dependence on MPI. What's strange is that the compile lines for
these libraries look like this:

qpic=large -qcpluscmt -qNOOPTimize -qnoinline -g -qfullpath -qeh -
qrtti -I".." -I"/projects/sierra/dawn/openmpi-1.4.2/include" -o "/
adjlist_build_test.o" "../libs/graph_parallel/test/

Notice the single threaded compiler (xlC) followed by the multi-
threaded compiler (xlC_r).

The problem seems to be in the vacpp.jam file where the compiler is
selected based on the threading model.

flags vacpp VA_CXX_COMPILER <threading>single : xlC ;
flags vacpp VA_CXX_COMPILER <threading>multi : xlC_r ;

It seems that when we set the flag for the multi-threaded compiler,
we should replace the existing compiler (xlC) rather than append on a
new compiler (xlC_r).

Does anyone know how to make the flags rule perform this feat
(replace instead of append)?

-- Noel

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