- Uber utilise
zig cc (bazel-zig-cc) pour compiler du code C/C++
→ pour l’instant uniquement dans le monorepo Go. Il est prévu de l’étendre à d’autres langages qui utilisent des toolchains C/C++
→ car il permet de choisir la version de glibc et de faire de la cross-compilation vers macOS
- En revanche, il n’est pas prévu d’utiliser le langage Zig lui-même. Autrement dit, seul le toolchain C de Zig est exploité
- Uber a fait un don à la fondation Zig (ZSF) et a conclu un contrat de priorité de correction de bugs (52 800 $)
- Les points forts de
zig cc
- un compilateur C/C++ entièrement hermétique de seulement 40 Mo. C’est à peine un dixième de la taille de Clang standard
- possibilité de lier avec la version de glibc fournie en argument de ligne de commande
- l’hôte et la cible sont découplés. Quelle que soit la machine hôte, la configuration de
linux-aarch64 et darwin-x86_64 reste identique
- faire l’édition de liens avec musl revient simplement à choisir une autre version de libc :
-target x86_64-linux-musl
1 commentaires
zig cc: un puissant remplaçant direct de GCC/Clang