summaryrefslogtreecommitdiffhomepage
path: root/lib
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2021-03-18 22:34:31 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2021-03-18 22:34:31 +0900
commit99f00de0402dc9fb2b48428613952d5f10c7cc25 (patch)
tree84ac8479f354e346cd2bf7fb95a009f06c2f7fa8 /lib
parente5a3a37ae929bd7df4fa8aad1ba25eb1bd917cb1 (diff)
parent199bbd73a36ec7b1a238653e19d5b0b2447d07a4 (diff)
downloadmruby-99f00de0402dc9fb2b48428613952d5f10c7cc25.tar.gz
mruby-99f00de0402dc9fb2b48428613952d5f10c7cc25.zip
Merge branch 'break-in-conf' of https://github.com/dearblue/mruby into dearblue-break-in-conf
Diffstat (limited to 'lib')
-rw-r--r--lib/mruby/build.rb21
1 files changed, 14 insertions, 7 deletions
diff --git a/lib/mruby/build.rb b/lib/mruby/build.rb
index b9f26d49f..77decad6d 100644
--- a/lib/mruby/build.rb
+++ b/lib/mruby/build.rb
@@ -131,15 +131,22 @@ module MRuby
end
MRuby::Build.current = current
- current.instance_eval(&block)
- if current.libmruby_enabled? && !current.mrbcfile_external?
- if current.presym_enabled?
- current.create_mrbc_build if current.host? || current.gems["mruby-bin-mrbc"]
- elsif current.host?
- current.build_mrbc_exec
+ begin
+ current.instance_eval(&block)
+ rescue Exception => err
+ raise
+ ensure
+ unless err
+ if current.libmruby_enabled? && !current.mrbcfile_external?
+ if current.presym_enabled?
+ current.create_mrbc_build if current.host? || current.gems["mruby-bin-mrbc"]
+ elsif current.host?
+ current.build_mrbc_exec
+ end
+ end
+ current.presym = Presym.new(current) if current.presym_enabled?
end
end
- current.presym = Presym.new(current) if current.presym_enabled?
end
def libmruby_enabled?