summaryrefslogtreecommitdiffhomepage
path: root/tasks/libmruby.rake
diff options
context:
space:
mode:
Diffstat (limited to 'tasks/libmruby.rake')
-rw-r--r--tasks/libmruby.rake14
1 files changed, 12 insertions, 2 deletions
diff --git a/tasks/libmruby.rake b/tasks/libmruby.rake
index 9f5cc555a..108f42f59 100644
--- a/tasks/libmruby.rake
+++ b/tasks/libmruby.rake
@@ -1,5 +1,15 @@
MRuby.each_target do
- file "#{build_dir}/lib/libmruby.a" => libmruby.flatten do |t|
- archive t.name, 'rs', t.prerequisites
+ file libfile("#{build_dir}/lib/libmruby") => libmruby.flatten do |t|
+ archiver.run t.name, t.prerequisites
+ open("#{build_dir}/lib/libmruby.flags.mak", 'w') do |f|
+ f.puts 'CFLAGS = "%s"' % cc.all_flags.gsub('"', '\\"')
+
+ gem_flags = gems.map { |g| g.linker.flags }
+ gem_library_paths = gems.map { |g| g.linker.library_paths }
+ f.puts 'LDFLAGS = "%s"' % linker.all_flags(gem_library_paths, gem_flags).gsub('"', '\\"')
+
+ gem_libraries = gems.map { |g| g.linker.libraries }
+ f.puts 'LIBS = "%s"' % linker.library_flags(gem_libraries).gsub('"', '\\"')
+ end
end
end