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.

HTH,
Volodya

>
> best,
> -benjamin
>
>
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build
>
>


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk