diff options
| author | KOBAYASHI Shuji <[email protected]> | 2020-12-16 19:17:44 +0900 |
|---|---|---|
| committer | KOBAYASHI Shuji <[email protected]> | 2020-12-16 19:17:44 +0900 |
| commit | 0396f3f0fd6e574ae859d24f058abcf1ada66f6b (patch) | |
| tree | ef1ada52d79a83c0463bee1c5bcc4beb9345172e /lib | |
| parent | c1c8c25e70a54e6a82ab8cea05c115b94eb3d5ab (diff) | |
| download | mruby-0396f3f0fd6e574ae859d24f058abcf1ada66f6b.tar.gz mruby-0396f3f0fd6e574ae859d24f058abcf1ada66f6b.zip | |
Guess toolchain when `MRuby::Build#toolchain` argument is omitted
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/mruby/build.rb | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/lib/mruby/build.rb b/lib/mruby/build.rb index 2e67fe5a6..83722a0e8 100644 --- a/lib/mruby/build.rb +++ b/lib/mruby/build.rb @@ -22,6 +22,18 @@ module MRuby class Toolchain class << self attr_accessor :toolchains + + def guess + if cc = ENV["CC"] || ENV["CXX"] + return "clang" if cc.include?("clang") + else + return "clang" if RUBY_PLATFORM =~ /darwin|(?:free|open)bsd/ + return "gcc" if RUBY_PLATFORM.include?("cygwin") + return "visualcpp" if ENV.include?("VisualStudioVersion") + return "visualcpp" if ENV.include?("VSINSTALLDIR") + end + "gcc" + end end def initialize(name, &block) @@ -29,7 +41,7 @@ module MRuby MRuby::Toolchain.toolchains[@name] = self end - def setup(conf,params={}) + def setup(conf, params={}) conf.instance_exec(conf, params, &@initializer) end @@ -221,7 +233,7 @@ EOS @enable_bintest end - def toolchain(name, params={}) + def toolchain(name=Toolchain.guess, params={}) name = name.to_s tc = Toolchain.toolchains[name] || begin path = "#{MRUBY_ROOT}/tasks/toolchains/#{name}.rake" |
