summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2015-07-29 11:44:23 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2015-07-29 11:44:23 +0900
commit0da057d99ccffd2718bf8813c493ee3cce98c4ce (patch)
treece1de75988fbd7ef86517077eb0cc58a05e87d26
parent8f3f73158921613cee7c9bb7f44282c60a6dc688 (diff)
parent578db292fd9a829d10f81cbcd274993219166f32 (diff)
downloadmruby-0da057d99ccffd2718bf8813c493ee3cce98c4ce.tar.gz
mruby-0da057d99ccffd2718bf8813c493ee3cce98c4ce.zip
Merge pull request #2900 from joans321/enhance-mrbgem-build
mrbgem compile should be depend on mrbgem.rake
-rw-r--r--tasks/mrbgem_spec.rake2
-rw-r--r--tasks/mruby_build_commands.rake6
2 files changed, 5 insertions, 3 deletions
diff --git a/tasks/mrbgem_spec.rake b/tasks/mrbgem_spec.rake
index 04a9c39f0..d13e7733f 100644
--- a/tasks/mrbgem_spec.rake
+++ b/tasks/mrbgem_spec.rake
@@ -130,7 +130,7 @@ module MRuby
end
def define_gem_init_builder
- file objfile("#{build_dir}/gem_init") => "#{build_dir}/gem_init.c"
+ file objfile("#{build_dir}/gem_init") => [ "#{build_dir}/gem_init.c", File.join(dir, "mrbgem.rake") ]
file "#{build_dir}/gem_init.c" => [build.mrbcfile, __FILE__] + [rbfiles].flatten do |t|
FileUtils.mkdir_p build_dir
generate_gem_init("#{build_dir}/gem_init.c")
diff --git a/tasks/mruby_build_commands.rake b/tasks/mruby_build_commands.rake
index 4fbfaa785..f4805f46d 100644
--- a/tasks/mruby_build_commands.rake
+++ b/tasks/mruby_build_commands.rake
@@ -92,6 +92,8 @@ module MRuby
def define_rules(build_dir, source_dir='')
@out_ext = build.exts.object
+ gemrake = File.join(source_dir, "mrbgem.rake")
+ rakedep = File.exist?(gemrake) ? [ gemrake ] : []
if build_dir.include? "mrbgems/"
generated_file_matcher = Regexp.new("^#{Regexp.escape build_dir}/(.*)#{Regexp.escape out_ext}$")
@@ -104,7 +106,7 @@ module MRuby
file.sub(generated_file_matcher, "#{source_dir}/\\1#{ext}")
},
proc { |file|
- get_dependencies(file)
+ get_dependencies(file) + rakedep
}
] do |t|
run t.name, t.prerequisites.first
@@ -115,7 +117,7 @@ module MRuby
file.sub(generated_file_matcher, "#{build_dir}/\\1#{ext}")
},
proc { |file|
- get_dependencies(file)
+ get_dependencies(file) + rakedep
}
] do |t|
run t.name, t.prerequisites.first