The Python port and support extensions in B2 engine were unmaintained.
This fully removes the bindings between Jam and Python. And removes the
incomplete build system port.
This removes the use of the boost-build rule to direct the loading of the
bootstrap.jam file. The file is now searched for directly based on the
b2 executable location and other criteria. This makes the installed
b2 the canonical way to use b2.
This adds default/fallback logic to determine the b2 exec absolute path
as possible. It uses the arg0 and current dir or path to construct the
liekliest path.
fixes#25
Features that are narked as 'free' and 'optional' will now be
ignored when the value specified on the command line is
empty. Hence once can specify `cxxflags=` on the command
line without errors. All current "flags" features are now optional.
fixes#5
Previously it was needed to include pch header in every source file, but Clang does it automatically making the usage non-uniform. It is also a very noisy process to add pch header to an existing project. Automatic on-demand header inclusion solves both issues.
* pch: msvc source automatic header folder inclusion
* pch test refactoring
* pch test msvc automatic pch source generation
* Include pch header automatically and on-demand
* no more need in gcc pch naming hack
Using pygments.rb fails on Ruby3 because of missing class create
methods. Which makes using the same script for ruby2 and ruby3
a problem. We aren't using pygments currently anyway, so
disable it for now.
The translate-path feature allows for custom path handling, with a
provided rule, on a per target basis. This can be used to support custom
path syntax.
* a feature to control install prefix for install targets
* usable default for install-prefix on Windows
* additional named installation prefixes based on Autotools
* allow users to add named installation directories
* fix named directories <location> handling when requesting a subproject build
* examples for named installation directories
* document named install directories-related functions, make get-package-name more conveninent to users
* feature to allow staging into a location different than active install-prefix
* support for getting relative paths with stage.get-dir