* new/builtin.jam: Made 'toolset' and 'variant'
features symmentic. Document and fix the 'variant' rule.
* new/virtual-target.jam: Refactoring attempts. Split
virtual-target into virtual-target and derived from it
file-target. Eliminate some duplication in setting target
locations.
[SVN r16437]
* new/targets.jam
(abstract-target.name): New method.
(abstract-target.project): New method.
(main-target-alternative): Simplify. Only register
main target alternative. Don't to fancy processing
of arguments.
(main-target-requirements): New rule.
(main-target-use-requirements): New rule.
(main-target-default-build): New rule.
[SVN r16249]
* new/virtual-target.jam (virtual-target): Eliminate 'subvariant'
attribute. Use properties of action to for the same
purpose.
* new/testing.jam: Induced changes.
* new/make.jam: Induced changes.
* new/generators.jam: Induced changes.
[SVN r16128]
* new/virtual-target.jam
(virtual-target.use-requirements): New rule.
(virtual-target.set-use-requirements): New rule.
* new/generators.jam (construct): Use 'use-requirements' of sources.
* new/targets.jam (basic-target.generate): Store use requirements for
generated targets.
(main-target-alternative): Process use requirements.
* new/project.jam: Support 'use-requirements' project attribute.
[SVN r15821]
* new/virtual-target.jam (clone-template): Improve interface and logic.
* new/make.jam (make-target-class.construct): Set type and suffix on
generated targets.
* new/generators.jam (construct): Make sure all targets have known
types.
[SVN r15766]
* new/targets.jam (make-target-alternative): New rule, which handles
applying project requirements and default build, when needed.
* new/make.jam (make): Use the above rule.
[SVN r14894]
* new/targets.jam (main-target.generate) Add extra path component to
virtual target which free properties are not equal to project's.
(basic-target.generate): Pass refined properties to 'construct'.
(virtual-target.extra-path): New rule.
(virtual-target.actualize): Make use of extra path.
* new/property.jam (take-free): New rule.
[SVN r14396]
* new/project.jam (project-attributes): New class to keep all the
project related data. (attritutes, attribute): New rules to access
the project attributes. (target): New rule to access the project
target for a jamfile module.
(initialize): Store attribute in project-attributes instance.
(project): Moved to jamfile module.
(assign-option): Moved with modifications to project-attributes.get.
* new/targets.jam, new/project-root.jam, new/make.jam,
new/build-system.jam: Induced changes.
[SVN r14362]
* new/targets.jam: Check for duplicate 'basic-target::generate()' calls.
Use better logic to tell is source is another main target or file.
(project-target::has-main-target): New rule.
* new/project.jam (lookup): Fixes. (find-target): Implemented.
* new/make.jam: New file, defines the 'make' rule and associated target
class.
* new/build-system.jam: Import 'make'. Generate virtual targets and
actualize them.
* new/utility.jam: Added "MkDir" rule and actions.
* test/project_test3.py: New test.
[SVN r14249]