summaryrefslogtreecommitdiffhomepage
path: root/tasks
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2013-02-03 16:14:23 -0800
committerYukihiro "Matz" Matsumoto <[email protected]>2013-02-03 16:14:23 -0800
commit913faa43c83f31898a66dad394f609e547e1d3bd (patch)
treeddbf005de60b894b617a94cc1038cb64778aef3c /tasks
parentbaa5ed9c8ec737e566ffd73a29361961422abe02 (diff)
parent93c0f3b7d44a8775087dcbf49642ddd6c44c44e6 (diff)
downloadmruby-913faa43c83f31898a66dad394f609e547e1d3bd.tar.gz
mruby-913faa43c83f31898a66dad394f609e547e1d3bd.zip
Merge pull request #813 from masuidrive/generate_mrbtest_a
Generate mrbtest.a file for sparete from driver.o
Diffstat (limited to 'tasks')
-rw-r--r--tasks/mrbgem_spec.rake4
-rw-r--r--tasks/mrbgems_test.rake11
-rw-r--r--tasks/mruby_build.rake9
3 files changed, 14 insertions, 10 deletions
diff --git a/tasks/mrbgem_spec.rake b/tasks/mrbgem_spec.rake
index daf4410de..224e69e9d 100644
--- a/tasks/mrbgem_spec.rake
+++ b/tasks/mrbgem_spec.rake
@@ -77,8 +77,8 @@ module MRuby
"#{build.build_dir}/mrbgems/#{name}"
end
- def testlib
- libfile("#{build_dir}/libmrb-#{name}-gem-test")
+ def test_rbireps
+ "#{build_dir}/gem_test.c"
end
def funcname
diff --git a/tasks/mrbgems_test.rake b/tasks/mrbgems_test.rake
index 80c309c44..96b7b8522 100644
--- a/tasks/mrbgems_test.rake
+++ b/tasks/mrbgems_test.rake
@@ -2,15 +2,10 @@ MRuby.each_target do
dir = File.dirname(__FILE__).relative_path_from(root)
gems.each do |g|
- test_rbc = "#{g.build_dir}/gem_test.c"
- test_rbobj = test_rbc.ext(exts.object)
+ test_rbobj = g.test_rbireps.ext(exts.object)
- file g.testlib => [g.test_objs, test_rbobj].flatten do |t|
- g.build.archiver.run t.name, t.prerequisites
- end
-
- file test_rbobj => test_rbc
- file test_rbc => [g.test_rbfiles].flatten + [g.build.mrbcfile, libfile("#{build_dir}/lib/libmruby")] do |t|
+ file test_rbobj => g.test_rbireps
+ file g.test_rbireps => [g.test_rbfiles].flatten + [g.build.mrbcfile, libfile("#{build_dir}/lib/libmruby")] do |t|
open(t.name, 'w') do |f|
g.print_gem_init_header(f)
g.build.mrbc.run f, g.test_preload, "gem_test_irep_#{g.funcname}_preload"
diff --git a/tasks/mruby_build.rake b/tasks/mruby_build.rake
index cbef16d24..b296e8d37 100644
--- a/tasks/mruby_build.rake
+++ b/tasks/mruby_build.rake
@@ -78,6 +78,7 @@ module MRuby
@bins = %w(mruby mrbc mirb)
@gems, @libmruby = [], []
+ @build_mrbtest_lib_only = false
MRuby.targets[@name] = self
end
@@ -149,6 +150,14 @@ module MRuby
end
end
+ def build_mrbtest_lib_only
+ @build_mrbtest_lib_only = true
+ end
+
+ def build_mrbtest_lib_only?
+ @build_mrbtest_lib_only
+ end
+
def run_test
puts ">>> Test #{name} <<<"
mrbtest = exefile("#{build_dir}/test/mrbtest")