about things notes.zzstoatzz.io
README.md

build system #

notes on zig's build system, much of it from reading ghostty (terminal emulator) and bun (javascript runtime), both large production zig builds.

notes #

  • basics - module imports, installing artifacts, why a build with no -Doptimize is Debug
  • organization - structuring build.zig for large projects
  • dependencies - vendored vs system libs, lazy deps, pinning, one version per package per graph
  • codegen - generating zig source at build time
  • cross-compilation - targeting multiple platforms, CPU features, glibc and musl
  • distribution - cross-compile matrix in a release step, static-linking facts, strip for size, shipping tarballs

sources #