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 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.
Fixes using the proper toolset module instead of always gcc for the
flags in the init-lib rule. Creates the target-os/linker-type mapping on
new toolset kinds instead of just gcc.
Make gcc almost fully work on OSX and adjust clang toolsets to deal with
gcc changes. Adjust test framework to deal with gcc running on OSX for
the first time.
This has to improvements to better support using configure build checks.
First subfeatures of the relevant features are automatically included as
being relevant. For example toolset subfeatures for controlling custom
options would now be considered. Second the relevant features are now
specified as components of a "configure" feature. Which allows adding to
the set of relevant features by adding to the composite set.
errors on the platforms where it is not the default (like on Linux). Without
this additional option, the compiler exits with an error because
-library=stlport4 only works with the Sun ABI (-compat=5), while the default
might be GNU ABI (-compat=g).
Do the same for the stdcxx library that is also available only in -compat=5
mode. This change is not strictly necessary as the stdcxx library is only
available on Solaris, where the default is -compat=5 anyway. It has been added
as a precaution.
This is especially useful when cross-compiling Boost.Context for
ARM32 as you need to pass the -mfpu=neon (or similar) to correctly
compile the assembly there