B2 makes it easy to build C++ projects, everywhere.
Minor patch to correct missing fix for macOS default engine compiler.
Along with a variety of fixes this version introduces "dynamic" response file support for some toolsets. This means that under most circumtances, if supported by the toolset, response files are not generated. Instead the command is expanded to include the options directly.
response-file
feature to control the kind of response file usage in
toolset action.
-- René Ferdinand Rivera Morell
:O=value
variable modifier for @()
expansion.
-- René Ferdinand Rivera Morell
:<=value
and :>=value
variable modifiers for prefix and postfix
values after the complete expansion of variable references.
-- René Ferdinand Rivera Morell
build.sh
to fix many bugs and to avoid use of common env vars.
-- René Ferdinand Rivera Morell
There are many invidual fixes in this release. Many thanks for the contributions. Special thanks to Nikita for the many improvements to msvc and general plugging of support holes in all the compilers.
There are some notable new features from Dmitry, Edward, and Nkita:
force-include
feature to include headers before all sources.
-- Nikita Kniazev
translate-path
feature. 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.
-- René Ferdinand Rivera Morell
boost-build.jam
file for bootstrap. Making it easier for users to get started.
-- René Ferdinand Rivera Morell
:chars
documentation with :BS
example.
-- Nikita Kniazev
Jambase
to native C++. Hence removing one of the oldest parts of the original Jam bootstrap process.
-- René Ferdinand Rivera Morell
This release is predominantly minor fixes and cleanup of the engine. In particular the bootstrap/build process now clearly communicates C++11 requirement.
saxonhe_dir
action. -- Richard Hodges
bison
version. -- Rene Rivera
b2 b2
engine build to work even if bison
grammar generator
is not available. -- Rene Rivera
Many small bug fixes in this release. But there are some new features also.
There's now an lto
feature to specify the use of LTO, and what kind. The
existing stdlib
feature now has real values and corresponding options
for some toolsets. But most importantly there's new documentation for all
the features.
Thank to all the users that contributed to this release with these changes:
-std=gnu11
when building b2
on Cygwin. --
Andrey Semashev
strings.h
to jam_strings.h
in b2
engine to avoid clash with
POSIX strings.h
header. -- Andrey Semashev
cxxstd
feature for IBM compiler. -- Edward Diener
stdlib
feature, and corresponding documentation, for clang, gcc,
and sun toolsets. -- Dmitry Arkhipov
This patch release fixes a minor issue when trying to configure toolsets that override the toolset version with a non-version tag. Currently this is only known to be a problem if you: (a) configure a toolset version to something like “tot” (b) in Boost 1.72.0 when it creates cmake install artifacts. Fix for this was provided by Peter Dimov.
After even more years of development the landscape of build systems has changed considerably, and so has the landscape of compilers. This version marks the start of B2 transitioning to a C++ implementation. Initially this means that the engine will be compiled as C++ source but that source is still the base C implementation. Over time it will transform to a C++ code base in both the engine and build system. Some changes in this start:
Other changes in this release:
/manifest
option in clang-win to fix admin elevation for exes
with "update" in the name. -- Peter Dimov
freertos
to os
feature. -- tee3-jX
) to the available CPU threads. -- Rene Rivera
WARNING: The default number of parallel jobs has changed in this release from "1" to the number of cores. There are circumstances when that default can be larger than the allocated cpu resources, for instance in some virtualized container installs.
Continuously tested on:
b2
from Cygwin shell was fixed (Steven Watanabe)bjam.call
(Aaron Boman)First standalone release after a long break. Most recent changes are listed below.