ninja是一个小型构建系统,专注于速度,和常用的make类似,有一些软件就是基于ninja编译构建的,比如clickhouse数据库就需要依赖ninja,因为最近在研究clickhouse,需要依赖于gcc 7,gtest,ninja等一些组件,所以单独拿出来这些组件记录安装过程,这样会更清晰一些.
https://ninja-build.org/

ninja需要依赖于re2c,否则编译是会报错,re2c是一款语法分析器,官网地址是:http://re2c.org/
下载页面的安装说明都在:http://re2c.org/install/install.html,这里直接从源码安装最新版本

安装re2c:

git clone https://github.com/skvadrik/re2c
cd re2c
./autogen.sh 
./configure --prefix=/usr/local/re2c
make && make install
ln -sf /usr/local/re2c/bin/re2c /usr/local/bin/re2c

以上如果没有报错的话安装完毕了,因为re2c作为基础依赖,所以这里采用默认安装,上面的安装说明页面也给出了详细的安装细节.

然后可以安装ninja了,ninja官网地址:https://ninja-build.org/,github仓库地址:https://github.com/ninja-build/ninja,可以从github仓库克隆项目切换到release分支或者下载release包安装过程如下:

git clone https://github.com/ninja-build/ninja.git
cd ninja

这里我们采用python的安装方式,较为方便

./configure.py --bootstrap

等待完成即可

现在可以执行 ./configure.py --help 查看帮助,直接执行 ./configure.py --bootstrap 进行编译,编译完成之后,当前目录下会有ninja的可执行文件,执行 ./ninja -h 可以查看帮助

ninja比较精简,只需要一个可执行文件即可,现在可以做软链或者复制到/usr/bin下面就可以直接调用了,比如:

cp ninja /usr/bin/

然后可以直接使用 ninja 命令,这样就安装好了.

来源:https://www.jianshu.com/p/a9ee026d9c88

标签: ninja

添加新评论