Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2007-01-23 15:19:01

On Tuesday 23 January 2007 20:36, Benjamin Kosnik wrote:

> As libboost_thread doesn't come in a single thread variant, I'm
> wondering if
> libboost_date_time-mt.a
> libboost_filesystem-mt.a
> libboost_graph-mt.a
> libboost_prg_exec_monitor-mt.a
> libboost_program_options-mt.a
> libboost_python-mt.a
> libboost_serialization-mt.a
> libboost_signals-mt.a
> libboost_test_exec_monitor-mt.1
> libboost_unit_test_framework-mt.a
> libboost_wave-mt.a
> libboost_wserialization-mt.a
> And the corresponding shared objects are, in fact, no-ops on linux
> targets? If not, can somebody give me some more insight onto what
> practical difference the *-mt libraries above have from the
> single-thread variant?

MT build with gcc on Linux has two properties:

        1. It's linked against -lpthread
        2. It's compiled with -D_REENTRANT

(1) matters only for shared libraries. I am not in position to say
which of the above library have incompatible ABI changes due to _REENTRANT.
I believe that program_options uses shared_ptr in interface, so MT and ST variants
are not binary compatible. I believe some other libraries might also differ between
MT and ST and it's easier to build two variants rather than guess which libraries
need it and which don't.


> best,
> -benjamin
> _______________________________________________
> Unsubscribe & other changes:

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