* jam_src/modules.c: (import_module, imported_modules): New functions.
* jam_src/builtins.c (builtin_import_module, builtin_imported_modules):
Just call the above.
* new/class.jam: Add some extra tests.
[SVN r19424]
* jam_src/builtins.c: New builtins IMPORT_MODULE and IMPORTED_MODULES.
jam_src/rules.c: (bindrule): Refactor. (lookup_rule): New function.
* kernel/modules.jam: Make use of IMPORT_MODULE.
[SVN r19422]
- boostrap.jam; Modified the parsing of options to accept the syntax that the help system requires.
- doc.jam; Removed the option parsing code.
- doc.jam; Added some rules to set documentation options.
- help.jam; Move in code from doc.jam to parse options.
[SVN r18798]
* kernel/bootstrap.jam: Allow option handler modules to indicate that
regular build process should be skipped.
* options/help.jam: Return 'true', don't EXIT. Existing prevents header
scanning, which is the mechanism that makes 'doc' module work.
* new/doc.jam: Import header scanning rule into global module.
(split-symbol): Handle the case where the are two modules with the same
name (e.g. V1 stlport.jam and V2 stlport.jam).
[SVN r18663]
build-system.jam - moved from tools/build/new to tools/build
boost-build.jam - moved from tools/build/new to tools/build/kernel
bootstrap.jam
errors.jam
modules.jam
test/BoostBuild.py - adjusted for the above modification
test/boost-build.jam
project-root.jam - renamed to "project-roots.jam" to avoid confusion
and conflict with the user's project-root.jam file
project.jam - adjusted for the above renaming
test/project-test1/project-test1.jam
type.jam - broke a circular module dependency
[SVN r18575]
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]
* class.jam; Use new "::" syntax.
* doc.jam; Change comment parsing to keep leading whitespaces.
* doc.jam; Fix problem when a rule's argument has the same name as an inner rule.
* print.jam; Implement ReST syntax of "::" to indicate preformatted text. All forms of the ReST syntax are supported, and the additional form of a preformated paragraph with the first line as "::".
[SVN r16244]
* 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]
* new/class.jam: Import all rules from the 'class' module into a class
instance module, not into a class module.
* new/targets.jam: Remove explicit import from 'class' in ctor.
[SVN r13829]