Releases: bfgroup/b2
4.6.1
- Fix building b2 engine with cygwin64.
-- René Ferdinand Rivera Morell - Fix version detection of clang toolset from compiler exec.
-- Nikita Kniazev
4.6.0
This release wraps up a few new features that make using some toolsets easier
(thanks to Nikita). It's now also possible to specify empty flags features on
the command line, like cxxfalgs=
, and have those be ignored. This helps to
make CI scripts shorter as they don't need to handle those cases specially.
And as usual there are many bug fixes and adjustments. Thanks to everyone who
contributed to this release.
- New: Allow clang toolset to be auto-configured to a specific version by using
toolset=clang-xx
on the command line.
-- Nikita Kniazev - New: Include pch header automatically and on-demand on gcc and msvc toolset to
mirror clang functionality.
-- Nikita Kniazev - New: 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.
-- René Ferdinand Rivera Morell - Preserve
bootstrap.sh
invoke arguments to forward to thebuild.sh
script.
-- tkoecker - Remove use of
local
inbuils.sh
to be compatible with some, not fully
capable, shells.
-- Tanzinul Islam - Workaround shell array ref error in
build.sh
on busybox shells.
-- tkoecker - Check for needing
-pthread
to build engine with gcc on some platforms.
-- tkoecker - Default to using clang on MacOS.
-- Stéphan Kochen - Add
/python//numpy
target to use as a dependency to communicate version
specific properties.
-- Peter Dimov - Add default value for cxx and cxxflags from env vars
CXX
andCXXFLAGS
when using the customcxx
toolset to build the engine.
-- Samuel Debionne and René Ferdinand Rivera Morell - Fix detection of
intel-linux
toolset installation when only the compiler
executable is in thePATH
.
-- René Ferdinand Rivera Morell - Fix
b2
executable path determination for platforms that don't have a
native method of getting the path to executables, like OpenBSD.
-- René Ferdinand Rivera Morell - Fix
property.find
error message.
-- Thomas Brown
4.5.0
Some minor fixes to improve some old issues.
- Fix Python build support to account for "m" suffix style installs.
-- Alexander Grund - Reenable ability of generators to return
property-set
as first item.
-- Andrew McCann - Fix examples to return 0 on success.
-- Mateusz Łoskot - Handle spaces in CXX path in
config_toolset.bat
. - Fix Conan b2 generator link, and pkg-config doc build error.
-- René Ferdinand Rivera Morell
4.4.2
This release is the first of the new home for B2 at Build Frameworks Group.
- Change references in documentation and sources of boost.org to point at equivalent bfgroup resources.
-- René Ferdinand Rivera Morell - New theme for B2 site and documentation.
-- René Ferdinand Rivera Morell
4.4.1
Minor patch to correct missing fix for macOS default engine compiler.
- Fix engine build defaulting to gcc instead of clang on macOX/Xcode.
-- René Ferdinand Rivera Morell
4.4.0
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.
- New: Add
response-file
feature to control the kind of response file usage in
toolset action.
-- René Ferdinand Rivera Morell - New: Add
:O=value
variable modifier for@()
expansion.
-- René Ferdinand Rivera Morell - New: Add
:<=value
and:>=value
variable modifiers for prefix and postfix
values after the complete expansion of variable references.
-- René Ferdinand Rivera Morell - Remove one at time linking limit. Once upon a time this was a performance
tweak as hardware and software was not up to doing multiple links at once.
Common setups are better equipped.
-- René Ferdinand Rivera Morell - Fix building engine with GCC on AIX.
-- René Ferdinand Rivera Morell - Support building engine as either 32 or 64 bit addressing model.
-- René Ferdinand Rivera Morell - Basic support for building b2 engine on GNU/Hurd.
-- Pino Toscano - Update "borland" toolset to bcc32c for building B2.
-- Tanzinul Islam - Ensure Embarcadero toolset name is only "embtc".
-- Tanzinul Islam - Adapt for Emscripten 2.0 change of default behaviour for archives.
-- Basil Fierz - Fix path to bootstrap for back compat.
-- René Ferdinand Rivera Morell - Add missing BOOST_ROOT to boot strap search.
-- René Ferdinand Rivera Morell - Fix for engine compile on FreeBSD.
-- René Ferdinand Rivera Morell - Default MSVC to a native platform, and remove ambiguous implicit
address-model ARM/ARM64 values.
-- Nikita Kniazev - Fix detection of MIPS32 for b2 engine build.
-- Ivan Melnikov - Enable building b2 engine with clang on Windows.
-- Gei0r - Fix building b2 engine with Intel Linux icpc.
-- Alain Miniussi - Reword
build.sh
to fix many bugs and to avoid use of common env vars.
-- René Ferdinand Rivera Morell
4.3.0
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:
- New: Add
force-include
feature to include headers before all sources.
-- Nikita Kniazev - New: Partial support for Embarcadero C++ compilers based on clang-5.
-- Edward Diener - New: Implement configurable installation prefixes that use features.
-- Dmitry Arkhipov - New: Add
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 - New: Add portable B2 system install option. This allows the b2 executable and the build system files to live side by side. And hence to be (re)located anywhere on disk. Soon to be used to supports Windows and other installers. This removes the need for the
boost-build.jam
file for bootstrap. Making it easier for users to get started.
-- René Ferdinand Rivera Morell - Unbreak building from VS Preview command prompt.
-- Marcel Raad - Fix compiler version check on macOS darwin toolset.
-- Bo Anderson - Remove pch target naming restriction on GCC.
-- Nikita Kniazev - Select appropriate QNX target platform.
-- Alexander Karzhenkov - Various space & performance improvements to the b2 engine build on Windows.
-- Nikita Kniazev - Fill extra and pedantic warning options for every compiler.
-- Nikita Kniazev - Include OS error reason for engine IO failures.
-- Nikita Kniazev - Use /Zc:inline and /Zc:throwingNew flags for better language conformance.
-- Nikita Kniazev - Add cxxstd value 20 for C++20.
-- Andrey Semashev - Parallel B2 engine compilation on MSVC.
-- Nikita Kniazev - Updated instruction-set feature with new x86 targets.
-- Andrey Semashev - Pass /nologo to rc on Windows compilers.
-- Nikita Kniazev - Fixed negation in conditional properties.
-- Nikita Kniazev - Remove leftover manifest generation early exiting.
-- Nikita Kniazev - Fix timestamp delta calculation.
-- Nikita Kniazev - Add missing assembler options to clang-win.jam, to enable Context to build.
-- Peter Dimov - Updated scarce
:chars
documentation with:BS
example.
-- Nikita Kniazev - Fix link statically against boost-python on linux.
-- Joris Carrier - Ongoing cleanup of engine build warnings.
-- René Ferdinand Rivera Morell - Allow self-testing of toolsets that use response files.
-- René Ferdinand Rivera Morell - Port
Jambase
to native C++. Hence removing one of the oldest parts of the original Jam bootstrap process.
-- René Ferdinand Rivera Morell
4.2.0
This release is predominantly minor fixes and cleanup of the engine. In
particular the bootstrap/build process now clearly communicates C++11
requirement.
- Add
saxonhe_dir
action. -- Richard Hodges - Add CI testing for historical Boost versions on Windows MSVC. -- Rene Rivera
- Check for C++11 support when building engine. Including an informative
error message as to that fact. -- Rene Rivera - Update Jam grammar parser with latest
bison
version. -- Rene Rivera - Allow root
b2 b2
engine build to work even ifbison
grammar generator
is not available. -- Rene Rivera - Warning free engine build on at least Windows, macOS, and Linux. -- Rene Rivera
- Sanitize Windows engine build to consistently use ASCII Win32 API. -- Mateusz Loskot
- Fix b2 engine not exiting, with error, early when it detects a Jam language
error. -- Mateusz Loskot - Print help for local modules, i.e. current dir. -- Thomas Brown
4.1.0
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:
- Support for VS2019 for intel-vin 19.0. -- Edward Diener
- Fix compiler warnings about
-std=gnu11
when buildingb2
on Cygwin. --
Andrey Semashev - Add example of creating multiple PCHs for individual headers.
-- Rene Rivera - Add QNX threading flags for GCC toolset. -- Aurelien Chartier
- Fix version option for IBM and Sun compilers when building b2 engine
-- Juan Alday - Rename
strings.h
tojam_strings.h
inb2
engine to avoid clash with
POSIXstrings.h
header. -- Andrey Semashev - Add options for
cxxstd
feature for IBM compiler. -- Edward Diener - Many fixes to intel-win toolset. -- Edwad Diener
- Add z15 instruction set for gcc based toolsets. -- Neale Ferguson
- Improve using MSVC from a Cygwin shell. -- Michael Haubenwallner
- Add LTO feature and corresponding support for gcc and clang toolsets.
-- Dmitry Arkhipov - Fix errors when a source doesn't have a type. -- Peter Dimov
- Add documentation for features. -- Dmitry Arkhipov
- Enhance
stdlib
feature, and corresponding documentation, for clang, gcc,
and sun toolsets. -- Dmitry Arkhipov - Install rule now makes explicit only the immediate targets it creates.
-- Dmitry Arkhipov - Add armasm (32 and 64) support for msvc toolset. -- Michał Janiszewski
- Fix errors with custom un-versioned gcc toolset specifications.
-- Peter Dimov - Allow arflags override in gcc toolset specifications. -- hyc
- Fix founds libs not making it to the clang-win link command line.
-- Peter Dimov - Updated intel-win toolset to support for Intel C++ 19.1.
-- Edward Diener - Detect difference between MIPS32 and MIPS64 for OS in b2 engine.
-- YunQiang Su
4.0.1
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.