Boostorg Build Versions Save

B2 makes it easy to build C++ projects, everywhere.

4.4.1

3 years ago

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

3 years ago

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

3 years ago

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

4 years ago

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 if bison 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

4 years ago

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 building b2 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 to jam_strings.h in b2 engine to avoid clash with POSIX strings.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

4 years ago

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.

4.0.0

4 years ago

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

2016.03

8 years ago

Core

  • CI setup for Boost.Build tests was added (Thomas Brown)
  • Fix several memory leaks (Steven Watanabe)

Platforms and Tools

  • Running msvc build of b2 from Cygwin shell was fixed (Steven Watanabe)
  • Bootstrapping inside MSYS shell was fixed (Vladimir Prus)
  • Support for OpenVMS (Artur Shepilko)
  • Support for FreeBSD 10 and later versions (Kohei Takahashi)
  • Bootstrapping on recent Pathscale compiler was fixed (Michał Górny)
  • New tool for bzip2 library (Sergey Popov) and fixes for building bzip2 as shared library (Steven Watanabe)
  • Support Intel compiler 16.0 (John Maddock)
  • Fix MSVC 7.1 setup (Steven Watanabe)
  • Qt support now includes QtCharts and Qt3D libraries (Jürgen Hunold)
  • Several improvements to documentation tools (Rene Rivera)
  • Robustify Python support (Michał Górny, Steven Watanabe)

Python port

  • Improve error reporting for bjam.call (Aaron Boman)

2014.10

9 years ago

First standalone release after a long break. Most recent changes are listed below.

Core

  • Multiple improvements in Python port, from Aaron Boman.
  • Clearer error reporting for target name clases and invalid metatarget references, from Vladimir Prus.

Visual Studio support

  • Initial support for Windows 8 phone and store applications, from Steve Gates.
  • Faster builds, via caching setup script invocations, from Juraj Ivančić.
  • Support for custom DLL manifests and dlls without import libraries, from Bernhard B.

Tools

  • Improved clang support, from Edward Diener.
  • Support for Intel 15, from John Maddock.