Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r80459 - in trunk: boost/thread/detail libs/thread/doc
From: vicente.botet_at_[hidden]
Date: 2012-09-09 08:35:38


Author: viboes
Date: 2012-09-09 08:35:37 EDT (Sun, 09 Sep 2012)
New Revision: 80459
URL: http://svn.boost.org/trac/boost/changeset/80459

Log:
Thread: Remove BOOST_THREAD_DONT_USE_SYSTEM and update documentation to manage with 7336
Text files modified:
   trunk/boost/thread/detail/config.hpp | 9 ++-------
   trunk/libs/thread/doc/configuration.qbk | 12 +++---------
   trunk/libs/thread/doc/overview.qbk | 21 +++++++++++++++++++++
   3 files changed, 26 insertions(+), 16 deletions(-)

Modified: trunk/boost/thread/detail/config.hpp
==============================================================================
--- trunk/boost/thread/detail/config.hpp (original)
+++ trunk/boost/thread/detail/config.hpp 2012-09-09 08:35:37 EDT (Sun, 09 Sep 2012)
@@ -43,13 +43,8 @@
 #endif
 #endif
 
-// Uses Boost.System by default if not stated the opposite defining BOOST_THREAD_DONT_USE_SYSTEM
-#if ! defined BOOST_THREAD_DONT_USE_SYSTEM && ! defined BOOST_THREAD_USES_SYSTEM
-#define BOOST_THREAD_USES_SYSTEM
-#endif
-
-// Uses Boost.Chrono by default if not stated the opposite defining BOOST_THREAD_DONT_USE_CHRONO or BOOST_THREAD_DONT_USE_SYSTEM
-#if ! defined BOOST_THREAD_DONT_USE_CHRONO && ! defined BOOST_THREAD_DONT_USE_SYSTEM && ! defined BOOST_THREAD_USES_CHRONO
+// Uses Boost.Chrono by default if not stated the opposite defining BOOST_THREAD_DONT_USE_CHRONO
+#if ! defined BOOST_THREAD_DONT_USE_CHRONO && ! defined BOOST_THREAD_USES_CHRONO
 #define BOOST_THREAD_USES_CHRONO
 #endif
 

Modified: trunk/libs/thread/doc/configuration.qbk
==============================================================================
--- trunk/libs/thread/doc/configuration.qbk (original)
+++ trunk/libs/thread/doc/configuration.qbk 2012-09-09 08:35:37 EDT (Sun, 09 Sep 2012)
@@ -8,20 +8,14 @@
 
 [section:configuration Configuration]
 
-[section:system Boost.System]
-
-Boost.Thread uses by default Boost.System to define the exceptions. For backward compatibility and also for compilers that don't work well with Boost.System the user can define `BOOST_THREAD_DONT_USE_SYSTEM `.
-
-`BOOST_THREAD_USES_SYSTEM` is defined when Boost.Thread uses Boost.Move.
-
-[endsect]
 
 [section:chrono Boost.Chrono]
 
-Boost.Thread uses by default Boost.Chrono for the time related functions. For backward compatibility and also for compilers that don't work well with Boost.Chrono the user can define `BOOST_THREAD_DONT_USE_CHRONO`. If `BOOST_THREAD_DONT_USE_SYSTEM` is defined then `BOOST_THREAD_DONT_USE_CHRONO` is defined implicitly.
+Boost.Thread uses by default Boost.Chrono for the time related functions. For backward compatibility and also for compilers that don't work well with Boost.Chrono the user can define `BOOST_THREAD_DONT_USE_CHRONO`.
 
 `BOOST_THREAD_USES_CHRONO` is defined when Boost.Thread uses Boost.Chrono.
 
+
 [endsect]
 
 [section:move Boost.Move]
@@ -29,7 +23,7 @@
 Boost.Thread uses by default an internal move semantic implementation. Since version 3.0.0 you can use the move emulation emulation provided by Boost.Move.
 
 When `BOOST_THREAD_VERSION==2` define `BOOST_THREAD_USES_MOVE ` if you want to use Boost.Move interface.
-When `BOOST_THREAD_VERSION==3` define `BOOST_THREAD_DONT_USE_MOVE ` if you want to use boost::unique_future.
+When `BOOST_THREAD_VERSION==3` define `BOOST_THREAD_DONT_USE_MOVE ` if you don't want to use Boost.Move interface.
 
 [endsect]
 

Modified: trunk/libs/thread/doc/overview.qbk
==============================================================================
--- trunk/libs/thread/doc/overview.qbk (original)
+++ trunk/libs/thread/doc/overview.qbk 2012-09-09 08:35:37 EDT (Sun, 09 Sep 2012)
@@ -42,6 +42,27 @@
 
 The source code compiled when building the library defines a macros BOOST_THREAD_SOURCE that is used to import or export it. The user must not define this macro in any case.
 
+Boost.Thread depends on some non header-only libraries.
+
+* Boost.System: This dependency is mandatory and you will need to link with the library.
+
+* Boost.Chrono: This dependency is optional (see below how to configure) and you will need to link with the library if you use some of the time related interfaces.
+
+* Boost.DateTime: This dependency is mandatory, but even if Boost.DateTime is a non header-only library Boost.Thread uses only parts that are header-only, so in principle you should not need to link with the library.
+
+It seems that there are some IDE (as e.g. Visual Studio) that deduce the libraries that a program needs to link to inspecting the sources. Such IDE could force to link to Boost.DateTime and/or Boost.Chrono.
+
+As the single mandatory dependency is to Boost.System, the following
+
+ bjam toolset=msvc-11.0 --build-type=complete --with-thread
+
+will install only boost_thread and boost_system.
+
+Users of such IDE should force the Boost.Chrono and Boost.DateTime build using
+
+ bjam toolset=msvc-11.0 --build-type=complete --with-thread --with-chrono --with-date_time
+
+
 The following section describes all the macros used to configure Boost.Thread.
 
 [include configuration.qbk]


Boost-Commit 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