軽量RubyをVisual C++でビルドしてみました

軽量RubyのファイルセットにCMakeの環境が準備されたようなので、Visual C++ 2008*1でのビルドにトライしてみました。

下準備しましょう

まず最初に、必要なツール類をネットから集めましょう。

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 フォルダ

を設定して、[Configure]ボタンをプッシュします。

ツールセットの選択の問合せには、"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の作業の中で呼ばれていたようです。

*1:たぶんVisual C++ 2010でも同じ手順でOKかと。