B2(1)

πŸ’– B2(1) β€” software build tool, bestie edition πŸ’–

okay so this is the manual page for B2(1), category User Commands, and it is literally the software build tool. The version vibe check at the top is B2 5.2.1 (OS=LINUX, jobs=4) β€” write that down, bestie 🫢

✨ NAME ✨

B2 β€” software build tool. that's the whole name section, short and iconic πŸ’…

🌸 DESCRIPTION 🌸

B2 5.2.1 (OS=LINUX, jobs=4)

Project-specific help:

Project has jamfile at Jamroot

Usage:

b2 [options] [properties] [install|stage]

Builds and installs Boost. periodt πŸ”₯

  • install β€” install headers and compiled library files to the configured locations (below). (the raw page literally has a ======= divider right here, so yes, I kept that detail, bestie 😭)
  • --prefix=<PREFIX> β€” install architecture independent files here. Default: C:\Boost on Windows. Default: /usr/local on Unix, Linux, etc.
  • --exec-prefix=<EPREFIX> β€” install architecture dependent files here. Default: <PREFIX>
  • --libdir=<LIBDIR> β€” install library files here. Default: <EPREFIX>/lib
  • --includedir=<HDRDIR> β€” install header files here. Default: <PREFIX>/include
  • --cmakedir=<CMAKEDIR> β€” install CMake configuration files here. Default: <LIBDIR>/cmake
  • --no-cmake-config β€” do not install CMake configuration files.
  • stage β€” build and install only compiled library files to the stage directory. (and the raw page literally has a ===== divider here too 🫠)
  • --stagedir=<STAGEDIR> β€” install library files here. Default: ./stage

πŸ¦‹ Other Options πŸ¦‹

  • --build-type=<type> β€” build the specified pre-defined set of variations of the libraries. Note, that which variants get built depends on what each library supports.
    • -- minimal -- β€” (default) builds a minimal set of variants. On Windows, these are static multithreaded libraries in debug and release modes, using shared runtime. On Linux, these are static and shared multithreaded libraries in release mode.
    • -- complete -- β€” build all possible variations.
  • --build-dir=DIR β€” build in this location instead of building within the distribution tree. Recommended! (the page literally says Recommended!, so yeah, take the hint πŸ‘‘)
  • --show-libraries β€” display the list of Boost libraries that require build and installation steps, and then exit.
  • --layout=<layout> β€” determine whether to choose library names and header locations such that multiple versions of Boost or multiple compilers can be used on the same system.
    • -- versioned -- β€” names of boost binaries include the Boost version number, name and version of the compiler and encoded build properties. Boost headers are installed in a subdirectory of <HDRDIR> whose name contains the Boost version number.
    • -- tagged -- β€” names of boost binaries include the encoded build properties such as variant and threading, but do not including compiler name and version, or Boost version. This option is useful if you build several variants of Boost, using the same compiler. (yes, β€œdo not including” is exactly what the page says β€” I’m not fixing the lore πŸ’€)
    • -- system -- β€” binaries names do not include the Boost version number or the name and version number of the compiler. Boost headers are installed directly into <HDRDIR>. This option is intended for system integrators building distribution packages.
    • the default value is 'versioned' on Windows, and 'system' on Unix.
  • --buildid=ID β€” add the specified ID to the name of built libraries. The default is to not add anything.
  • --python-buildid=ID β€” add the specified ID to the name of built libraries that depend on Python. The default is to not add anything. This ID is added in addition to --buildid.
  • --help β€” this message.
  • --with-<library> β€” build and install the specified <library>. If this option is used, only libraries specified using this option will be built.
  • --without-<library> β€” do not build, stage, or install the specified <library>. By default, all libraries are built.

🧚 Properties 🧚

  • toolset=toolset β€” indicate the toolset to build with.
  • variant=debug|release β€” select the build variant.
  • link=static|shared β€” whether to build static or shared libraries.
  • threading=single|multi β€” whether to build single or multithreaded binaries.
  • runtime-link=static|shared β€” whether to link to static or shared C and C++ runtime.

🌈 General command line usage 🌈

b2 [options] [properties] [targets]

Options, properties and targets can be specified in any order. slay, flexible queen behavior ✨

πŸ”₯ Important Options πŸ”₯

  • --clean β€” remove targets instead of building.
  • -a β€” rebuild everything.
  • -n β€” don't execute the commands, only print them.
  • -d+2 β€” show commands as they are executed.
  • -d0 β€” suppress all informational messages.
  • -q β€” stop at first error.
  • --reconfigure β€” rerun all configuration checks.
  • --durations[=N] β€” report top N targets by execution time.
  • --debug-configuration β€” diagnose configuration.
  • --debug-building β€” report which targets are built with what properties.
  • --debug-generator β€” diagnose generator search/execution.

πŸ’œ Further Help πŸ’œ

the following options can be used to obtain additional documentation.

  • --help-options β€” print more obscure command line options.
  • --help-internal β€” B2 implementation details.
  • --help-doc-options β€” implementation details doc formatting.

...found 1 target...


okay that’s the whole page, bestie 🫢 source/version vibes: B2 5.2.1 (OS=LINUX, jobs=4), dated September 2025, manual name B2(1). bye and happy building πŸ’œπŸŽ€

πŸ“¦ where this page comes from