summaryrefslogtreecommitdiff
path: root/boostcpp.jam
diff options
context:
space:
mode:
authorSteven Watanabe <steven@providere-consulting.com>2012-10-16 18:09:45 +0000
committerSteven Watanabe <steven@providere-consulting.com>2012-10-16 18:09:45 +0000
commitebdf2484da0dabcbd80e8bd43696bb0a13e4aa5e (patch)
tree811e67234714305f208588836ebc2d0929d0be83 /boostcpp.jam
parente46047975128568a2ce9e890d0a8dfbf1bb9f8cb (diff)
downloadboost-ebdf2484da0dabcbd80e8bd43696bb0a13e4aa5e.tar.gz
Make sure that b2 threading=single works by skipping Boost.Thread and all the libraries that depend on it. Fixes #7105.
[SVN r81000]
Diffstat (limited to 'boostcpp.jam')
-rw-r--r--boostcpp.jam42
1 files changed, 40 insertions, 2 deletions
diff --git a/boostcpp.jam b/boostcpp.jam
index 257e70d459..62f69bd825 100644
--- a/boostcpp.jam
+++ b/boostcpp.jam
@@ -209,8 +209,46 @@ rule make-unversioned-links ( project name ? : property-set : sources * )
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 @@ rule declare_install_and_stage_proper_targets ( libraries * : headers * )
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