def config(conf) toolchain :clang if ENV['MRUBY_CC'].include? "clang" toolchain :gcc if ENV['MRUBY_CC'].include? "gcc" conf.cc.command = ENV['MRUBY_CC'] conf.cxx.command = ENV['MRUBY_CXX'] if ENV['MRUBY_LD'] conf.linker.command = ENV['MRUBY_LD'] end if ENV['MRUBY_AR'] conf.archiver.command = ENV['MRUBY_AR'] end # C++ project needs this. Without this, mruby exception does not # properly destroy C++ object allocated on stack. conf.enable_cxx_exception conf.build_dir = ENV['BUILD_DIR'] # include the default GEMs conf.gembox 'default' conf.gem :core => 'mruby-eval' end if ENV['BUILD'] == ENV['HOST'] then MRuby::Build.new do |conf| config(conf) end else MRuby::CrossBuild.new(ENV['HOST']) do |conf| config(conf) end end