Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r49127 - trunk/tools/build/v2/build
From: ghost_at_[hidden]
Date: 2008-10-03 04:40:17


Author: vladimir_prus
Date: 2008-10-03 04:40:17 EDT (Fri, 03 Oct 2008)
New Revision: 49127
URL: http://svn.boost.org/trac/boost/changeset/49127

Log:
If a free feature is found on command line, don't specially interpreter
commas and slashes in the reminder of the token. This makes
       include=/home/user/whatever
work.

Text files modified:
   trunk/tools/build/v2/build/build-request.jam | 26 ++++++++++++++++++++++----
   1 files changed, 22 insertions(+), 4 deletions(-)

Modified: trunk/tools/build/v2/build/build-request.jam
==============================================================================
--- trunk/tools/build/v2/build/build-request.jam (original)
+++ trunk/tools/build/v2/build/build-request.jam 2008-10-03 04:40:17 EDT (Fri, 03 Oct 2008)
@@ -176,21 +176,37 @@
 {
     local result ;
     local parts = [ regex.split $(e) "/" ] ;
- for local p in $(parts)
+ while $(parts)
     {
+ local p = $(parts[1]) ;
         local m = [ MATCH "([^=]*)=(.*)" : $(p) ] ;
         local lresult ;
+ local feature ;
+ local values ;
         if $(m)
         {
- local feature = $(m[1]) ;
- local values = [ regex.split $(m[2]) "," ] ;
+ feature = $(m[1]) ;
+ values = [ regex.split $(m[2]) "," ] ;
             lresult = <$(feature)>$(values) ;
         }
         else
         {
             lresult = [ regex.split $(p) "," ] ;
         }
-
+
+ if $(feature) && free in [ feature.attributes $(feature) ]
+ {
+ # If we have free feature, then the value is everything
+ # until the end of the command line token. Slashes in
+ # the following string are not taked to mean separation
+ # of properties. Commas are also not interpreted specially.
+ values = $(values:J=,) ;
+ values = $(values) $(parts[2-]) ;
+ values = $(values:J=/) ;
+ lresult = <$(feature)>$(values) ;
+ parts = ;
+ }
+
         if ! [ MATCH (.*-.*) : $(p) ]
         {
             # property.validate cannot handle subfeatures, so we avoid the check
@@ -209,6 +225,8 @@
         {
             result = $(result)/$(lresult) ;
         }
+
+ parts = $(parts[2-]) ;
     }
 
     return $(result) ;


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