This adds non-nested block comments wrapped with "#*" and "*#". This
should help in cleaning up embedded documentation and generally make
writing jam code easier.
This moves the built-in feature definitions into a subdirectory where each feature
(or cohesive set of features) are defined in their own file. Eventually
documentation can be added in the definitions files themselves and inported into the
full documentation. Not all features got move by this. There are some features
spread out through the toolset files. Those will also get moved as needed,
and as possible.
This was old code and hence was a default that doesn't make sense any
longer. The compiler defaults for some time have been considerably above
128. Which has actually meant that we've restricted this instead of
incrementing it.
This uses quickbook to add an appendix of examples directly from the
source tree. The inclusion of the examples is done with glob so that we
can just add examples by having a "readme.qbk" in the example we want to
document.
This replaces the last use of host-os to determine build. Which makes
gcc cross-compile clean. This now uses the target-os to do the
runtime-link static DLL check.
Rework the logic in initializing the link flags to use the action rule
override in the action class. This change simplifies the setting of the
flags based on the linker type. And works with doing cross-compiles
correctly.
This adds the requirements of a registered toolset to what is considered
the identifier of the toolset. Which allows one to register the same
toolset with different requirements to support toolsets that can be
configured through options to do different tasks. For example, that can
do multi-os compiles.
This moves the calling of the target action rule to an "execute" method
in the action class. This allows one to create a custom generator that
makes corresponding action classes. That in turn can override the
"execute" to do other work on the engine targets directly.
Just a quick hack to allow to implement LZMA
compressor and decompressor in iostreams (see also
trac ticket 7534).
Probably needs to be refined at some point by someone
who knows what they are doing, but it seems to work in principle.
Various restructure of test framework handling of paths to avoid duplicate path editing which caused failed tests. Adjust many tests to deal with added subdirectories in build outputs now that toolset requirements are active.