* 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/target.jam (main-target.generate): Give a more detailed error
message when no alternative is found. (basic-target.generate):
Don't exit with error when requirements can't be satisfied. Just
return an error string.
[SVN r14393]
* new/targets.jam (main-target.generate): Select the alternative
based on the list of non-free requirements.
* new/property.jam (remove-free): New rule, removes free property from
a property set.
[SVN r14391]
* test/TestCmd.py: Cause the names of preserved directories to be
printed.
* test/test_system.html: Document "PRESERVE*" environmental variables
and "pass_test"/"fail_test" methods.
[SVN r14389]
* new/property.jam (make): New rule, constructs property set from
what the user gives. Handles implicit features.
* new/project.jam, new/targets.jam: Use 'property.make'.
[SVN r14370]
* jam_src/Jamfile, jam_src/boost-jam.spec, jam_src/patchlevel.h:
Updated version number to 3.1.1.
* jam_src/jam.c: Made JAM_VERSION three-element string.
* bootstrap.jam: When JAM_VERSION is 3.1.1 or more, call UPDATE
explicitly on all non-option element in the command line.
[SVN r14363]
* 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/project.jam (lookup): Bugfixes. (find-target): Attempt to load
project specified by project id.
Project module rules:
project: Allow empty id.
use-project: New rule.
* new/targets.jam: (basic-target.generate-source): Correct a bug in
separating target id from extra properties.
[SVN r14341]
* 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/build-request.jam (expand-with-defaults): New rule
* new/build-system.jam, new/targets.jam: Use 'expand-with-defaults' instead
of 'expand'.
* new/builtin.jam: Define new feature 'threading'.
* test/project_test3.py: Test that feature defaults are applied.
[SVN r14307]
==30721== 174984 bytes in 14582 blocks are definitely lost in loss record 20 of 25
==30721== at 0x40043BDB: malloc (vg_clientfuncs.c:100)
==30721== by 0x804E02A: addsettings (rules.c:235)
==30721== by 0x804A2AF: collect_arguments (compile.c:652)
==30721== by 0x804A759: evaluate_rule (compile.c:864)
==30721== by 0x804A072: compile_rule (compile.c:563)
==30721== by 0x804DDBC: parse_evaluate (parse.c:138)
==30721== by 0x80497FD: compile_append (compile.c:124)
[SVN r14298]
* new/build-request.jam (from-command-line): New rule.
* new/build-system.jam: Get build request from the command line,
expand it and pass to 'generate' rules.
* new/targets.jam: Use targets's properties when computing path.
* test/project_test3.py: Test the above changes.
[SVN r14283]
* 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]