ビルド方法を簡素化する
ひと通り対応した。
確認済環境は Visual Studio 2008 Professional + Windows SDK v6.1
1. yamy と boost_1_38_0 のソースを入手し、以下の配置にて展開する
./ | +---boost_1_38_0/ ... http://www.boost.org/ から入手したアーカイブを展開する | +---yamy/ ... "git clone git://git.sourceforge.jp/gitroot/yamy/yamy.git"等により展開する | +---proj/ ... +---tools/ ...
2. yamy/proj/yamy.sln を Visual Studio で開き、ソリューションをビルドする
3. yamy/{Debug,Release}/ 以下にバイナリと zip パッケージが生成される
nmake ベースだと x86 と x64 を一括してビルドするのは手間がかかりそうなのと、デバッガの便宜のため VisualStudio のプロジェクトファイルに移行することにした。
x86/x64 を混在してビルドしないといけないが、バッチビルドを毎度指定するのは面倒なので、プラットフォーム別にプロジェクトを分けることにする。その結果として同じ設定が複数の場所に散在しがちなので、共通化できる部分は *.vspros に分離してなるべく共有した。
regex は nmake をキックするプロジェクトを作る。boost のツリーは x86/x64 で共有し、ビルドしたライブラリを proj/ext_lib{32,64}以下にコピーするようにした。バッチファイルをプリプロセッサで生成することにより、VCのバージョンによって使うmakefileを切り替えられるようにした(が、プロジェクトファイルがVS2008用なのであまり意味はない)。
makefunc の JScirpt 版 makefunc.js を作り、perl がなくてもビルドできるようにした。
Shell.Application の zip 機能を叩くための makedistrib.js を作り、zip コマンドがなくてもパッケージを作れるようにした。
x64対応に伴い、nmakeを2度走らせたり、boostのツリーを2つ用意する必要があるなど、ビルド方法が複雑化したのを解消する。