Un fichier de configuration du système de build Ninja, souvent nommé « build.ninja », est un script de compilation de bas niveau utilisé par le système de build Ninja. Ninja est un système de build open-source conçu pour la rapidité, se concentrant sur les builds incrémentaux. Contrairement aux systèmes de build de plus haut niveau comme Make ou CMake, les fichiers Ninja ne sont généralement pas écrits à la main. Ils sont plutôt générés par un « méta-système de build » tel que CMake, Meson ou GYP, qui traduit une description de projet plus abstraite en instructions de build hautement optimisées et parallélisables que Ninja peut exécuter. Ces fichiers contiennent un graphe orienté acyclique (DAG) des étapes de compilation, spécifiant les entrées, les sorties et les commandes pour chaque étape. L'objectif principal de Ninja est d'exécuter ces étapes de compilation aussi rapidement que possible, ce qui le rend particulièrement populaire pour les grands projets C++ où les temps de compilation peuvent constituer un goulot d'étranglement significatif. L'extension « .ninja » elle-même n'est pas strictement standardisée pour tous les fichiers, mais « build.ninja » est le nom canonique du script de build principal.