Skip to content

5.0.0

Compare
Choose a tag to compare
@grafikrobot grafikrobot released this 23 Dec 19:51
· 130 commits to release since this release

This is a new era in B2. The drive of this new major version is to move the core build system from being implemented in Jam to C++. This initial release is only a start in this move by having some minimal aspects implemented in C++ using a new Jam/C++native binding system. Even though this is a major release, the goal is to still have backward compatibility for existing project build files. But that backward compatibility is not guaranteed for other Jam files.

  • New: Support for Jam native variant values of string (original Jam value type), number (floating point numbers), and object (instances of classes).
    -- René Ferdinand Rivera Morell
  • New: Port modules class, errors, modules, regex, set, string, and sysinfo to C++.
    -- René Ferdinand Rivera Morell
  • New: Port bootstrap.jam to C++ and instead use build-system.jam as key file to find build files.
    -- René Ferdinand Rivera Morell
  • New: Add require-b2 builtin rule to verify the B2 version a particular Jam file needs.
    -- René Ferdinand Rivera Morell
  • New: Add regex.grep builtin that does parallel (where available) file content search with regex matching.
    -- René Ferdinand Rivera Morell
  • New: Make parts of internals thread safe to support parallel built-ins. Currently includes Jam values, hash tables, and filesystem.
    -- René Ferdinand Rivera Morell
  • New: Add import-search project rule to declare additional search paths for import that refer to searched project locations, or other directories.
    -- René Ferdinand Rivera Morell
  • Fix consistent use of OPT_SEMAPHORE and documentation of JAM_SEMAPHORE.
    -- Thomas Brown
  • Fix archive actions failing for mingw.
    -- René Ferdinand Rivera Morell

IMPORTANT: Building B2 with VisualStudio 2013, i.e. MSVC 12, is no longer supported or tested. The effort to engineer workarounds for the missing C++11 features became too much. And was taking away from other improvements.