9 puntos por xguru 2022-05-26 | 1 comentarios | Compartir por WhatsApp
  • Uber usa "zig cc" (bazel-zig-cc) para compilar código C/C++
    → Por ahora, solo en el monorepo de Go. Hay planes de extenderlo también a otros lenguajes que usan toolchains de C/C++
    → Porque permite elegir la versión de glibc y hacer compilación cruzada para macOS
  • Sin embargo, no tiene planes de usar el lenguaje Zig en sí. Es decir, solo aprovecha el toolchain de C de Zig
  • Uber hace donaciones a la Fundación Zig (ZSF) y firmó un contrato de prioridad para corrección de bugs ($52800)
  • Fortalezas de zig cc
    • Un compilador C/C++ completamente autocontenido de solo 40 MB. Es apenas 1/10 del tamaño de un Clang estándar
    • Puede enlazar con la versión de glibc indicada mediante argumentos de línea de comandos
    • El host y el target están desacoplados. Sin importar el host, la configuración para linux-aarch64 y darwin-x86_64 es la misma
    • Enlazar con musl es simplemente como elegir otra versión de libc: -target x86_64-linux-musl