- A Uber usa
zig cc (bazel-zig-cc) para compilar código C/C++
→ no momento, apenas no monorepo de Go. Há planos de expandir para outras linguagens que usam toolchains de C/C++
→ porque é possível escolher a versão do glibc e fazer cross-compilation para macOS
- No entanto, não há planos de usar a própria linguagem Zig. Ou seja, aproveitam apenas o toolchain C do Zig
- A Uber fez uma doação para a Zig Foundation (ZSF) e firmou um contrato de prioridade para correção de bugs (US$ 52.800)
- Pontos fortes do
zig cc
- Um compilador C/C++ totalmente hermético de apenas 40 MB. Isso é só 1/10 do tamanho do Clang padrão
- Permite fazer link com a versão do glibc fornecida nos argumentos de linha de comando
- Host e target são desacoplados. Independentemente do host, a configuração para
linux-aarch64 e darwin-x86_64 é a mesma
- Fazer link com musl é como simplesmente escolher outra versão de libc:
-target x86_64-linux-musl
1 comentários
zig cc: um poderoso substituto imediato para GCC/Clang