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: - Requires C++ 11 to build engine. - Simplified build scripts to make it easier to maintain. - Building with C++ optimizations gives an immediate performance improvement. *Other changes in this release:* - Add support for using prebuilt OpenSSL. -- *Damian Jarek* - Define the riscv architecture feature. -- *Andreas Schwab* - Add ARM64 as a valid architecture for MSVC. -- *Marc Sweetgall* - Set coverage flags, from coverage feature, for gcc and clang. -- *Damian Jarek* - Add s390x CPU and support in gcc/clang. -- *Neale Ferguson* - Support importing pkg-config packages. -- *Dmitry Arkhipov* - Support for leak sanitizer. -- *Damian Jarek* - Fix missing /manifest option in clang-win to fix admin elevation for exes - with "update" in the name. -- *Peter Dimov* - Add freertos to os feature. -- *tee3* - Default parallel jobs (-jX) to the available CPU threads. -- *Rene Rivera* - Simpler coverage feature. -- *Hans Dembinski* - Better stacks for sanitizers. -- *James E. King III* *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:* - Linux Clang 3.5, 3.6, 3.7, 3.8, 3.9, 4, 5, 6, 7, 8 - Linux GCC 4.7, 4.8, 4.9, 5, 6, 7, 8, 9 - macOS Xcode 8.3.3, 9.0, 9.0.1, 9.1, 9.2, 9.3, 9.3.1, 9.4, 9.4.1, 10.0, 10.1, 10.2, 10.2.1 - Windows MinGW 8.1.0 - Windows VS 2013, 2015, 2017, 2019 Documentation and more at https://boostorg.github.io/build/ -- -- Rene Rivera -- Grafik - Don't Assume Anything -- Robot Dreams - http://robot-dreams.net
On 24/06/2019 05:05, Rene Rivera wrote:
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: > * Requires C++ 11 to build engine.
I assume that this means that future versions of Boost will no longer be able to bootstrap on pre-C++11 compilers? (I don't personally have a problem with that, but it seems worth making special note of, both for users and library authors.)
On Sun, Jun 23, 2019 at 11:55 PM Gavin Lambert via Boost < boost@lists.boost.org> wrote:
On 24/06/2019 05:05, Rene Rivera wrote:
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: > * Requires C++ 11 to build engine.
I assume that this means that future versions of Boost will no longer be able to bootstrap on pre-C++11 compilers?
Yes that's what it means. Shouldn't be a problem for almost everyone though. As there are C++ 11 options on almost all platforms where one would run b2. (I don't personally have a problem with that, but it seems worth making
special note of, both for users and library authors.)
I guess I should have made a more prevalent note some place :-\ -- -- Rene Rivera -- Grafik - Don't Assume Anything -- Robot Dreams - http://robot-dreams.net
participants (2)
-
Gavin Lambert
-
Rene Rivera