$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r81000 - trunk
From: steven_at_[hidden]
Date: 2012-10-16 14:09:46
Author: steven_watanabe
Date: 2012-10-16 14:09:45 EDT (Tue, 16 Oct 2012)
New Revision: 81000
URL: http://svn.boost.org/trac/boost/changeset/81000
Log:
Make sure that b2 threading=single works by skipping Boost.Thread and all the libraries that depend on it.  Fixes #7105.
Text files modified: 
   trunk/boostcpp.jam |    42 ++++++++++++++++++++++++++++++++++++++- 
   1 files changed, 40 insertions(+), 2 deletions(-)
Modified: trunk/boostcpp.jam
==============================================================================
--- trunk/boostcpp.jam	(original)
+++ trunk/boostcpp.jam	2012-10-16 14:09:45 EDT (Tue, 16 Oct 2012)
@@ -209,8 +209,46 @@
     return $(result) ;
 }
 
+rule filtered-target ( name : message + : sources + : requirements * )
+{
+    message $(name)-message : warning: $(message) ;
+    alias $(name) : $(sources) : $(requirements) ;
+    alias $(name) : $(name)-message ;
+
+    local p = [ project.current ] ;
+    $(p).mark-target-as-explicit $(name) ;
+    $(p).mark-target-as-explicit $(name)-message ;
+}
+
 rule declare_install_and_stage_proper_targets ( libraries * : headers * )
 {
+    for local l in $(libraries)
+    {
+        if $(l) = locale
+        {
+            filtered-target $(l)-for-install :
+                Skipping Boost.Locale library with threading=single. :
+                libs/$(l)/build : <threading>multi ;
+        }
+        else if $(l) = wave
+        {
+            filtered-target $(l)-for-install :
+                Skipping Boost.Wave library with threading=single. :
+                libs/$(l)/build : <threading>multi ;
+        }
+        else if $(l) = thread
+        {
+            filtered-target $(l)-for-install :
+                Skipping Boost.Thread library with threading=single. :
+                libs/$(l)/build : <threading>multi ;
+        }
+        else
+        {
+            alias $(l)-for-install : libs/$(l)/build ; 
+        }
+    }
+    local library-targets = $(libraries)-for-install ;
+
     install-requirements = <install-source-root>$(BOOST_ROOT)/boost ;
 
     if $(layout-versioned)
@@ -238,14 +276,14 @@
     package.install install-proper
         : $(install-requirements) <install-no-version-symlinks>on
         :
-        : libs/$(libraries)/build
+        : $(libraries)-for-install
         : $(headers)
         ;
     $(p).mark-target-as-explicit install-proper ;
 
     # Install just library.
     install stage-proper
-        : libs/$(libraries)/build
+        : $(libraries)-for-install
         : <location>$(stage-locate)/lib
           <install-dependencies>on <install-type>LIB
           <install-no-version-symlinks>on