* new/builtin.jam: Make 'obj' main type.
* new/generators-test/*: Try compiling the same CPP file with
different defines and linking in the same exe.
[SVN r15649]
* jam_src/builtins.c: New builtin SEARCH_FOR_TARGET.
* jam_src/rules.c
(bind_explicitly_located_targets): New function.
(search_for_target): New function.
* jam_src/make.c (make): Call 'bind_explicitly_located_targets()'
immediately on entering.
* jam_src/search.c (call_bind_rule): No longer 'static'.
* new/builtin.jam (c-scanner.process): Real implementation.
* test/dependency_test.py: Really test for dependencies.
[SVN r15646]
* virtual-target.jam (virtual-target.actualize): Accept
'scanner' parameter and create different actual targets
for different values of that parameter.
(virtual-target.includes): Remove.
(binding): New rule
(remember-binding): New rule.
* type.jam (set-scanner): New rule. (get-scanner): New rule.
* scanner.jam: New file.
* class.jam (__init__): Define __name__ in class scopes.
* builtin.jam (c-scanner): New scanner class, associated with CPP
files.
[SVN r15644]
* virtual-target.jam (traverse): New rule, returns a list of
targets, given the graph root.
(subvariant-dg): New class, to keep all targets for a given
subvariant.
(virtual-target.dg): New rule to access subvariant-dg.
(virtual-target.path): New rule
* targets.jam (main-target.generate): Assign subvariant dg to all
created targets.
* builtin.jam (compile-action.adjust-properties): Use subvariant
dg to find all targets, their location, and add those location
to include path.
[SVN r15619]
For example, this would allow compilers to add generated headers into include
path.
* virtual-target.jam (action.adjust-properties): New rule.
(clone-action-template): Don't slice cloned object.
* generators.jam (generator.action-class): New rule, to allow
overriding action class on per-generator basis.
* builtin.jam (compile-action): New class.
(C-compiling-generator): New class.
* gcc.jam: Use C-compiling-generator for gcc. Honor includes.
[SVN r15618]
* sequence.jam (merge): Bugfix.
* regex.jam (transform): New rule.
* property.jam (select): New rule, selects properties, given
a list of features.
[SVN r15610]
- Got rid of vectors of vectors in generators code. That was not only slow, it
was also troublesome.
- Started work on transformation caching. Works but needs review/cleanup.
[SVN r15465]
Rewrote the handling of help arguments to be even easier to use.
Added descriptions for all the top level --help arguments.
Added descriptions of help options.
Added a few more control arguments in preparation for HTML type output.
[SVN r15342]
prevents complining the same source twice with the same properties.
Also allow generators to change source names using patterns.
* new/generators.jam (generator): Accept name patterns together with
target types.
(generator.generated-targets): Use name patterns. Transform generated
targets with 'virtual-targets.register', to eliminate duplicate
virtual targets.
[SVN r15302]
* new/sequence.jam (max-element): New rule.
(select-highest-ranked): New rule.
* new/numers.jam (__test__): Temporary disable all try/catch, since
errors.jam can't handle recursive try/catch yet, and loads
sequence, which in turns load numbers, in "catch" implementation.
[SVN r14922]
* 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: Use 'common' instead of 'utility'.
* test/project_test3.py: Test that 'clean' works.
* test/svn_tree.py: Sync with upstream revision 2944. Fix a bug
which caused empty directory to be treated as file.
[SVN r14886]
* boost_build_v2.html: Extend feature description. Change wordings in
some places.
* new/feature.jam: Remove comments that are now in boost_build_v2.html.
[SVN r14782]