From a74f92b46be80a754486e696d117903fbb090686 Mon Sep 17 00:00:00 2001 From: Yuichiro MASUI Date: Sun, 3 Feb 2013 05:18:28 +0900 Subject: Generate mrbtest.a file for sparete from driver.o --- tasks/mrbgem_spec.rake | 4 ++-- tasks/mrbgems_test.rake | 11 +++-------- tasks/mruby_build.rake | 9 +++++++++ 3 files changed, 14 insertions(+), 10 deletions(-) (limited to 'tasks') 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") -- cgit v1.2.3