MinGWでコンフィギュレータのビルドをする

最近DITA-OTネタが多かったので.
環境はWindowsXP+MinGW+boost1.33.1+cfg-1.5.0

TOPPERS/ASP-1.4.0になって,コンフィギュレータが分離されるようになったけど,MinGWではそのままではビルドができない.
パッチは提出したけど,Makefile.configが正しく作られないことと,cfg/MakefileでBoostのバージョンを気にせずにlibboost_filesystem-mgw-mt-s.libを含めているのが敗因のような気がします.

解決方法は

  • configureにMinGWのboostインクルードパスとライブラリパスを追加する.
  • cfg/Makefileでlibboost_filesystem-mgw-mt-s.libを削除する.*1

あと自分の環境ではいろんなバージョンのboostをインストールしようとして失敗したりなんとかインストールできたりしている.複数のバージョンのboostがインストールされている環境では,Makefile.configの内容が期待した出力が得られない可能性もあるのでビルドする前に確認しておくこと.

*1:ただしboostが1.34以降をインストールしている場合はlibboost_filesystem-mgw-mt-s.libが必要