summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--tasks/presym.rake12
1 files changed, 8 insertions, 4 deletions
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