Boost logo

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