diff options
| -rw-r--r-- | build_config.rb | 5 | ||||
| -rw-r--r-- | mrbgems/mruby-eval/mrbgem.rake | 4 | ||||
| -rw-r--r-- | mrbgems/mruby-eval/src/eval.c | 23 |
3 files changed, 31 insertions, 1 deletions
diff --git a/build_config.rb b/build_config.rb index baf0a6233..475ff27a8 100644 --- a/build_config.rb +++ b/build_config.rb @@ -38,9 +38,12 @@ MRuby::Build.new do |conf| # Use extensional Hash class conf.gem "#{root}/mrbgems/mruby-hash-ext" + # No use eval method + # conf.gem "#{root}/mrbgems/mruby-eval + # Generate binaries # conf.bins = %w(mrbc mruby mirb) - + # C compiler settings # conf.cc do |cc| # cc.command = ENV['CC'] || 'gcc' diff --git a/mrbgems/mruby-eval/mrbgem.rake b/mrbgems/mruby-eval/mrbgem.rake new file mode 100644 index 000000000..f80cf1b9e --- /dev/null +++ b/mrbgems/mruby-eval/mrbgem.rake @@ -0,0 +1,4 @@ +MRuby::Gem::Specification.new('mruby-eval') do |spec| + spec.license = 'MIT' + spec.authors = 'mruby developers' +end diff --git a/mrbgems/mruby-eval/src/eval.c b/mrbgems/mruby-eval/src/eval.c new file mode 100644 index 000000000..039558596 --- /dev/null +++ b/mrbgems/mruby-eval/src/eval.c @@ -0,0 +1,23 @@ +#include "mruby.h" +#include "mruby/compile.h" + +static mrb_value +f_eval(mrb_state *mrb, mrb_value self) +{ + char *s; + int len; + + mrb_get_args(mrb, "s", &s, &len); + return mrb_load_nstring(mrb, s, len); +} + +void +mrb_mruby_eval_gem_init(mrb_state* mrb) +{ + mrb_define_class_method(mrb, mrb->kernel_module, "eval", f_eval, ARGS_REQ(1)); +} + +void +mrb_mruby_eval_gem_final(mrb_state* mrb) +{ +} |
