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