9 points par xguru 2022-05-26 | 1 commentaires | Partager sur WhatsApp
  • 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