軽量RubyをVisual C++でビルドしてみました
軽量RubyのファイルセットにCMakeの環境が準備されたようなので、Visual C++ 2008*1でのビルドにトライしてみました。
下準備しましょう
まず最初に、必要なツール類をネットから集めましょう。
- CMake ⇒ CMake - Cross Platform Make の"Windows (Win32 Installer)"
- Bison ⇒ Bison for Windows の"Complete package, except sources"
- stdint.h ⇒ http://code.google.com/p/msinttypes/downloads/list の"msinttypes-r26.zip"
CMakeとBisonはインストーラー付きなので、ダウンロードしたファイルを実行してPCにインストールします。stdint.hはダウンロードしたzipファイルを適当なフォルダ(下の例ではC:\home\shozo\CPP\msinttypes)に解凍して、そのフォルダをVisual C++のインクルード・サーチPATHに加えておきます。
CMakeでビルド環境を構築しよう
下準備ができたら早速CMakeを起動しましょう。下の様なダイアログが表示されるので、
- Where is the source code: に mrubyのファイルセットのルートフォルダ
- Where to build the binaries: に mruby/build フォルダ
ツールセットの選択の問合せには、"Visual Studio 9 2008"を選択、"Use default native compilers"をチェックして、[Finish]ボタンをプッシュします。
ツールセットの問合せに答えると、おもむろにConfigureが始まります。一回目のConfigureが終わると、下のように未完了の項目が赤色で表示されますが、迷わずもう一度[Configure]ボタンをプッシュしましょう。
二回目のConfigureでVisual C++向けの設定はOKとなります(下図)。あと一息です。
Visual C++のプロジェクトファイルを作りましょう。と言っても、[Generate]ボタンをプッシュするだけです。Generateが終わると、先ほどの"Where to build the binaries"に設定したフォルダに、mrubyのファイルセットのコピーと共にVisual C++のプロジェクトファイルが出来上がっています。
CMakeでの作業はこれで終わりです。
さぁ、ビルドにトライ
CMakeでビルド環境の構築が終わると、"mruby\build"フォルダに次の3つのプロジェクトが出来上がっています。
- ALL_BUILD - コンパイル/リンクを実行しmruby\toolsの下のmrbc、mruby、mirbの各コマンドをビルドします
- INSTALL - ALL_BUILDでビルドした各コマンドをmruby\binフォルダにインストールします
- PACKAGE - bin、include、libフォルダを圧縮し配布用パッケージを作ります
さぁ、ビルドにトライしましょう。ALL_BUILDプロジェクトをダブルクリックしてVisual Studioを起動します。"ソリューション エクスプローラー"のペインでALL_BUILDを選択してビルドします。いくつかワーニングが出ましたが、無事ビルドは成功しました。出来上がった実行形式(コマンド)は、mruby\toolsの下のそれぞれのフォルダのDebugフォルダの中にあります。INSTALLプロジェクトを実行すると、これらのコマンドがmruby\binにコピーされます。
おっと、Bisonは出番がなかったのでしょうか? Bisonは人知れずCMakeの作業の中で呼ばれていたようです。