diff options
Diffstat (limited to 'tasks')
| -rw-r--r-- | tasks/bin.rake | 2 | ||||
| -rw-r--r-- | tasks/libmruby.rake | 9 | ||||
| -rw-r--r-- | tasks/mrblib.rake | 2 | ||||
| -rw-r--r-- | tasks/presym.rake | 12 | ||||
| -rw-r--r-- | tasks/test.rake | 7 |
5 files changed, 19 insertions, 13 deletions
diff --git a/tasks/bin.rake b/tasks/bin.rake index bc8820b66..5c764458d 100644 --- a/tasks/bin.rake +++ b/tasks/bin.rake @@ -6,8 +6,8 @@ MRuby.each_target do |build| build.bins.each{|bin| build.products << define_installer_if_needed(bin)} - linker_attrs = build.gems.linker_attrs build.gems.each do |gem| + linker_attrs = build.gems.linker_attrs(gem) gem.bins.each do |bin| exe = build.exefile("#{build.build_dir}/bin/#{bin}") objs = Dir["#{gem.dir}/tools/#{bin}/*.{c,cpp,cxx,cc}"].map do |f| diff --git a/tasks/libmruby.rake b/tasks/libmruby.rake index 23cd992ff..8cdb4ca2e 100644 --- a/tasks/libmruby.rake +++ b/tasks/libmruby.rake @@ -16,14 +16,15 @@ MRuby.each_target do open(t.name, 'w') do |f| f.puts "MRUBY_CFLAGS = #{cc.all_flags}" - gem_flags = gems.map { |g| g.linker.flags } - gem_library_paths = gems.map { |g| g.linker.library_paths } + libgems = gems.reject{|g| g.bin?} + gem_flags = libgems.map {|g| g.linker.flags } + gem_library_paths = libgems.map {|g| g.linker.library_paths } f.puts "MRUBY_LDFLAGS = #{linker.all_flags(gem_library_paths, gem_flags)} #{linker.option_library_path % "#{build_dir}/lib"}" - gem_flags_before_libraries = gems.map { |g| g.linker.flags_before_libraries } + gem_flags_before_libraries = libgems.map {|g| g.linker.flags_before_libraries } f.puts "MRUBY_LDFLAGS_BEFORE_LIBS = #{[linker.flags_before_libraries, gem_flags_before_libraries].flatten.join(' ')}" - gem_libraries = gems.map { |g| g.linker.libraries } + gem_libraries = libgems.map {|g| g.linker.libraries } f.puts "MRUBY_LIBS = #{linker.option_library % 'mruby'} #{linker.library_flags(gem_libraries)}" f.puts "MRUBY_LIBMRUBY_PATH = #{libmruby_static}" diff --git a/tasks/mrblib.rake b/tasks/mrblib.rake index 5567515d6..485375e55 100644 --- a/tasks/mrblib.rake +++ b/tasks/mrblib.rake @@ -28,7 +28,7 @@ MRuby.each_target do f.puts %Q[#include <mruby.h>] f.puts %Q[#include <mruby/irep.h>] end - mrbc.run f, rbfiles, "mrblib_#{suffix}", cdump + mrbc.run f, rbfiles, "mrblib_#{suffix}", cdump: cdump, static: true f.puts %Q[void] f.puts %Q[mrb_init_mrblib(mrb_state *mrb)] f.puts %Q[{] diff --git a/tasks/presym.rake b/tasks/presym.rake index 2efc4d790..1ebc1a737 100644 --- a/tasks/presym.rake +++ b/tasks/presym.rake @@ -17,7 +17,7 @@ MRuby.each_target do |build| build.gems.each{|gem| gem.compilers.each{|c| c.include_paths << include_dir}} prereqs = {} - pps = [] + ppps = [] build_dir = "#{build.build_dir}/" mrbc_build_dir = "#{build.mrbc_build.build_dir}/" if build.mrbc_build build.products.each{|product| all_prerequisites.(product, prereqs)} @@ -25,11 +25,15 @@ MRuby.each_target do |build| next unless File.extname(prereq) == build.exts.object next unless prereq.start_with?(build_dir) next if mrbc_build_dir && prereq.start_with?(mrbc_build_dir) - pps << prereq.ext(build.exts.presym_preprocessed) + ppp = prereq.ext(build.exts.presym_preprocessed) + if Rake.application.lookup(ppp) || + Rake.application.enhance_with_matching_rule(ppp) + ppps << ppp + end end - file presym.list_path => pps do - presyms = presym.scan(pps) + file presym.list_path => ppps do + presyms = presym.scan(ppps) current_presyms = presym.read_list if File.exist?(presym.list_path) update = presyms != current_presyms presym.write_list(presyms) if update diff --git a/tasks/test.rake b/tasks/test.rake index a18635cc6..32a03fce6 100644 --- a/tasks/test.rake +++ b/tasks/test.rake @@ -10,7 +10,7 @@ namespace :test do |test_ns| end desc "build and run command binaries tests" - task :bin => :all do + task :bin => "rake:all" do test_ns["run:bin"].invoke end @@ -19,9 +19,10 @@ namespace :test do |test_ns| namespace :build do |test_build_ns| desc "build library tests" - task :lib => :all do + task :lib => "rake:all" do MRuby.each_target{|build| build.gem(core: 'mruby-test')} - test_build_ns["lib_without_loading_gem"].invoke + test = test_build_ns["lib_without_loading_gem"] + test.invoke if test end end |
