Build Awesome
- https://reproducible-builds.org/
- batect/batect
- Apache-2.0, Kotlin
- Build And Testing Environments as Code Tool
- elfshaker/elfshaker
- upx/upx
- GPL-2.0, C,C++
- 压缩可执行文件
- rui314/mold
- GNU AGPL v3, C++
- 替代 GNU gold, LLVM lld
Build system
为什么需要 构建系统
构建之所以需要一个系统,是因为大项目通常包含上 百万 个 C/C++ 源文件,单纯的直接编译是不现实的。
- 假设平均处理每个源文件需要 0.01s,那么 1M 源文件则需要 3 小时
- Ninjia
- CMAKE
- Make
- Bazel
- Buck
- pantsbuild/pants
- scalable build system for monorepos
- gn
- generates build files for Ninja
- Nix
- go-task/task