summaryrefslogtreecommitdiffhomepage
path: root/tasks
diff options
context:
space:
mode:
Diffstat (limited to 'tasks')
-rw-r--r--tasks/mruby_build_commands.rake6
-rw-r--r--tasks/mruby_build_gem.rake2
2 files changed, 7 insertions, 1 deletions
diff --git a/tasks/mruby_build_commands.rake b/tasks/mruby_build_commands.rake
index b3c83277c..884f2027f 100644
--- a/tasks/mruby_build_commands.rake
+++ b/tasks/mruby_build_commands.rake
@@ -68,7 +68,11 @@ module MRuby
def define_rules(build_dir, source_dir='')
@out_ext = build.exts.object
- generated_file_matcher = Regexp.new("^#{build_dir}/(.*)#{Regexp.escape out_ext}$")
+ if build_dir.include? "mrbgems/"
+ generated_file_matcher = Regexp.new("^#{build_dir}/(.*)#{Regexp.escape out_ext}$")
+ else
+ generated_file_matcher = Regexp.new("^#{build_dir}/(?!mrbgems/.+/)(.*)#{Regexp.escape out_ext}$")
+ end
source_exts.each do |ext, compile|
rule generated_file_matcher => [
proc { |file|
diff --git a/tasks/mruby_build_gem.rake b/tasks/mruby_build_gem.rake
index 80990773d..69dd4cafc 100644
--- a/tasks/mruby_build_gem.rake
+++ b/tasks/mruby_build_gem.rake
@@ -5,7 +5,9 @@ module MRuby
gemrake = File.join(gemdir, "mrbgem.rake")
fail "Can't find #{gemrake}" unless File.exists?(gemrake)
+ Gem.current = nil
load gemrake
+ return nil unless Gem.current
Gem.current.dir = gemdir
Gem.current.build = MRuby::Build.current