From: Vladimir Prus (ghost_at_[hidden])
Date: 2006-09-18 05:02:55


Hi,
I've just committed the attached, that allows a project or a target to remove
an inherited requirement. The syntax is:

   project : requirements -<threading>multi ;

or

   exe hello : hello.cpp : -<threading>multi ;

This is something that 'completes' our requirements inheritance mechanism,
giving you a way out if you don't need it for some targets.

This is just code change, docs and tests will follow later. It's both on trunk
and branch.

John,
it means that you can put

   project : requirements -<threading>multi ;

in your Jamfile.v2 and you'll no longer get unexpected multithreading. If
there are further issues, please ask.

-- 
Vladimir Prus
http://vladimir_prus.blogspot.com
Boost.Build V2: http://boost.org/boost-build2
	* build/property-set.jam (refine-from-user-input): New,
	extracted from main-target-requirements, with extra
	code to handle "-<property>value" syntax.
	* build/targets.jam (main-target-requirements): Use
	the above.
	* build/project.jam (project-attributes.set): Likewise.