virtual-target.jam.
- Added the missing explicit imports, now that we don't dump
everything into the global module with qualification
- stopped using the feature-space hack for temporary testing states of
the feature module. Instead we move its global variable definitions
to a temporary module.
- the way feature.action was invoking the rule it was being passed was
evil. Now you pass (even local) rules without qualification and
they are invoked in the source module context.
- module __test__ rules are always executed in a separate module, so
that their import dependencies can be separated from those of the
module being tested.
- better reporting of circular module-loading dependencies
implemented.
- minor changes:
property-set.jam: moved .empty initialization to avert circular
load dependency .
symlink.jam: fixed global variable naming.
[SVN r18407]
* new/path.jam (make-UNIX, make-NT): Call 'path.join' on elements,
so that paths are normilazed.
(join): Allow one element to be passed.
* new/project-root.jam: Use 'path.root' when declaring path constants.
[SVN r16096]
* 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/os.path.jam (join-imp): Bugfixes. (all-parents): Simplified.
(glob-in-parents): New rule.
* new/project-root.jam (load): Use 'glob-in-parent' instread of
'find-to-root', so that "project-root.load ." always work.
* new/project.jam (find-jamfile): Make use of the 'glob-in-parents'
rule.
[SVN r14339]
* new/project-root.jam (load): Really produce an error message when
project root file is not found.
* test/project_test3.py: Test for the error reporting.
[SVN r14280]
* new/targets.jam: Considerably changed.
* new/project.jam: Projects now return project targets via 'target' rule.
Requirements are inherited. Renames 'subinclude(s)' to 'subproject(s)'.
(find-jamfile): Rewritten, which fixes some bugs.
* new/project-root/jam: (print): Sort projects first by they id, which
makes order more predictable.
* test/project-test1.py: Also run test from the 'project-test1' dir.
* test/project-test2.py: New test.
[SVN r13681]
* os.path.jam (basename, pwd, glob): New rules. Changed naming convention
for many other rules.
* project-root.jam: Use os.path everywhere.
* project.jam: Don't convert project paths to absolute paths. Use os.path.
* build-system.jam: Don't use absolute name when loading jamfile.
[SVN r13634]