A minimal subset of the Boost C++ library
C++ Other
Latest commit 8724d87 Mar 30, 2017 @petya2164 petya2164 Deploy new waf
Failed to load latest commit information.
boost Fix left shift of negative value in dynamic_bitset.hpp Jan 5, 2017
libs Fix warnings in boost-python Oct 28, 2016
test Add test_boost_dynamic_bitset.cpp Jan 4, 2017
.gitignore Update waf + buildbot.py Mar 29, 2017
NEWS.rst Preparing to create tag 3.0.0 Mar 29, 2017
README.rst Apply older patches Oct 28, 2016
buildbot.py Update waf + buildbot.py Mar 29, 2017
config.py Add resolve.json Mar 17, 2017
resolve.json Add resolve.json Mar 17, 2017
waf Deploy new waf Mar 30, 2017
wscript Preparing to create tag 3.0.0 Mar 29, 2017



This repo provides a Waf build script for a subset of the Boost C++ Libraries.

We use Boost in several of our libraries. As some of our target platforms do not have a package manager and since we depend on a quite recent version we provide it as a dependency.

We use Waf to cross-compile Boost for the different platforms we support. This repo includes the wscript files needed to build the Boost libraries.

This is in no way a complete build system for Boost, we would be happy to accept improvements if somebody has time.


If you have any questions or suggestions about this library, please contact us at our developer mailing list (hosted at Google Groups):


To get started, see the manual here: http://docs.steinwurf.com

Quick Start

If you already installed a C++11 compiler, git and python on your system, then you can clone this repository to a suitable folder:

git clone git@github.com:steinwurf/boost.git

Configure and build the project:

cd boost
python waf configure
python waf build

Run the unit tests:

python waf --run_tests

Upgrade with fabric

  1. Download the latest Boost release from http://www.boost.org/users/download/

    (Always choose the *.tar.bz2 archive that uses Unix line endings!)

  2. Extract the contents of the downloaded archive to some folder(but not into this repository!)

  3. Invoke the boost.upgrade fabric task to copy the required files from the new release to this project (the old files will be deleted first). For example:

    fab boost.upgrade:"C:\steinwurf\boost_1_62_0"
  4. Create a new branch, and try to compile the new release on the build system without any patches to see what errors or warnings are produced.

  5. Based on the results, select the patches that are relevant for this release and copy them to the root folder of this repository.

  6. Invoke the boost.apply_patches fabric task to apply the selected patches one-by-one (if a patch cannot be applied cleanly, then fix the conflicts manually):

    fab boost.apply_patches