[C++-sig] building boost python --threading mystery ?

Avi Bahra avibahra at googlemail.com
Fri Oct 15 15:39:53 CEST 2010


Trying to understand --threading option when applied to building boost python
On Linux with gcc it appears to have no effect.

 bjam toolset=gcc --with-python link=shared variant=debug --threading=single
Building the Boost C++ Libraries.
...patience...
...patience...
...found 1489 targets...
...updating 40 targets...
common.mkdir bin.v2
common.mkdir bin.v2/libs
common.mkdir bin.v2/libs/python
common.mkdir bin.v2/libs/python/build
common.mkdir bin.v2/libs/python/build/gcc-4.2.1
common.mkdir bin.v2/libs/python/build/gcc-4.2.1/debug
common.mkdir bin.v2/libs/python/build/gcc-4.2.1/debug/threading-multi
gcc.compile.c++
bin.v2/libs/python/build/gcc-4.2.1/debug/threading-multi/numeric.o


When I specify "--threading=single" it appears to be ignored:
Even putting a rubbish value has no effect ?  --threading=gooblygook

bjam toolset=gcc --with-python link=shared variant=debug --threading=gooblygook
nBuilding the Boost C++ Libraries.nn
...patience...
...patience...
...found 1489 targets...
...updating 19 targets...
gcc.compile.c++
bin.v2/libs/python/build/gcc-4.2.1/debug/threading-multi/object/function.o


However if you have Jamfile that has "using python" like boost python examples
then it gets built as :
bjam
...patience...
...patience...
...patience...
...found 12311 targets...
...updating 42 targets...
common.mkdir /var/tmp/ma0/boost/boost_1_43_0/bin.v2
common.mkdir /var/tmp/ma0/boost/boost_1_43_0/bin.v2/libs
common.mkdir /var/tmp/ma0/boost/boost_1_43_0/bin.v2/libs/python
common.mkdir /var/tmp/ma0/boost/boost_1_43_0/bin.v2/libs/python/build
common.mkdir /var/tmp/ma0/boost/boost_1_43_0/bin.v2/libs/python/build/gcc-4.2.1
common.mkdir /var/tmp/ma0/boost/boost_1_43_0/bin.v2/libs/python/build/gcc-4.2.1/debug
gcc.compile.c++
/var/tmp/ma0/boost/boost_1_43_0/bin.v2/libs/python/build/gcc-4.2.1/debug/numeric.o
gcc.compile.c++
/var/tmp/ma0/boost/boost_1_43_0/bin.v2/libs/python/build/gcc-4.2.1/debug/list.o

This time there is no mention of threading ?

So it appears that when building boost python at $BOOST_ROOT level it
is fixed as multi threaded
but then gets ignored when building python extensions. The net result
being two builds
of boost python.

Best regards,
Avi


More information about the Cplusplus-sig mailing list