SCons

ああ、やっぱりお前か...

はじめに言っておきます。仕事で使いましたが、ハイパーな量のデータ(数万ファイル)に対して、自前で作ったツールで処理をする場合(C/C++コンパイラーの呼び出しなどのSConsの正常な利用法ではなく、自前のツールをSConsにプラグインを書く感じで依存関係を…

あれ?

今日になって、「make調べてみたけど、あれもダメ」という結論になったようで、結局 SCons に逆戻り。ただ、今日調べてみて Boost Build V2 に興味が出てきたので、家ではこっちをもっと見てみようかな?ができれば、それで十分なんだけど...。とりあえず、…

あらら、さようなら?

社内で、検討の結果 SCons は結局バイバイになった。やっぱり、不安定なのと、make のように依存関係を使ってビルドしてくれないためだ。バージョンアップを待つ。ということで、SCons をつかっていろいろツールを作ってきたんだけど、boost::build に切り替…

makeとの違いの訂正

SCons の Builder の引数に src_builder というものがあり、それを使うと、ある程度ソース側まで戻ってくれるようです。ただ、0.94, 0.95 ともに100%マニュアルどおりには動かず、裏技的なことをしないと使えないみたい。

makeとの違い

どちらも依存関係を張り、その間の処理を記述していくのですが、そこからが思想的に逆なようです。 make は最終出力を示し、それを依存関係を逆にたどりソースファイルまで巻き戻す。その際、ソースまでたどり着けなかったり、巡回したらエラー。 SCons はソ…

バージョンダウン

0.95 では動かない機能が 0.94 だとあっさり動くようだ。0.95 で困った人は、バージョンダウンをお薦めします。

doxygenとの連携

http://article.gmane.org/gmane.comp.programming.tools.scons.devel/116にあった、 # Build the doxygen documentation target = "generated/html/index.html" source = Split(''' doxygen.cfg ''') # Manually specify the doxygen dependencies. The rig…

Zip で zipファイルを作ろう

Zip というメソッドはディレクトリを渡すとそれをそのまま Zip 化してしまいます。 # dir1 以下を ???.zip に圧縮 Zip( '???.zip', 'dir1' ) 少し階層構造を変化させたい場合は、まず、イメージをどこかのフォルダに作るのが無難です。 import glob # まずは…

ドキュメントの見方と不具合

http://www.scons.org/doc.html からドキュメントが見れますが、 man page リファレンス。完全!? User's guide チュートリアル的。man page よりも情報が少ない。 みたいな感じになっています。また、0.95 現在、絶対パス指定が少なくとも Windows では挙…

SConsで、「できる!test全ビルド」

SConsを使って、testを全ビルドします。boost/testを使ったテストの場合は、以下のような感じ。BOOST_PATH は適当に書き換えてね。 ルート SConstruct ( 以下のファイル ) include ???.h ???.h ???.h test ???.cpp ???.cpp ???.cpp build 以上のようなディレ…

SConsの簡単な紹介

http://www.scons.org/のSConsがいいです。テストの自動ビルドや、ゲーム用データのビルドに運用を検討中です。SCons の特徴は... 更新日時,アクセス日時ではなく、ファイルの中身を見て作られる MD5 を利用した更新判定 難しい設定なしに、VC のコンパイラ…