Ninja

Ninjaのテストにgtest 1.6.0以降を使う

NinjaはテストのためにGoogle C++ Testing Framework(以下gtest)が使われているが、当初はシステムにインストールされたgtestをテストプログラム(ninja_test)のビルドに利用されていた。しかしgtestの最新版である1.6.0以降はシステムへのインストールできな…

Ninjaをユニバーサルバイナリにする

ようはlipoの使い方を覚えたのでメモっておくわけです。 普段GCCに-arch i386 -arch x86_64を与えればユニバーサルバイナリを生成してくれますが、GCCの一部オプション使用時には複数の-archを与えるとエラーになります。Ninjaのビルドでは-MMDなどを付ける…

Ninjaで複数行のコマンドを実行するには

rule foo command = echo f; command = echo o; command = echo o description = FOO bulid foo: fooこれを複数行と言ってしまって良いかどうかかは迷うところですが… ようはruleのcommandは複数回書くとその内容が連結されてから実行されるようなので、うま…

Ninjaを試した

Ninja Chromium Notes: Ninja, a new build system Google Chromeの開発者が新たに作った、GNU makeなどと同じ類のビルドシステム。どんな感じなのだろうと興味は持っていたが、先日ドキュメントを読んだ時にすぐに試せなかった。今回、休日を利用してMac OS…