~/talk

Behind the Scenes of a C++ Build System

Talkat CppCon 2019 · 2019-09-15..09-20· [devops-and-delivery, c-and-cpp]
links:none on file
slides:none on file

Meson is used to show concrete solutions: Ninja drives processes but Windows forces fragile quoting and use of response files; cross compilation and bootstrapping requires tools that run without Java or modern Go so Python ends up as a pragmatic implementation choice. Incremental linking uses the Chromium idea of extracting exported symbol lists so relinks of dozens of test executables often disappear, turning O(N) relinks into O(1) rebuilds by leveraging shared libraries. Containerized rootfs/flatpak isolation plus kernel namespaces avoids version conflicts across builds.

AI-written summary · about

  1. 0:00Introduction
  2. 1:14Visible problems and messengers
  3. 3:01Process invocation challenges
  4. 7:17Core vs app build systems
  5. 11:55Optimizing build space
  6. 14:30Designing a build system
  7. 17:39Dependency management approaches
  8. 25:06Why build systems are terrible
  9. 27:53Q&A session
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.