BabelBuild
Flexible, recursive build system levering execve memoisation
These days software does not come in the magnitude of thousands of lines, but rather millions and billions of lines. Looking software distributions such as NixOS, Fedora or Debian, special approaches have been developed for distributing software at large scale. These approaches make trade-offs such as lacking incremental builds required by developers of individual software components. BabelBuild is an experiment with a new build unit primitive that inherits ideas from and is a superset of Nix and Bazel, enforcing isolated builds with a well-described build environment and the software builds repeatable, but it brings new flexibility and can eventually allow an entire software system to be transparent down to the compilation unit while re-using the build graph descriptions of existing build systems.
This project was funded through the NGI0 Commons Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 101135429. Additional funding is made available by the Swiss State Secretariat for Education, Research and Innovation (SERI).