diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2013-02-23 21:22:45 -0800 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2013-02-23 21:22:45 -0800 |
| commit | 87d0630d1c778c24e39377ee27c30145326fe43b (patch) | |
| tree | 44d19fe10c6650d9010d25ab840ce6e7e2f860fb /test | |
| parent | 58b9e7672474160df90ba11c915eeac093fe12d2 (diff) | |
| parent | 0970ca957226d52af52e1f261fbb7ee8b3086cce (diff) | |
| download | mruby-87d0630d1c778c24e39377ee27c30145326fe43b.tar.gz mruby-87d0630d1c778c24e39377ee27c30145326fe43b.zip | |
Merge pull request #876 from masuidrive/fixed_build_system
Support to build on pwd != mruby source root
Diffstat (limited to 'test')
| -rw-r--r-- | test/mrbtest.rake | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/test/mrbtest.rake b/test/mrbtest.rake index 03e6c7ece..0507981d6 100644 --- a/test/mrbtest.rake +++ b/test/mrbtest.rake @@ -1,20 +1,22 @@ MRuby.each_target do - dir = File.dirname(__FILE__).relative_path_from(root) + current_dir = File.dirname(__FILE__).relative_path_from(Dir.pwd) + relative_from_root = File.dirname(__FILE__).relative_path_from(MRUBY_ROOT) + current_build_dir = "#{build_dir}/#{relative_from_root}" - exec = exefile("#{build_dir}/#{dir}/mrbtest") - clib = "#{build_dir}/#{dir}/mrbtest.c" + exec = exefile("#{current_build_dir}/mrbtest") + clib = "#{current_build_dir}/mrbtest.c" mlib = clib.ext(exts.object) - mrbs = Dir.glob("#{dir}/t/*.rb") - init = "#{dir}/init_mrbtest.c" - asslib = "#{dir}/assert.rb" + mrbs = Dir.glob("#{current_dir}/t/*.rb") + init = "#{current_dir}/init_mrbtest.c" + asslib = "#{current_dir}/assert.rb" - mrbtest_lib = libfile("#{build_dir}/#{dir}/mrbtest") + mrbtest_lib = libfile("#{current_build_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 unless build_mrbtest_lib_only? - driver_obj = objfile("#{build_dir}/#{dir}/driver") + driver_obj = objfile("#{current_build_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 } @@ -27,7 +29,7 @@ MRuby.each_target do file mlib => [clib] file clib => [mrbcfile, init, asslib] + mrbs do |t| - _pp "GEN", "*.rb", "#{clib}" + _pp "GEN", "*.rb", "#{clib.relative_path}" FileUtils.mkdir_p File.dirname(clib) open(clib, 'w') do |f| f.puts IO.read(init) |
