mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
e471d37ca5
We assume meta-programming is less used in embedded environments. We have moved following methods: * Kernel module global_variables, local_variables, singleton_class, instance_variables, instance_variables_defined?, instance_variable_get, instance_variable_set, methods, private_methods, public_methods, protected_methods, singleton_methods, define_singleton_methods * Module class class_variables, class_variables_defined?, class_variable_get, class_variable_set, remove_class_variable, included_modules, instance_methods, remove_method, method_removed, constants * Module class methods constants, nesting Note: Following meta-programming methods are kept in the core: * Module class alias_method, undef_method, ancestors, const_defined?, const_get, const_set, remove_const, method_defined?, define_method * Toplevel object define_method `mruby-metaprog` gem is linked by default (specified in default.gembox). When it is removed, it will save 40KB (stripped:8KB) on x86-64 environment last time I measured.
92 lines
2.1 KiB
Plaintext
92 lines
2.1 KiB
Plaintext
MRuby::GemBox.new do |conf|
|
|
# Meta-programming features
|
|
conf.gem :core => "mruby-metaprog"
|
|
|
|
# Use standard IO/File class
|
|
conf.gem :core => "mruby-io"
|
|
|
|
# Use standard Array#pack, String#unpack methods
|
|
conf.gem :core => "mruby-pack"
|
|
|
|
# Use standard Kernel#sprintf method
|
|
conf.gem :core => "mruby-sprintf"
|
|
|
|
# Use standard print/puts/p
|
|
conf.gem :core => "mruby-print"
|
|
|
|
# Use standard Math module
|
|
conf.gem :core => "mruby-math"
|
|
|
|
# Use standard Time class
|
|
conf.gem :core => "mruby-time"
|
|
|
|
# Use standard Struct class
|
|
conf.gem :core => "mruby-struct"
|
|
|
|
# Use Comparable module extension
|
|
conf.gem :core => "mruby-compar-ext"
|
|
|
|
# Use Enumerable module extension
|
|
conf.gem :core => "mruby-enum-ext"
|
|
|
|
# Use String class extension
|
|
conf.gem :core => "mruby-string-ext"
|
|
|
|
# Use Numeric class extension
|
|
conf.gem :core => "mruby-numeric-ext"
|
|
|
|
# Use Array class extension
|
|
conf.gem :core => "mruby-array-ext"
|
|
|
|
# Use Hash class extension
|
|
conf.gem :core => "mruby-hash-ext"
|
|
|
|
# Use Range class extension
|
|
conf.gem :core => "mruby-range-ext"
|
|
|
|
# Use Proc class extension
|
|
conf.gem :core => "mruby-proc-ext"
|
|
|
|
# Use Symbol class extension
|
|
conf.gem :core => "mruby-symbol-ext"
|
|
|
|
# Use Random class
|
|
conf.gem :core => "mruby-random"
|
|
|
|
# Use Object class extension
|
|
conf.gem :core => "mruby-object-ext"
|
|
|
|
# Use ObjectSpace class
|
|
conf.gem :core => "mruby-objectspace"
|
|
|
|
# Use Fiber class
|
|
conf.gem :core => "mruby-fiber"
|
|
|
|
# Use Enumerator class (require mruby-fiber)
|
|
conf.gem :core => "mruby-enumerator"
|
|
|
|
# Use Enumerator::Lazy class (require mruby-enumerator)
|
|
conf.gem :core => "mruby-enum-lazy"
|
|
|
|
# Use toplevel object (main) methods extension
|
|
conf.gem :core => "mruby-toplevel-ext"
|
|
|
|
# Generate mirb command
|
|
conf.gem :core => "mruby-bin-mirb"
|
|
|
|
# Generate mruby command
|
|
conf.gem :core => "mruby-bin-mruby"
|
|
|
|
# Generate mruby-strip command
|
|
conf.gem :core => "mruby-bin-strip"
|
|
|
|
# Use Kernel module extension
|
|
conf.gem :core => "mruby-kernel-ext"
|
|
|
|
# Use class/module extension
|
|
conf.gem :core => "mruby-class-ext"
|
|
|
|
# Use mruby-compiler to build other mrbgems
|
|
conf.gem :core => "mruby-compiler"
|
|
end
|