Ninja (ソフトウェア)

出典: フリー百科事典『ウィキペディア(Wikipedia)』
Ninja
開発元 Evan Martin
初版 2012年 (12年前) (2012)[1]
最新版 1.12.0[2] ウィキデータを編集 - 2024年4月11日 (23日前)
リポジトリ ウィキデータを編集
プログラミング
言語
C++Python
対応OS クロスプラットフォーム
種別 ソフトウェア開発ツール
ライセンス Apache License 2.0
公式サイト ninja-build.org ウィキデータを編集
テンプレートを表示

Ninja(ニンジャ)は、高速な動作を重視した小さなビルドシステムである。より高レベルなビルドシステムによってビルドファイルを生成するように設計されている点と、可能な限りビルドを高速に行うように設計されている点が他のビルドシステムと大きく異なる点である。

本質的に、NinjaはMakeの置き換えを意図している。Makeは増分ビルドまたはリビルドをした場合に低速である[3]。例えば、40,000のファイルを単一の実行ファイルにコンパイルするGoogle Chromeのような大規模プロジェクトでは、このことは開発者の作業をかなり遅らせてしまう。実際、Google ChromeはNinjaの主要なユーザーであり、Ninja自体の開発の動機となったプロジェクトでもある[4]。NinjaはAndroidの開発や[5]、多くのLLVM開発者にも使用されている[6]

Makeとは対照的に、Ninjaのビルドファイルは手書きされることは意図していないので、文字列操作などの機能は欠如している。代わりに、Ninjaのビルドファイルはより高レベルなビルドシステムによって生成する。CMakeMesonは、Ninjaのビルドファイルの生成に対応した著名なビルド管理ソフトウェアである[7]

脚注[編集]

  1. ^ Evan Martin (2012年5月8日). “release: ninja v120508”. 2019年7月10日閲覧。
  2. ^ "Release 1.12.0"; 閲覧日: 2024年4月23日; 出版日: 2024年4月11日.
  3. ^ David Röthlisberger (2016年11月16日). “The Ninja build tool”. LWN.net. 2019年7月10日閲覧。
  4. ^ Evan Martin. “Ninja”. 2019年7月10日閲覧。
  5. ^ Dave Smith (2015年10月28日). “Re: ANN: AOSP builds with ninja”. 2019年7月10日閲覧。
  6. ^ Getting Started with the LLVM System”. LLVM Project. 2019年7月10日閲覧。
  7. ^ Ninja”. Kitware, Inc. 2019年7月10日閲覧。

関連項目[編集]

外部リンク[編集]