2013 年 10 月の履歴(もしくは日誌)


2013 年 10 月

10 月 23 日

Mac で Windows 用に mruby をビルドしてみた.

最近,mruby を触っています.Rails を少しやった事があるくらいで Ruby はあまり知らないのですが,ちょっと mruby でやってみたい事があるのです.

で,OS X で作業をするのは良いのですが,最終的には Windows でも動かないといけないということで Windows でも mruby を試してみたい.となると,やっぱり自分で Windows 様に mruby をビルドしないとならない.

でも Windows でって面倒だなぁ.調べてみるとあっさりと MinGW と msys を入れて make するとか書いてあるけど,MinGW の環境構築ってのが面倒.ビルドに Ruby が必要って話だから Winodws に Ruby 入れるの? rbenv はどうするの?

って感じでさっぱり.

動作確認だけ Windows でできればいいんだから,ビルド環境は Mac 側に構築して Windows 版をクロスコンパイルすれば良いかも!

で,やっみました.

Mac で Windows 用にビルドできるクロスコンパイラ
compiling_for_win32 [Cross GCC on Mac OS X]
http://crossgcc.rts-software.org/doku.php?id=compiling_for_win32
mruby はクロスコンパイルが簡単にできるよっていう情報
Raspberry Pi + FreeBSD で mrubyをビルドする。 | 元祖ワシ的日記 3.2
http://ror.hj.to/s/content/issei/entry/201301/5854-ac18c11f2cb749ef00a0f4c5b53a3d51
  1. compiling_for_win32 [Cross GCC on Mac OS X]から,gcc-4.8.0-qt-4.8.4-for-mingw32.dmg をダウンロードしてインストールする.
  2. 次のコマンドをターミナルに打つ.
    $ git clone https://github.com/mruby/mruby.git
  3. git からもってきた mruby ディレクトリの中の build_config.rb を編集する.
  4. build_config.rb の末尾に次の記述を追加する.
    MRuby::CrossBuild.new('mruby-win') do |conf|
      toolchain :gcc  
      conf.gembox 'default'
      conf.cc do |cc|
        cc.command = "/usr/local/gcc-4.8.0-qt-4.8.4-for-mingw32/win32-gcc/bin/i586-mingw32-gcc"
      end
      conf.linker do |linker|
        linker.command = "/usr/local/gcc-4.8.0-qt-4.8.4-for-mingw32/win32-gcc/bin/i586-mingw32-gcc"
      end 
      conf.archiver do |archiver|
        archiver.command = "/usr/local/gcc-4.8.0-qt-4.8.4-for-mingw32/win32-gcc/bin/i586-mingw32-ar"
      end
      conf.exts do |exts|
        exts.executable = '.exe'
      end
    end
    
  5. あとは普通に make すると,bin に OS X 用ができて,build ディレクトリの mruby-win に Windows 用ができる.この mruby-win ディレクトリごと Windows 機にコピーすれば OK かな.

って,感じにやってみたら簡単にできました.これで Mac 側と同じバージョンの mruby で動作確認できて良かった.

http://onohiroki.cycling.jp/tb/tb.cgi/weblog_d20131023n1 TrackBack