* src/tools/python.jam
(compute-default-paths): When the python include folder without any
suffix does not exist, but one with a m-suffix does, use the latter
* The new scanner is currently disabled and only issues a warning
for tokens that would be lexed differently.
* Special case a few common uses of ':', to limit breakage to
a manageable level.
* Remove the horribly outdated Jambase code inherited from Perforce Jam
* Update all of Boost.Build to work in the presence of the new lexer.
* New feature <relevant> which is automatically deduced in most cases.
* Features which are not relevant do not affect target paths and
do not prevent merging of virtual targets.
* generators.jam: generator.run always returns usage-requirements
to allow usage-requirements in non-top-level generators. This
is necessary because we're using usage-requirements to track
relevance from flags.
* New rule toolset.uses-features to specify features that the rule
checks manually, instead of using toolset.flags. In the future,
we should consider restricting the properties actually passed,
to detect errors.
* Adjust tests to handle the new paths (verified by inspection).
* Add temporary option --ignore-relevance to consider all features relevant
to aid migration.
* New rule property.evaluate-conditional-relevance which helps tracking
relevance in <conditional>.
* Widely scattered changes to use the new interfaces.
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.
We ensure that we don't have tests with subdirectories in the name to
avoid a log processing defficiency (and not easily resolved) of not
supporting subdirs for individual tests.
This change adds a toolset requirement that sets the python version
feature of the first configured python for a given target OS (usually
the host OS). This allows to correctly configure different python
interpreters for different target OSes.
Fix the conditional around acquiring the data from Python interpreter to
be run if interpreter-cmd, includes and libraries are provided (but
version is not).
Passing -undefined dynamic_lookup to the linker (instead of -lpython or
-framework Python) permits undefined symbols in shared libraries on OS
X. This allows a module to be linked against one Python framework and
imported from another.