Class: MRuby::Toolchain

Inherits:
#Object show all
Defined in:
ext/enterprise_script_service/mruby/lib/mruby/build.rb

Class Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, &block) ⇒ Toolchain

Returns a new instance of Toolchain.

[View source]

40
41
42
43
# File 'ext/enterprise_script_service/mruby/lib/mruby/build.rb', line 40

def initialize(name, &block)
  @name, @initializer = name.to_s, block
  MRuby::Toolchain.toolchains[@name] = self
end

Class Attribute Details

.toolchainsObject

Returns the value of attribute toolchains.


25
26
27
# File 'ext/enterprise_script_service/mruby/lib/mruby/build.rb', line 25

def toolchains
  @toolchains
end

Class Method Details

.guessObject

[View source]

27
28
29
30
31
32
33
34
35
36
37
# File 'ext/enterprise_script_service/mruby/lib/mruby/build.rb', line 27

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

Instance Method Details

#setup(conf, params = {}) ⇒ Object

[View source]

45
46
47
# File 'ext/enterprise_script_service/mruby/lib/mruby/build.rb', line 45

def setup(conf, params={})
  conf.instance_exec(conf, params, &@initializer)
end