diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2013-02-03 16:14:23 -0800 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2013-02-03 16:14:23 -0800 |
| commit | 913faa43c83f31898a66dad394f609e547e1d3bd (patch) | |
| tree | ddbf005de60b894b617a94cc1038cb64778aef3c /test | |
| parent | baa5ed9c8ec737e566ffd73a29361961422abe02 (diff) | |
| parent | 93c0f3b7d44a8775087dcbf49642ddd6c44c44e6 (diff) | |
| download | mruby-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 'test')
| -rw-r--r-- | test/mrbtest.rake | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/test/mrbtest.rake b/test/mrbtest.rake index 4d4a7e57c..03e6c7ece 100644 --- a/test/mrbtest.rake +++ b/test/mrbtest.rake @@ -8,20 +8,27 @@ MRuby.each_target do init = "#{dir}/init_mrbtest.c" asslib = "#{dir}/assert.rb" - objs = [objfile("#{build_dir}/#{dir}/driver"), mlib].flatten + mrbtest_lib = libfile("#{build_dir}/#{dir}/mrbtest") + file mrbtest_lib => [mlib, gems.map(&:test_objs), gems.map { |g| g.test_rbireps.ext(exts.object) }].flatten do |t| + archiver.run t.name, t.prerequisites + end - file exec => objs + gems.map(&:testlib).flatten + [libfile("#{build_dir}/lib/libmruby")] do |t| - gem_flags = gems.map { |g| g.linker.flags } - gem_flags_before_libraries = gems.map { |g| g.linker.flags_before_libraries } - gem_flags_after_libraries = gems.map { |g| g.linker.flags_after_libraries } - gem_libraries = gems.map { |g| g.linker.libraries } - gem_library_paths = gems.map { |g| g.linker.library_paths } - linker.run t.name, t.prerequisites, gem_libraries, gem_library_paths, gem_flags, gem_flags_before_libraries + unless build_mrbtest_lib_only? + driver_obj = objfile("#{build_dir}/#{dir}/driver") + file exec => [driver_obj, mrbtest_lib, libfile("#{build_dir}/lib/libmruby")] do |t| + gem_flags = gems.map { |g| g.linker.flags } + gem_flags_before_libraries = gems.map { |g| g.linker.flags_before_libraries } + gem_flags_after_libraries = gems.map { |g| g.linker.flags_after_libraries } + gem_libraries = gems.map { |g| g.linker.libraries } + gem_library_paths = gems.map { |g| g.linker.library_paths } + linker.run t.name, t.prerequisites, gem_libraries, gem_library_paths, gem_flags, gem_flags_before_libraries + end end file mlib => [clib] file clib => [mrbcfile, init, asslib] + mrbs do |t| _pp "GEN", "*.rb", "#{clib}" + FileUtils.mkdir_p File.dirname(clib) open(clib, 'w') do |f| f.puts IO.read(init) mrbc.run f, [asslib] + mrbs, 'mrbtest_irep' |
