Blog icon indicating copy to clipboard operation
Blog copied to clipboard

Ninja - WebRTC 构建(编译)工具

Open RWebRTC opened this issue 8 years ago • 0 comments

官网

https://ninja-build.org/

翻译

Ninja是一个专注速度的小型编译系统。它在两个方面不同于其他编译系统:它被设计成输入文件是由高级别构建系统生成(TODO 这句话不通);它被设计尽可能快。

为什么还有其他编译系统?

其他编译系统是高级别的编译系统,Ninja是汇编级别的。

Ninja的构建文件时人可读但是不方便手写的。(查看Ninja构建自己的构建文件),这些构建文件使得Ninja可以快速构建。

你应该使用Ninja吗?

Ninja的低级别的构建方法,使得它完美的构建大型系统;看这个已经存在的工具列表。Ninja用于构建Chrome,部分Android,LLVM,还可以被用作为许多其他的项目,与CMake一起使用。

手册:哲学背景,如何使用Ninja构建你的系统,平台支持,并详细介绍了语言的语义。

新的

最新的Ninja版本为v1.7.1,2016年4月28号。看这里

获取Ninja

你可以下载Ninja二进制文件,或者在系统包管理器中也可以找到。

或者,从源代码构建:

$ git clone git://github.com/ninja-build/ninja.git && cd ninja
$ git checkout release
$ cat README

资源

手册

邮件列表

GitHub仓库

其他网站找到的

compiling

对比别的构建系统,Ninja的特点是快和简洁,仅保留最少的特性来提高编译速度。Ninja最初的想法源于martine在开发Chromium项目时对编译速度的抱怨。

简单来说,Ninja是一个很快的make替代品。ninja对应make,build.ninja对应makefile,CMake、gyp对应autoconf、automake。

构建规则

build 目标文件 : 转换规则 依赖文件a 依赖文件b ...
        变量覆写(若有)

RWebRTC avatar Nov 24 '16 07:11 RWebRTC