summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-error/mrbgem.rake
diff options
context:
space:
mode:
authortake_cheeze <[email protected]>2015-06-22 00:05:45 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2015-07-15 14:46:56 +0900
commitcdd72d9c3783749c979edf62522cf9636681538d (patch)
treefbedcf59fc7176d7e6b82adf20170e44b3787a98 /mrbgems/mruby-error/mrbgem.rake
parent2e4bc2de8889a321fbde9898bc9afc9daefd8f76 (diff)
downloadmruby-cdd72d9c3783749c979edf62522cf9636681538d.tar.gz
mruby-cdd72d9c3783749c979edf62522cf9636681538d.zip
Implement `mrb_protect`, `mrb_ensure`, `mrb_rescue`, `mrb_rescue_exceptions`.
(`mrb_rescue_exceptions` is mruby implementation of `rb_rescue2`.) Closes #2844, closes #2837.
Diffstat (limited to 'mrbgems/mruby-error/mrbgem.rake')
-rw-r--r--mrbgems/mruby-error/mrbgem.rake10
1 files changed, 10 insertions, 0 deletions
diff --git a/mrbgems/mruby-error/mrbgem.rake b/mrbgems/mruby-error/mrbgem.rake
new file mode 100644
index 000000000..b8281b17e
--- /dev/null
+++ b/mrbgems/mruby-error/mrbgem.rake
@@ -0,0 +1,10 @@
+MRuby::Gem::Specification.new('mruby-error') do |spec|
+ spec.license = 'MIT'
+ spec.author = 'mruby developers'
+ spec.summary = 'extensional error handling'
+
+ if build.cxx_abi_enabled?
+ @objs << build.compile_as_cxx("#{spec.dir}/src/exception.c", "#{spec.build_dir}/src/exception.cxx")
+ @objs.delete_if { |v| v == objfile("#{spec.build_dir}/src/exception") }
+ end
+end