summaryrefslogtreecommitdiffhomepage
path: root/tools
diff options
context:
space:
mode:
authorYuichiro MASUI <[email protected]>2013-01-20 22:48:42 +0900
committerYuichiro MASUI <[email protected]>2013-01-20 22:48:42 +0900
commitced80d2b4b1ed4ef0752a8bbaf0dbfe7aa6c6a95 (patch)
treed49c0d0f0b6139ad4c79c3e4b417d65941e97a4f /tools
parent583983385b81c21f82704b116eab52d606a609f4 (diff)
downloadmruby-ced80d2b4b1ed4ef0752a8bbaf0dbfe7aa6c6a95.tar.gz
mruby-ced80d2b4b1ed4ef0752a8bbaf0dbfe7aa6c6a95.zip
Improved build scripts and config files
Diffstat (limited to 'tools')
-rw-r--r--tools/mirb/mirb.rake15
-rw-r--r--tools/mrbc/mrbc.rake12
-rw-r--r--tools/mruby/mruby.rake15
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