summaryrefslogtreecommitdiffhomepage
path: root/tasks
diff options
context:
space:
mode:
Diffstat (limited to 'tasks')
-rw-r--r--tasks/mrbgems.rake2
-rw-r--r--tasks/mruby_build_gem.rake7
2 files changed, 7 insertions, 2 deletions
diff --git a/tasks/mrbgems.rake b/tasks/mrbgems.rake
index 17f266105..2d670227f 100644
--- a/tasks/mrbgems.rake
+++ b/tasks/mrbgems.rake
@@ -9,7 +9,7 @@ MRuby.each_target do
# loader all gems
self.libmruby << objfile("#{build_dir}/mrbgems/gem_init")
file objfile("#{build_dir}/mrbgems/gem_init") => "#{build_dir}/mrbgems/gem_init.c"
- file "#{build_dir}/mrbgems/gem_init.c" => MRUBY_CONFIGS.flatten do |t|
+ file "#{build_dir}/mrbgems/gem_init.c" => [MRUBY_CONFIG] do |t|
FileUtils.mkdir_p "#{build_dir}/mrbgems"
open(t.name, 'w') do |f|
f.puts %Q[/*]
diff --git a/tasks/mruby_build_gem.rake b/tasks/mruby_build_gem.rake
index 9f5804406..24f53a501 100644
--- a/tasks/mruby_build_gem.rake
+++ b/tasks/mruby_build_gem.rake
@@ -1,7 +1,12 @@
module MRuby
module LoadGems
def gem(gemdir, &block)
- gemdir = load_external_gem(gemdir) if gemdir.is_a?(Hash)
+ caller_dir = File.expand_path(File.dirname(/^(.*?):\d/.match(caller.first).to_a[1]))
+ if gemdir.is_a?(Hash)
+ gemdir = load_external_gem(gemdir)
+ else
+ gemdir = File.expand_path(gemdir, caller_dir)
+ end
gemrake = File.join(gemdir, "mrbgem.rake")
fail "Can't find #{gemrake}" unless File.exists?(gemrake)