Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r64878 - trunk/tools/build/v2/build
From: ghost_at_[hidden]
Date: 2010-08-18 03:27:15


Author: vladimir_prus
Date: 2010-08-18 03:27:13 EDT (Wed, 18 Aug 2010)
New Revision: 64878
URL: http://svn.boost.org/trac/boost/changeset/64878

Log:
Unbreak processing of -<feature> requirements.

Text files modified:
   trunk/tools/build/v2/build/property_set.py | 28 +++++++++++++++-------------
   1 files changed, 15 insertions(+), 13 deletions(-)

Modified: trunk/tools/build/v2/build/property_set.py
==============================================================================
--- trunk/tools/build/v2/build/property_set.py (original)
+++ trunk/tools/build/v2/build/property_set.py 2010-08-18 03:27:13 EDT (Wed, 18 Aug 2010)
@@ -107,21 +107,21 @@
         else:
             add_requirements.append(r)
         
- if remove_requirements:
- # Need to create property set, so that path features
- # and indirect features are translated just like they
- # are in project requirements.
- ps = create_from_user_input(remove_requirements,
- jamfile_module, location)
-
- parent_requirements = create(difference(parent_requirements.all(),
- ps.all()))
- specification = add_requirements
+ if remove_requirements:
+ # Need to create property set, so that path features
+ # and indirect features are translated just like they
+ # are in project requirements.
+ ps = create_from_user_input(remove_requirements,
+ jamfile_module, location)
+
+ parent_requirements = create(difference(parent_requirements.all(),
+ ps.all()))
+ specification = add_requirements
 
- requirements = create_from_user_input(specification,
- jamfile_module, location)
+ requirements = create_from_user_input(specification,
+ jamfile_module, location)
         
- return parent_requirements.refine(requirements)
+ return parent_requirements.refine(requirements)
     
 class PropertySet:
     """ Class for storing a set of properties.
@@ -317,6 +317,8 @@
         return self.propagated_ps_
 
     def add_defaults (self):
+ # FIXME: this caching is invalidated when new features
+ # are declare inside non-root Jamfiles.
         if not self.defaults_:
             expanded = feature.add_defaults(self.all_)
             self.defaults_ = create(expanded)


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