Build Awesome
约 1 分钟阅读
标签:资源精选
- reproducible-builds.org
- batect/batectGitHubbatect/batect
- Apache-2.0, Kotlin
- Build And Testing Environments as Code Tool
- elfshaker/elfshakerGitHubelfshaker/elfshaker
- upx/upxGitHubupx/upx
- GPL-2.0, C,C++
- 压缩可执行文件
- rui314/moldGitHubrui314/mold
- GNU AGPL v3, C++
- 替代 GNU gold, LLVM lld
Build system
为什么需要 构建系统
构建之所以需要一个系统,是因为大项目通常包含上 百万 个 C/C++ 源文件,单纯的直接编译是不现实的。
- 假设平均处理每个源文件需要 0.01s,那么 1M 源文件则需要 3 小时
- Ninjia
- CMAKE
- Make
- Bazel
- Buck
- pantsbuild/pantsGitHubpantsbuild/pantspantsbuild/pants · Apache 2.0, Python+Rust · 基于 blaze 理念 - 因此与 bazel 也相似 · 参考 · pants-vs-bazel · pants 不需要 BUILD · Who uses Pants笔记:pants
- scalable build system for monorepos
- gn
- generates build files for Ninja
- Nix
- go-task/taskGitHubgo-task/taskgo-task/task · taskfile.dev · 特性 · 任务定义基于 Yaml · 支持 shell - mvdan/sh · 模板 · 变量 · https://taskfile.dev/reference/templating/#special-variables笔记:Task
关联信息
反向链接、本文链接的其他页面和外部资料。
参考资料
GitHub6 条
- batect/batectgithub.com/batect/batect
- elfshaker/elfshakergithub.com/elfshaker/elfshaker
- go-task/taskgithub.com/go-task/task
- pantsbuild/pantsgithub.com/pantsbuild/pants
- rui314/moldgithub.com/rui314/mold
- upx/upxgithub.com/upx/upx
其他外链2 条
- gn.googlesource.com/gngn.googlesource.com/gn
- reproducible-builds.orgreproducible-builds.org/