Raspberry Pi + FreeBSD で mrubyをビルドする。

mrubyをFreeBSD+Raspberry Pi で動かすためのメモ。

mrubyをコンパイルするにはGNU bison やらrubyやらが必要なのですが、とにかく非力なRaspberry Piではちょっと厄介。環境を整えるのに何時間もかかってしまうという。

しかし、mrubyはcross-compileが簡単に出来るように作られているので、その3のように make worldがクロス環境でビルドが出来ているのなら、そのまま簡単にビルドできちゃいます。

クロス開発環境一式は
/usr/obj/arm.armv6/PATH/tmp/usr/bin
(PATHはコンパイルしたソースのパスが入るので適宜修正)
に出来上がってるので、それを使ってクロスコンパイルをするように、build_config.rbの最後に追加してやれば終わりです。例えば以下のようになります。
MRuby::CrossBuild.new('armv6') do |conf|
  toolchain :gcc  
  conf.cc do |cc|
    cc.command = "/usr/obj/arm.armv6/PATH/tmp/usr/bin/cc"
  end
  conf.linker do |linker|
    linker.command = "/usr/obj/arm.armv6/PATH/tmp/usr/bin/cc"
  end 
  conf.archiver do |archiver|
    archiver.command = "/usr/obj/arm.armv6/PATH/tmp/usr/bin/gnu-ar"
  end
end
これで makeをすると、build/armv6 というディレクトリの下に諸々のファイルが出来ます。簡単。

なお、書くまでもないと思いますが、ソース一式はgithubから git cloneでhttps://github.com/mruby/mruby.git あたりからもってきましょう。

確認したリビジョンは 0410bb7623a27ac427f190e3144c85b6446bec0 です。
Posted by issei

カテゴリ: BSD