Merge pull request #1218 from bovi/gembox

GemBox
This commit is contained in:
Yukihiro "Matz" Matsumoto
2013-04-27 07:23:55 -07:00
6 changed files with 75 additions and 61 deletions
+2 -55
View File
@@ -11,61 +11,8 @@ MRuby::Build.new do |conf|
# conf.gem :github => 'masuidrive/mrbgems-example', :branch => 'master'
# conf.gem :git => 'git@github.com:masuidrive/mrbgems-example.git', :branch => 'master', :options => '-v'
# Use standard Kernel#sprintf method
conf.gem "#{root}/mrbgems/mruby-sprintf"
# Use standard print/puts/p
conf.gem "#{root}/mrbgems/mruby-print"
# Use standard Math module
conf.gem "#{root}/mrbgems/mruby-math"
# Use standard Time class
conf.gem "#{root}/mrbgems/mruby-time"
# Use standard Struct class
conf.gem "#{root}/mrbgems/mruby-struct"
# Use extensional Enumerable module
conf.gem "#{root}/mrbgems/mruby-enum-ext"
# Use extensional String class
conf.gem "#{root}/mrbgems/mruby-string-ext"
# Use extensional Numeric class
conf.gem "#{root}/mrbgems/mruby-numeric-ext"
# Use extensional Array class
conf.gem "#{root}/mrbgems/mruby-array-ext"
# Use extensional Hash class
conf.gem "#{root}/mrbgems/mruby-hash-ext"
# Use extensional Range class
conf.gem "#{root}/mrbgems/mruby-range-ext"
# Use extensional Proc class
conf.gem "#{root}/mrbgems/mruby-proc-ext"
# Use extensional Symbol class
conf.gem "#{root}/mrbgems/mruby-symbol-ext"
# Use Random class
conf.gem "#{root}/mrbgems/mruby-random"
# No use eval method
# conf.gem "#{root}/mrbgems/mruby-eval"
# Generate binaries
# conf.bins = %w(mrbc)
# Generate mirb command
conf.gem "#{root}/mrbgems/mruby-bin-mirb"
# Generate mruby command
conf.gem "#{root}/mrbgems/mruby-bin-mruby"
# include the default GEMs
conf.gembox 'default'
# C compiler settings
# conf.cc do |cc|
+49
View File
@@ -0,0 +1,49 @@
MRuby::GemBox.new do |conf|
# Use standard Kernel#sprintf method
conf.gem "#{root}/mrbgems/mruby-sprintf"
# Use standard print/puts/p
conf.gem "#{root}/mrbgems/mruby-print"
# Use standard Math module
conf.gem "#{root}/mrbgems/mruby-math"
# Use standard Time class
conf.gem "#{root}/mrbgems/mruby-time"
# Use standard Struct class
conf.gem "#{root}/mrbgems/mruby-struct"
# Use extensional Enumerable module
conf.gem "#{root}/mrbgems/mruby-enum-ext"
# Use extensional String class
conf.gem "#{root}/mrbgems/mruby-string-ext"
# Use extensional Numeric class
conf.gem "#{root}/mrbgems/mruby-numeric-ext"
# Use extensional Array class
conf.gem "#{root}/mrbgems/mruby-array-ext"
# Use extensional Hash class
conf.gem "#{root}/mrbgems/mruby-hash-ext"
# Use extensional Range class
conf.gem "#{root}/mrbgems/mruby-range-ext"
# Use extensional Proc class
conf.gem "#{root}/mrbgems/mruby-proc-ext"
# Use extensional Symbol class
conf.gem "#{root}/mrbgems/mruby-symbol-ext"
# Use Random class
conf.gem "#{root}/mrbgems/mruby-random"
# Generate mirb command
conf.gem "#{root}/mrbgems/mruby-bin-mirb"
# Generate mruby command
conf.gem "#{root}/mrbgems/mruby-bin-mruby"
end
+8
View File
@@ -0,0 +1,8 @@
MRuby::GemBox.new do |conf|
conf.gem "#{root}/mrbgems/mruby-sprintf"
conf.gem "#{root}/mrbgems/mruby-print"
Dir.glob("#{root}/mrbgems/mruby-*") do |x|
conf.gem x unless x =~ /\/mruby-(print|sprintf)$/
end
end
+7
View File
@@ -158,4 +158,11 @@ module MRuby
end # Specification
end # Gem
GemBox = BasicObject.new
class << GemBox
def new(&block); block.call(self); end
def config=(obj); @config = obj; end
def gem(gemdir, &block); @config.gem(gemdir, &block); end
end # GemBox
end # MRuby
+7
View File
@@ -1,5 +1,12 @@
module MRuby
module LoadGems
def gembox(gemboxfile)
gembox = File.absolute_path("#{gemboxfile}.gembox", "#{MRUBY_ROOT}/mrbgems")
fail "Can't find gembox '#{gembox}'" unless File.exists?(gembox)
GemBox.config = self
instance_eval File.read(gembox)
end
def gem(gemdir, &block)
caller_dir = File.expand_path(File.dirname(/^(.*?):\d/.match(caller.first).to_a[1]))
if gemdir.is_a?(Hash)
+2 -6
View File
@@ -1,10 +1,6 @@
MRuby::Build.new do |conf|
toolchain :gcc
conf.gem "#{root}/mrbgems/mruby-sprintf"
conf.gem "#{root}/mrbgems/mruby-print"
Dir.glob("#{root}/mrbgems/mruby-*") do |x|
conf.gem x unless x =~ /\/mruby-(print|sprintf)$/
end
# include all core GEMs
conf.gembox 'full-core'
end