Python + Boost Build V2

僕がほしいのって、test というフォルダにある .cpp は全部テストケースだから、適当にビルドして、テストの統計を自動で取ってほしい!とか、doc の中にある doxygen.conf ってやつはDoxygen設定ファイルだから、適当にビルドしてほしいとか、zip に固めるたびにバージョン番号を勝手に上げて、それが名前に付いた zip を作ってほしいとか、「ビルド+バッチ」つまり「いろんなものの自動化」なんです。で、ビルドツール & スクリプトを今までいろいろ渡り歩いてきました
が、

  • スクリプト
    • 長所 : 汎用的、複雑な作業が得意
    • 短所 : 汎用的過ぎて、ちょっと手間がかかる
  • バッチファイル
    • 長所 : 手軽
    • 短所 : バグってる、信頼できない
  • make
    • 長所 : 信頼性が高く、依存関係を元に正しい順序でビルドしてくれる
    • 短所 : 依存関係を張るのが大変

ま、こんなところだと思うわけですよ。んで、世の中のビルドや、スクリプトをこれらのカテゴリーから見ると

  • make
    • 純粋なビルドツール
  • SCons
  • Boost Build V2
    • make にかなり近い
  • ant
    • バッチ + make

といった感じ。こうしてみると僕の用途に合うのは、ant か SCons になりそうなんだけど、こいつらが最近候補から外れつつあるのは、

  • ant
    • Java には良いが、C++ では不便
    • xml の功罪両面を持つ
  • SCons
    • 不安定
    • 不透明

ということで、現在、boost + Python の組み合わせでおもろいことができないか模索中。
ちなみに、Ruby 信者だった僕が Ruby から離れたのも

  • 不安定

だったのが大きい。(いまでも、言語としての Ruby は愛してやまない)