Now that the tests work in py2 or p3 we don't set py version in AP. This
allows for dealing with the AP images that don't have a way to set the
py version.
* New feature <relevant> which is automatically deduced in most cases.
* Features which are not relevant do not affect target paths and
do not prevent merging of virtual targets.
* generators.jam: generator.run always returns usage-requirements
to allow usage-requirements in non-top-level generators. This
is necessary because we're using usage-requirements to track
relevance from flags.
* New rule toolset.uses-features to specify features that the rule
checks manually, instead of using toolset.flags. In the future,
we should consider restricting the properties actually passed,
to detect errors.
* Adjust tests to handle the new paths (verified by inspection).
* Add temporary option --ignore-relevance to consider all features relevant
to aid migration.
* New rule property.evaluate-conditional-relevance which helps tracking
relevance in <conditional>.
* Widely scattered changes to use the new interfaces.
Various restructure of test framework handling of paths to avoid duplicate path editing which caused failed tests. Adjust many tests to deal with added subdirectories in build outputs now that toolset requirements are active.
Related changes:
* BoostBuild.Tester & TestCmd.TestCmd interfaces now accept external process parameters as a list of strings, thus avoiding problems with parsing arguments containing spaces.
* Avoided a potential process hang in case an external process being run prints out enough output to fill up the OS's pipe buffer (OS would pause the process until someone read the data from the pipe but the testing framework would not do this until the process in question had terminated).
[SVN r79448]
to 'make', sine it's no longer supported.
Allow to call 'flags' on local rule. Use flag settings on local rule to
implement the effect previously achieved with extra arguments.
[SVN r32723]
Consequently rolled back the workaround in make_rule.py
* Added new indirect rule invocation module for encoding the module to
invoke a rule from as well as the exact name to invoke it by, and
for subsequent invocation.
* Fixed module __test__ rules so they really do execute in a separate
module. Associated tweaks to __test__ in path.jam
[SVN r18427]
for the bug report.
* new/make.jam
(make-target-class.construct): Pass the result through
'virtual-target.register'.
* new/virtual-target.jam
(register): Ignore incidental properties when deciding if targets are
equivivalent.
* test/make_rule.py: Add new test.
[SVN r17701]
* new/build-system.jam: Try to load 'test-config.jam'. If successfull,
don't load site-config.jam/user-config.jam.
* test/BoostBuild.py: Add directory where test is invoked to BOOST_BUILD_PATH,
so that test-config.jam can be dropped to "test" dir.
[SVN r17558]
* new/make.jam
(make): Change name only of the first element in 'generating-rule'
* new/virtual-target.jam
(action.actualize): Pass only first element of action name to
toolset.set-target-variables.
* test/make_rule.py: New test.
[SVN r17543]