GN是一個生成Ninja構建檔案的元構建系統,以便可以用Ninja構建Chromium。
GN使用非常簡單的動態類型語言。類型是:布爾(true,false);64位有符號整數;字元串;列表(任何其他類型);範圍(Scopes)。Ninja是一個構建系統,與Make類似。作爲輸入,你要描述將源檔案處理爲目標檔案這一過程所需的命令。 Ninja使用這些命令保持目標處於最新狀態。與其它一些構建系統不同,Ninja的主要設計目標是速度。
Ninja獲得了相當的成功,逐漸取代了Chrome所使用的構建系統。Ninja公開後,一些人貢獻了代碼,使得流行的CMake構建系統能夠生成Ninja檔案。現在,Ninja也被用來開發基於CMake的系統,如LLVM和ReactOS。其它一些擁有定製構建系統的項目,如TextMate,直接將Ninja作爲其構建目標。