role as well, so that small projects can use only one file.
* new/project.jam
(load): Load project root at the very start, in case it wants to
be Jamfile.
(act-as-jamfile): New rule.
(module-name): Allow to tweak the name of module associated with a location.
[SVN r18557]
* new/project.jam
(load): Prevent loading jamfile twice here, since we have all the
necessary data.
(load-jamfile): Don't try to check for duplicate loading (the check
was a bit clumsy, anywhay). Remove 'loaded-var' parameter.
[SVN r18556]
* new/project.jam
(inherit-attribute): New rule, extracted from 'initialize'.
(initialize): Allow 'jamfile' parameter to be empty, in which case
the project is 'standalone'.
[SVN r18544]
they are located. The problem with using the directory name is that we might
want toolset modules to act as project, and directory name is not unique then.
We might even want to declare two projects in the same module.
[SVN r18542]
* new/stage.jam
(stage-target-class.construct): Pass the result via
'virtual-target.register'. I wonder if virtual targets should
be create via 'virtual-target.create' which will invoke
'virtual-target.register' internally. Passing via 'register' was forgotten
in many places.
* test/stage.py: New test.
[SVN r18497]
* new/make.jam
(make): Pass 'default-build' in the right position.
* new/targets.jam
(basic-target): Use empty property-set if no default-build is passed.
(main-target): Use 'raw' to test property-set for emptines. The string
emptyness test that use to be there does not works for property-sets.
[SVN r18440]
default build was stored as plain list, and implied properties were not
converted. E.g. we had "debug release", not "<variant>debug <variant>release",
which was assumed.
* new/targets.jam
(main-target, basic-target): Store 'property-set' as default-build
attribute.
(main-target-default-build): Use 'property-set.create-with-validation'.
* new/property-set.jam
(create-with-validation): New rule.
* test/default_build.py: More tests.
[SVN r18436]
translation. Cleaned up indentation and idiomatic use of string.
* index.html - documented recent features including VARNAMES and
DELETE_MODULE
* borland.jam, msvc.jam - use the new :W modifier to simplify
code (but only somewhat)
* BoostBuild.py - ignore MSVC .ilk files under Cygwin and NT
[SVN r18434]
Consequently rolled back the workaround in make_rule.py
* Added new indirect rule invocation module for encoding the module to
invoke a rule from as well as the exact name to invoke it by, and
for subsequent invocation.
* Fixed module __test__ rules so they really do execute in a separate
module. Associated tweaks to __test__ in path.jam
[SVN r18427]
* new/virtual-target.jam
(null-action): Pass '.no-action' as action name, not 'no-action'. The
action name is really dummy, it's not used at all. However, when it does
not include dot, the smart 'action' ctor will assume it's local and prepend
module name to it. The calling module will be 'null-action' instance module,
always unique, and as result, no two targets with null actions will be
equal, as far as 'virtual-target.register' is concerned.
[SVN r18424]
of all actions that jam could possibly execute is not good-looking. E.g:
gcc.compile
gcc.link-dll
gcc.compile
gcc.link
...found 19 targets...
...updating 9 targets...
MkDir1 app/bin/gcc
MkDir1 app/bin/gcc/debug
MkDir1 app/bin/gcc/debug/main-target-app
compile app/bin/gcc/debug/main-target-app/app.o
[SVN r18418]
* handle the absence of QT more gracefully
* flush stdout after each test so that emacs shows progress
****** Commented out tests which appear to be failing outside my control ******
[SVN r18410]
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]
for getting the list of variable names and for clearing all rule and
variable storage.
* compile.c - better error reporting for unknown rules; now it is a
hard error.
* hash.c/h - added hash_free to allow removal of elements from a hash
* rule.c/h - implemented rule freeing; stopped exporting rules to the
global module by default.
* variable.c - reclaim variable storage when disposing of variable
hash.
* build.jam - make grammar building work under NT
[SVN r18405]