* 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]
* new/targets.jam
(basic-target.generate-source): Separate virtual targets that come from
different sources.
(basic-target.check-for-unused-targets): Warn only if not virtual target
from a given source is comsumed.
[SVN r18403]
regardless of whether vcvars32.bat was called by user.
In addition, new command line option '--debug-configuration' is introduced.
The msvc toolset will tell what paths are searched and what version is
selected, if this option is passed.
[SVN r18402]
are very annoying --- e.g. you might decide there are several msvc
installation just because you have default location as long name, and there's
vcvars32.bat in PATH, and PATH element uses short name.
* jam_src/pathsys.h
(short_name_to_long_name): New function.
* jam_src/filent.c:
(file_dirscan): Call 'short_name_to_long_name' on argument.
* jam_src/pathunix.c:
(ShortPathToLongPath): Move here from pwd.c, and fix bugs:
'.' and '..' elements were completely broken.
(short_name_to_long_name): Implement here.
[SVN r18401]
* new/virtual-target.jam
(abstract-file-target.actualize-action): Don't set up clean action
here; the previous code worked by accident anyway, because 'name'
variable was not declared in any reasonable way.
(action.actualize): Set up clean action here, close to the place where
updating action is set up.
[SVN r18395]
* new/feature.jam
- the above change, plus changed the order of values for
'runtime-debugging' feature, to accomodate strange behaviour of
'feature.add-defaults'.
[SVN r18392]