はじめに
mrubyはドキュメントにもあるようにクロスコンパイルが簡単にできるようになっているので、
intel edison用にWindowsでクロスコンパイルで書いたように--sysroot
を指定することさえ分かっていれば簡単にedison用のバイナリをビルドできます。
クロスコンパイルの設定と実行
mrubyのドキュメントにあるように、クロスコンパイルするには
build_config.rb
に設定を追加します。
以下をbuild_config.rb
の最後に追記してください(--sysroot
に指定するパスは適宜修正のこと)。
build_config.rb
MRuby::CrossBuild.new('edison') do |conf|
toolchain :gcc
conf.cc.command = ENV['CC'] || 'i586-poky-linux-gcc'
conf.cc.flags << "--sysroot=C:/Tools/edison/sysroots/core2-32-poky-linux"
conf.linker.command = ENV['LD'] || 'i586-poky-linux-gcc'
conf.linker.flags << "--sysroot=C:/Tools/edison/sysroots/core2-32-poky-linux"
conf.exts.executable = ''
enable_debug
conf.gembox 'default'
# if you need mrdb
conf.cc.defines = %w(ENABLE_DEBUG)
conf.gem :core => "mruby-bin-debugger"
end
編集が終わったらいつも通りmake
1を実行すれば
build/edison
以下にファイルがビルドされます。
あとはbuild/edison/bin/mruby
やbuild/edison/bin/mrdb
など必要なファイルを転送すれば
intel edisonでmrubyが使えます!
あとは、mruby-mraaとかあればなぁ~色々できるんだろうなぁ~
-
まずhost用mrbcをビルドし、そのあとedison用バイナリをビルドするので
windowsがターゲットのGCC(mingwなど)と、edisonのSDK、両方にpathを通しておく必要があります。 ↩