あまりrubyが得意じゃなくて、ちょくちょく構文エラーとかで引っかかるので、実機に焼く前にhost側でもある程度確認できるようにmruby-yabmにdummyをつっこんでみました。
host側のビルド設定に以下を追加します。
cc.defines << %w(YABM_DUMMY)
conf.gem :github => 'yamori813/mruby-yabm'
これで、yabmのクラスやprintなどのメソッドが利用できます。
% ./mruby/build/host/bin/mruby samples/hello.rb
Hello Bear Metal mruby on YABM.........
結構便利です。
ほぼほぼ同等なconfig作ってみました。
MRuby::Build.new('yabm') do |conf|
# Gets set by the VS command prompts.
if ENV['VisualStudioVersion'] || ENV['VSINSTALLDIR']
toolchain :visualcpp
else
toolchain :clang
end
cc.defines << %w(MRB_WITHOUT_FLOAT)
cc.defines << %w(YABM_DUMMY)
conf.gem :github => 'yamori813/mruby-yabm'
conf.gem :github => 'yamori813/mruby-simplehttp'
conf.gem :core => "mruby-string-ext"
conf.gem :core => "mruby-sprintf"
conf.gem :core => "mruby-bin-mruby"
end
mruby-simplehttpのレポジトリはオリジナルのmatsumoto-rさんのものでも大丈夫ですが、クロスも含めてビルドする場合は私のレポジトリを使ってください。
FreeBSD 11とMac OS X 10.6で試しました。
ガジェットで動くmrubyはいろいろありますが、mruby on YABMの強みはOS環境と同じようにSimpleHttpでTLS通信ができることだと思います。