March 30, 2026
Silent updates, loud opinions
ninja: a small build system with a focus on speed
Lightning-fast Ninja thrills devs — except Windows users stuck waiting
TLDR: Ninja is a fast, lightweight build tool, but Windows users are irked that the PyPI package lags behind and breaks builds despite a fix existing. The crowd is split between loving Ninja’s speed, craving old-school simplicity, and letting AI handle the whole mess—making this a debate about speed vs. sanity.
Ninja, the super-speedy tool that crunches code into apps, is winning hearts for its tiny, no-fuss setup and “blink and it’s built” vibe. It’s a single download that runs on Mac, Windows, and Linux, with options to build it yourself if you’re into that. But the community mood? Equal parts praise and pitchforks.
The big drama: folks on Windows are fuming that the PyPI package (a popular way to install tools for Python projects) is stuck at version 1.13.0, which one commenter says breaks Windows builds. A fix landed in 1.13.1 nearly a year ago, but it still hasn’t reached PyPI—forcing some projects to pin way back to 1.11. Cue the easy joke: a tool named “Ninja” moving too stealthily with updates.
Meanwhile, performance stans are planting flags. One user says meson+ninja “feels by far the fastest,” while another says they skipped the whole build-tool drama by having an AI assistant port their setup, calling it a “huge quality of life improvement.” There’s also a mini-skirmish over usability: a dev misses the old-school “--help” behavior from GNU configure, grumbling that modern tools don’t always do the obvious.
So yes, Ninja’s still the speed champ—but the crowd wants the Windows fix shipped yesterday, fewer surprises, and maybe more hand-holding. Fast is great; fast and updated is better.
Key Points
- •Ninja is a fast, minimal build system with binaries for Linux, Mac, and Windows available on GitHub.
- •Installation is optional; the ninja binary is sufficient, with optional Bash completion and Emacs/Vim modes via misc/ files.
- •Ninja can be built from source using Python (configure.py --bootstrap) or CMake, producing the ninja binary and build files.
- •Unit tests can be built and run using GoogleTest; with CMake, testing is controlled via the BUILD_TESTING option.
- •Documentation can be generated: the manual (HTML/PDF) requires asciidoc/xsltproc/dblatext, and Doxygen builds internal C++ docs.