Windows版(CMake版)moshのビルド方法
Windows版のビルドには7ステップ必要です。
- Visual Studio 2010 のインストール
- CMakeのインストール
- yasmのインストール (MPIRのビルドに使う)
- MPIRのビルド
- onigurumaの展開
- CMakeでのconfigure
- moshのビルドとインストール
CMake回りの手順はClangやLLVMのような他のCMakeベースのソフトウェアでも大体同じなので知っていると良いかもしれない。
(基本的にWindows版のmoshは"アプリケーションに組込めるscheme処理系"を指向しているので、あまりビルド手順は簡単でないです。。CygwinならLinux同様にビルド/使用できますが、Cygwin自体がメモリ空間を食うので大きなデータの処理には使えないでしょう。)
ビルドに必要な環境
Windows XP以降。Windows 2000はサポートしていません。
各種ソフトウェアのインストール
- Visual Studio 2010
無料のExpress版で十分。2008はコンパイラのバグを踏むことが有るのでオススメしません。2008を使う場合は最新のサービスパックをインストールする必要有り。
インストーラでインストール。
展開後、readme.txtの指示に従って、Visual Studioのディレクトリ中にコピー。
もちろんmoshのソースコード( http://code.google.com/p/mosh-scheme/downloads/list )も必要。
MPIRのビルド
MPIRはGMPのforkで、Visual Studioのサポートを含んでいるのでWindowsビルドでは標準にしています。以前のmoshはバイナリ配布を含んでいましたがライセンス上の問題で分離しています。
source tarballを展開し、build.vc10/mpir.slnを開き、コンフィギュレーションを"Release"にしてdll_mpir_p3をビルド。
正常にビルドされれば、build.vc10/dll/Win32/Release/mpir.dllができるはず。
(実際には、他のコンフィギュレーションでも正常に動作します。。)
onigurumaの展開
5.9.2をダウンロードし、展開。
onigurumaはmoshのビルド時に自動的にビルドされるので、すぐにビルドする必要は無し。
CMakeでのconfigure
一番難しいところ。。
CMakeを起動し、sourceの場所として展開したmoshのソースツリー、buildの場所には適当な、moshのソースツリーの外のディレクトリを指定します。
Configureボタンを押して、GeneratorとしてVisual Studio 2010を指定したら、エラーが出て止まるはずです。
その後、4つの変数を設定します :
- CMAKE_INSTALL_PREFIX: moshをインストールする場所。Program Filesの下にインストールするのはあまりオススメしません。。
- MOSH_GMP_DIR: 図のように、先にビルドしたMPIRの中にあるReleaseディレクトリを指定します。
- MOSH_ONIG_DIR: 図のように、先に展開したonigurumaのパスを設定します。
- MOSH_WITH_NMOSH: nmoshをビルドするならチェックを入れます。チェックを外した場合はpsyntax-moshになります。
設定後、configureを押して、Generateを押せば、buildのディレクトリにmosh.slnが生成されるので、それを開きます。
CMakeの落とし穴 :