build2 | Documentation

General FAQ
General questions about the build2 project.
Installation FAQ
Common installation questions and problems.
Toolchain Introduction
Introduction based on the customary "Hello, World!" example.
Toolchain HOWTO
Practical advice on how to achieve common tasks with build2.
Packaging Guide
Comprehensive, step-by-step guide for packaging third-party projects for build2.
Build System Manual
Build system documentation (work-in-progress).
Package Manager Manual
Package dependency manager documentation (work-in-progress).
Testscript Language Manual
Description of the Testscript test-running language.
The build2 Autoconf Module
GNU Autoconf emulation build2 module documentation.
The build2 Kconfig Module
Linux kernel configuration system (Kconfig) build2 module documentation.
Repository Interface Manual [DRAFT]
Package repository web interface documentation (work-in-progress).
Toolchain Installation and Upgrade
Manual installation and upgrade instructions for all platforms/compilers.
b(1)
Build system driver man pages. Jump straight to options.
bpkg(1)
Package dependency manager man pages. Jump straight to commands.
bdep(1)
Project dependency manager man pages. Jump straight to commands.
Project Roadmap
What's planned and what we are currently working on.
Project Development Documentation
Development-related documentation table of contents.

Release Notes

0.17.0    0.16.0    0.15.0

0.14.0    0.13.0    0.12.0    0.11.0

0.10.0    0.9.0     0.8.0     0.7.0

0.6.0     0.5.0     0.4.0     0.3.0

Talks & Presentations

Why is C++ so Slow?
Lightning talk from CppCon 2019 on getting from nothing to a hackable C++ project.
Practical C++ Modules
Presentation from CppCon 2019 on practical usage of C++20 modules (slides).
C++ Dependency Management: from Package Consumption to Project Development
Presentation from CppCon 2018 on the Cargo-like workflow for C++ (slides).
What to Expect from a Next-Generation C++ Build System
Presentation from CppCon 2018 on the future of C++ Build Systems (slides).
Building C++ Modules
Presentation from CppCon 2017 on C++ Modules (slides).
C++ Modules and Packages: Making Dreams Come True
Lightning talk from CppCon 2017 on what using modules and packages could be like.
Using build2, C++ Build Toolchain
Presentation from CppCon 2016 on using the build2 package manager and build system (slides, terminal).
Where is Build System Innovation?
Lightning talk from CppCon 2016 on the lack of C++ build system innovation.
The Design of a New C++ Build Toolchain
Presentation from C++Now 2016 on the design of the build2 toolchain (slides, terminal).
New Build System for New C++
Presentation from C++Now 2015 on the build2 build system (slides).
C++ Package Manager
Lightning talk from CppCon 2014 on why we need a package manager in C++.

Other Resources

Using Symlinks in build2 Projects
Notes on using symbolic links in build2-based projects.
Common C++ Modules TS Misconceptions
Examination of the more common C++ Modules TS misconceptions.
Separate Preprocess and Compile Performance
Performance numbers for the separate C/C++ preprocess and compile mode.
And This is Why build2 Uses SHA256
Note on recent SHA1 collision and how it affects build2.
Notes on Visual Studio 15
Notes on the Visual Studio 15 (2017) C/C++ toolchain.