Search code examples
c++boost

Boost libraries - build only what I need


I downloaded the Boost libraries and now I want to build only a few of the libraries. What would be the right command for this? Apparently the build-type=complete option gives me too much. I am using Windows XP and want to use Bjam to compile Boost and MinGW to finally use it. At the moment I think I need the libraries Boost.filesystem, Boost.ProgramOptions and Boost.System.

Another question: Where do I put the header-only libraries?


Solution

  • In step 5.2.4 of Getting Started you can instruct b2 which libraries to build:

    ./b2 --with-program_options --with-filesystem --with-system
    

    Alternatively, use ./b2 --show-libraries to see a list of all libraries that are not header-only.

    Following is an excerpt from the page:

    In particular, to limit the amount of time spent building, you may be interested in:

    • reviewing the list of library names with --show-libraries
    • limiting which libraries get built with the --with-<library-name> or --without-<library-name> options
    • choosing a specific build variant by adding release or debug to the command line.

    Note: b2 command depends upon boost version so use following commands as per your boost version(Also, in this case use --with-libraries=<comma-seperated-library-names> version instead of --with-<library-name>):

    • ./configure for 1.38.0 and earlier
    • ./bootstrap.sh for 1.39.0 onwards till 1.46.0