diff options
| author | Yuichiro MASUI <[email protected]> | 2013-01-20 22:48:42 +0900 |
|---|---|---|
| committer | Yuichiro MASUI <[email protected]> | 2013-01-20 22:48:42 +0900 |
| commit | ced80d2b4b1ed4ef0752a8bbaf0dbfe7aa6c6a95 (patch) | |
| tree | d49c0d0f0b6139ad4c79c3e4b417d65941e97a4f /tools | |
| parent | 583983385b81c21f82704b116eab52d606a609f4 (diff) | |
| download | mruby-ced80d2b4b1ed4ef0752a8bbaf0dbfe7aa6c6a95.tar.gz mruby-ced80d2b4b1ed4ef0752a8bbaf0dbfe7aa6c6a95.zip | |
Improved build scripts and config files
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/mirb/mirb.rake | 15 | ||||
| -rw-r--r-- | tools/mrbc/mrbc.rake | 12 | ||||
| -rw-r--r-- | tools/mruby/mruby.rake | 15 |
3 files changed, 24 insertions, 18 deletions
diff --git a/tools/mirb/mirb.rake b/tools/mirb/mirb.rake index 958ebe79a..9f41fff64 100644 --- a/tools/mirb/mirb.rake +++ b/tools/mirb/mirb.rake @@ -1,12 +1,15 @@ -dir = File.dirname(__FILE__).sub(%r|^\./|, '') - MRuby.each_target do - if bins.select { |s| s.to_s == 'mirb' } + dir = File.dirname(__FILE__).relative_path_from(root) + + if bins.find { |s| s.to_s == 'mirb' } exec = exefile("#{build_dir}/bin/mirb") - objs = Dir.glob("#{dir}/*.{c}").map { |f| f.pathmap("#{build_dir}/%X.o") } + objs = Dir.glob("#{dir}/*.c").map { |f| objfile(f.pathmap("#{build_dir}/%X")) } - file exec => objs + ["#{build_dir}/lib/libmruby.a"] do |t| - link t.name, t.prerequisites, gems.map { |g| g.mruby_ldflags }, gems.map { |g| g.mruby_libs } + file exec => objs + [libfile("#{build_dir}/lib/libmruby")] do |t| + gem_flags = gems.map { |g| g.linker.flags } + 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 end end end diff --git a/tools/mrbc/mrbc.rake b/tools/mrbc/mrbc.rake index 74e04bed5..248433cf0 100644 --- a/tools/mrbc/mrbc.rake +++ b/tools/mrbc/mrbc.rake @@ -1,12 +1,12 @@ -dir = File.dirname(__FILE__).sub(%r|^\./|, '') - MRuby.each_target do - if bins.select { |s| s.to_s == 'mrbc' } + dir = File.dirname(__FILE__).relative_path_from(root) + + if bins.find { |s| s.to_s == 'mrbc' } exec = exefile("#{build_dir}/bin/mrbc") - objs = Dir.glob("#{dir}/*.{c}").map { |f| f.pathmap("#{build_dir}/%X.o") } + objs = Dir.glob("#{dir}/*.c").map { |f| objfile(f.pathmap("#{build_dir}/%X")) } - file exec => objs + ["#{build_dir}/lib/libmruby_core.a"] do |t| - link t.name, t.prerequisites + file exec => objs + [libfile("#{build_dir}/lib/libmruby_core")] do |t| + linker.run t.name, t.prerequisites end end end diff --git a/tools/mruby/mruby.rake b/tools/mruby/mruby.rake index 7842c4266..d380cb9f5 100644 --- a/tools/mruby/mruby.rake +++ b/tools/mruby/mruby.rake @@ -1,12 +1,15 @@ -dir = File.dirname(__FILE__).sub(%r|^\./|, '') - MRuby.each_target do - if bins.select { |s| s.to_s == 'mruby' } + dir = File.dirname(__FILE__).relative_path_from(root) + + if bins.find { |s| s.to_s == 'mruby' } exec = exefile("#{build_dir}/bin/mruby") - objs = Dir.glob("#{dir}/*.{c}").map { |f| f.pathmap("#{build_dir}/%X.o") } + objs = Dir.glob("#{dir}/*.c").map { |f| objfile(f.pathmap("#{build_dir}/%X")) } - file exec => objs + ["#{build_dir}/lib/libmruby.a"] do |t| - link t.name, t.prerequisites, gems.map { |g| g.mruby_ldflags }, gems.map { |g| g.mruby_libs } + file exec => objs + [libfile("#{build_dir}/lib/libmruby")] do |t| + gem_flags = gems.map { |g| g.linker.flags } + 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 end end end |
