Re: [Boost-bugs] [Boost C++ Libraries] #3690: regex depends on pthread library when boost is built with threading=single

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #3690: regex depends on pthread library when boost is built with threading=single
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2009-12-03 16:39:05


#3690: regex depends on pthread library when boost is built with threading=single
---------------------------------+------------------------------------------
 Reporter: jdccdevel@… | Owner: vladimir_prus
     Type: Bugs | Status: new
Milestone: Boost 1.42.0 | Component: build
  Version: Boost 1.40.0 | Severity: Problem
 Keywords: |
---------------------------------+------------------------------------------
Changes (by johnmaddock):

  * owner: johnmaddock => vladimir_prus
  * component: regex => build

Comment:

 I'm reassigning this because it's a Boost.Build issue, but... it might not
 be an issue at all:

 As I recall after a long and agonising discussion, Boost.Build and
 Boost.Config were changed so that:

 * threading=multi: changes whatever needs changing to make multithreaded
 builds work.
 * threading=single: actually just uses the compiler's default options, if
 those happen to be thread-safe (ie the same as used for threading=multi)
 then BOOST_HAS_THREADS gets defined, and regex will use pthreads.

 The rationale for this change was that most people actually want "one true
 binary" rather than a multitude of threadsafe / not threadsafe options.
 So on many platforms threading=multi and threading=single actually deliver
 the same thing. [aside - it would actually have been better IMO to have
 had 3 options - threading=multi, threading=default, and threading=single]

 There is one other option, which is to build with BOOST_DISABLE_THREADS
 defined, which really will build a thread-unsafe binary - and of course
 that define would have to be set when you compile your source code as
 well.

 I notice you don't mention which compiler you are using? Can you confirm
 whether there is any material differnce between how your compiler behaves
 with and without whatever command-line options are enabled by
 threading=multi (try building with bjam -d2 to see what options are being
 used)?

 HTH, John.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/3690#comment:1>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:02 UTC