|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r83623 - trunk/tools/build/v2
From: steven_at_[hidden]
Date: 2013-03-28 16:57:27
Author: steven_watanabe
Date: 2013-03-28 16:57:26 EDT (Thu, 28 Mar 2013)
New Revision: 83623
URL: http://svn.boost.org/trac/boost/changeset/83623
Log:
Handle known subfeatures in the toolset build request, so we can handle toolset=clang-linux-3.2 for example.
Text files modified:
trunk/tools/build/v2/build-system.jam | 40 +++++++++++-----------------------------
1 files changed, 11 insertions(+), 29 deletions(-)
Modified: trunk/tools/build/v2/build-system.jam
==============================================================================
--- trunk/tools/build/v2/build-system.jam (original)
+++ trunk/tools/build/v2/build-system.jam 2013-03-28 16:57:26 EDT (Thu, 28 Mar 2013)
@@ -19,6 +19,7 @@
import os ;
import path ;
import project ;
+import property ;
import property-set ;
import regex ;
import sequence ;
@@ -428,29 +429,17 @@
for local t in $(option-toolsets) $(feature-toolsets)
{
# Parse toolset-version/properties.
- local (t-v,t,v) = [ MATCH (([^-/]+)-?([^/]+)?)/?.* : $(t) ] ;
- local toolset-version = $((t-v,t,v)[1]) ;
- local toolset = $((t-v,t,v)[2]) ;
- local version = $((t-v,t,v)[3]) ;
-
- if $(.debug-config)
- {
- ECHO notice: [cmdline-cfg] Detected command-line request for
- $(toolset-version): "toolset=" $(toolset) "version="
- $(version) ;
- }
-
- # If the toolset is not known, configure it now.
+ local toolset = [ MATCH ([^/]+)/?.* : $(t) ] ;
+ local properties = [ feature.expand-subfeatures <toolset>$(toolset) : true ] ;
+ local toolset-property = [ property.select <toolset> : $(properties) ] ;
local known ;
- if $(toolset) in [ feature.values <toolset> ]
+ if $(toolset-property:G=) in [ feature.values <toolset> ]
{
known = true ;
}
- if $(known) && $(version) && ! [ feature.is-subvalue toolset
- : $(toolset) : version : $(version) ]
- {
- known = ;
- }
+
+ # If the toolset is not known, configure it now.
+
# TODO: we should do 'using $(toolset)' in case no version has been
# specified and there are no versions defined for the given toolset to
# allow the toolset to configure its default version. For this we need
@@ -464,18 +453,11 @@
{
if $(.debug-config)
{
- ECHO "notice: [cmdline-cfg] toolset $(toolset-version) not"
+ ECHO "notice: [cmdline-cfg] toolset $(toolset) not"
"previously configured; attempting to auto-configure now" ;
}
- toolset.using $(toolset) : $(version) ;
- }
- else
- {
- if $(.debug-config)
- {
- ECHO notice: [cmdline-cfg] toolset $(toolset-version) already
- configured ;
- }
+ local t,v = [ MATCH ([^-]+)-?(.+)? : $(toolset) ] ;
+ toolset.using $(t,v[1]) : $(t,v[2]) ;
}
# Make sure we get an appropriate property into the build request in
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