* new/targets.jam
(generate): Use a special string to report failure, not just return
of empty list.
(basic-target.generate-sources): Accomodate the above change.
(basic-target.check-for-unused-sources): Allow empty list of targets.
* test/alternatives.py: New test.
[SVN r17906]
* new/property.jam
(split-conditional): New rule
(translate-paths): Use the above to handle conditional properties.
* test/path_features.py: New tests.
[SVN r17881]
unconditionally.
* new/builtin.jam
(linking-generator.run): New rule. Sets dependency on <library>
properties.
* new/generators.jam
(construct): Do not handle usage requirements. Do not handle
dependency features in any way.
* new/targets.jam
(main-target.generate-really): Don't create/set subvariant-dg.
(basic-target.generate): Collect usage requirements. Create/set
subvariant-dg.
* new/virtual-target.jam
(subvariant-dg): Take actual build properties together with
requested ones.
[SVN r17813]
property-set instances, because of different order.
* new/property-set.jam
(create): Sort the properties.
* new/feature.jam:
(minimize): Bugfix.
[SVN r17812]
* new/targets.jam
(main-target.apply-default-build): Call
'build-request.expand-no-defaults', not 'expand'. The motivation
is to have defaults added in one place: 'property-set.add-defaults'.
Also handle the case where default-build is empty.
(main-target.generate): Apply defaults here. The motivation is
that if we're using default build, default features should be
applied here as well, or else we'll get ambiguous alternatives.
(basic-target.generate): Do not add defaults.
[SVN r17755]
default value will always be present in build properties of all
main targets. The change moves adding default value into main
targets --- it was done at the top level.
* new/build-request.jam
(expand-no-defaults): No longer local.
* new/build-system.jam
Use 'build-request.expand-no-defaults', not 'expand'.
* new/feature.jam
(add-defaults): Tolerate conditional properties
(e.g <variant>debug:<define>DEBUG)
* new/property-set.jam
(property-set.add-defaults): New method.
* new/targets.jam
(basic-target.final-properties): Add defaults.
* test/default_features.py: New test.
[SVN r17753]
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/targets.jam
(basic-target.check-for-unused-sources): New rule.
(basic-target.generate): Call the above.
* new/virtual-target.jam
(traverse): New arguments 'include-roots' and 'include-sources'.
* test/unused.py: New test.
[SVN r17685]
* new/targets.jam
(basic-target.final-properties): New rule, extracted from 'generate'.
(basic-target.generate-sources): New rule, extracted from 'generate'.
(basic-target.requirements): Gone.
[SVN r17684]
* new/targets.jam
(main-target.default-build): New field.
(main-target.add-alternative): Don't allow default-build for
second and subsequence alternatives. Record default build
from the first one.
(main-target.generate): Expand build request.
(main-target.generate-really): New rule, extracted from 'generate'.
(basic-target.default-build): New rule.
(basic-target.generate): Don't expand default build.
* test/BoostBuild.py
Allow to suppress passing toolset when calling run_build_system.
Some Python 2.1 compatibility fixes.
* test/alternatives.py
More tests.
* test/default_build.py
More tests.
[SVN r17683]
* new/targets.jam
(main-target.select-alternatives): New rule.
(main-target.generate): Simplify, using the above.
* new/errors.jam
(error): Do EXIT if --no-error-backtrace is given.
* tests/alternatives.py: New test.
[SVN r17673]