Parallel make: working with legacy code - Marc Espie
Channel: EuroBSDcon
Date: 2019-10-13

Abstract:

OpenBSD uses a completely revamped version of the classical BSD bmake. It is much faster, works better, and is now fully parallel, to the extent we now fix bugs in Makefiles instead of work-arounds in make.Now that the work is mostly finished, we have enough experience to talk about what went right (and what went wrong, mostly extra delays that I would know how to avoid now).I will talk a lot about the modifications that went on over the years, in a very challenging environment: staying compatible with the existing Makefiles, in a tool that was at best poorly documented and is full of surprises.This is a prime example of OpenBSD philosophy “evolution, not revolution”: the code in current make is almost entirely new, but it was replaced, one component at a time. Figuring out a battle plan to conquer the old rotting code was a very large part of that fight.

Speaker biography:

Senior developer in the OpenBSD project, teacher of development and security practices at a private graduate school.