diff options
author | Steven Watanabe <steven@providere-consulting.com> | 2012-10-16 18:09:45 +0000 |
---|---|---|
committer | Steven Watanabe <steven@providere-consulting.com> | 2012-10-16 18:09:45 +0000 |
commit | ebdf2484da0dabcbd80e8bd43696bb0a13e4aa5e (patch) | |
tree | 811e67234714305f208588836ebc2d0929d0be83 /boostcpp.jam | |
parent | e46047975128568a2ce9e890d0a8dfbf1bb9f8cb (diff) | |
download | boost-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.jam | 42 |
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 |