OLD | NEW |
---|---|
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <stddef.h> | 5 #include <stddef.h> |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <set> | 8 #include <set> |
9 #include <sstream> | 9 #include <sstream> |
10 | 10 |
(...skipping 320 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
331 if (target->output_type() == Target::ACTION) { | 331 if (target->output_type() == Target::ACTION) { |
332 // Action, print out outputs, don't apply sources to it. | 332 // Action, print out outputs, don't apply sources to it. |
333 for (const auto& elem : target->action_values().outputs().list()) { | 333 for (const auto& elem : target->action_values().outputs().list()) { |
334 OutputString(" " + elem.AsString() + "\n"); | 334 OutputString(" " + elem.AsString() + "\n"); |
335 } | 335 } |
336 } else if (target->output_type() == Target::CREATE_BUNDLE) { | 336 } else if (target->output_type() == Target::CREATE_BUNDLE) { |
337 std::vector<SourceFile> output_files; | 337 std::vector<SourceFile> output_files; |
338 target->bundle_data().GetOutputsAsSourceFiles(target->settings(), | 338 target->bundle_data().GetOutputsAsSourceFiles(target->settings(), |
339 &output_files); | 339 &output_files); |
340 PrintFileList(output_files, std::string(), true, false); | 340 PrintFileList(output_files, std::string(), true, false); |
341 } else if (target->output_type() == Target::EXECUTABLE) { | |
342 const Tool* tool = target->toolchain()->GetToolForTargetFinalOutput(target); | |
343 | |
344 std::vector<OutputFile> output_files; | |
345 SubstitutionWriter::ApplyListToLinkerAsOutputFile( | |
346 target, tool, tool->outputs(), &output_files); | |
347 | |
348 std::vector<SourceFile> output_files_as_source_file; | |
349 for (const OutputFile& output_file : output_files) { | |
350 output_files_as_source_file.push_back( | |
351 output_file.AsSourceFile(target->settings()->build_settings())); | |
352 } | |
353 | |
354 PrintFileList(output_files_as_source_file, std::string(), true, false); | |
341 } else { | 355 } else { |
brettw
2016/06/29 23:12:09
Currently the "outputs" section was actually the o
sdefresne
2016/07/01 13:12:40
Done.
| |
342 const SubstitutionList& outputs = target->action_values().outputs(); | 356 const SubstitutionList& outputs = target->action_values().outputs(); |
343 if (!outputs.required_types().empty()) { | 357 if (!outputs.required_types().empty()) { |
344 // Display the pattern and resolved pattern separately, since there are | 358 // Display the pattern and resolved pattern separately, since there are |
345 // subtitutions used. | 359 // subtitutions used. |
346 OutputString(" Output pattern\n"); | 360 OutputString(" Output pattern\n"); |
347 for (const auto& elem : outputs.list()) | 361 for (const auto& elem : outputs.list()) |
348 OutputString(" " + elem.AsString() + "\n"); | 362 OutputString(" " + elem.AsString() + "\n"); |
349 | 363 |
350 // Now display what that resolves to given the sources. | 364 // Now display what that resolves to given the sources. |
351 OutputString("\n Resolved output file list\n"); | 365 OutputString("\n Resolved output file list\n"); |
(...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
609 if (what.empty() || what == variables::kDepfile) { | 623 if (what.empty() || what == variables::kDepfile) { |
610 PrintDepfile(target, display_headers); | 624 PrintDepfile(target, display_headers); |
611 found_match = true; | 625 found_match = true; |
612 } | 626 } |
613 } | 627 } |
614 | 628 |
615 // Outputs. | 629 // Outputs. |
616 if (target->output_type() == Target::ACTION || | 630 if (target->output_type() == Target::ACTION || |
617 target->output_type() == Target::ACTION_FOREACH || | 631 target->output_type() == Target::ACTION_FOREACH || |
618 target->output_type() == Target::COPY_FILES || | 632 target->output_type() == Target::COPY_FILES || |
619 target->output_type() == Target::CREATE_BUNDLE) { | 633 target->output_type() == Target::CREATE_BUNDLE || |
634 target->output_type() == Target::EXECUTABLE) { | |
620 if (what.empty() || what == variables::kOutputs) { | 635 if (what.empty() || what == variables::kOutputs) { |
621 PrintOutputs(target, display_headers); | 636 PrintOutputs(target, display_headers); |
622 found_match = true; | 637 found_match = true; |
623 } | 638 } |
624 } | 639 } |
625 | 640 |
626 // Values from configs only apply to binary targets. | 641 // Values from configs only apply to binary targets. |
627 if (is_binary_output) { | 642 if (is_binary_output) { |
628 #define CONFIG_VALUE_ARRAY_HANDLER(name, type) \ | 643 #define CONFIG_VALUE_ARRAY_HANDLER(name, type) \ |
629 if (what.empty() || what == #name) { \ | 644 if (what.empty() || what == #name) { \ |
(...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
924 printed_output = true; | 939 printed_output = true; |
925 | 940 |
926 if (!PrintConfig(config, what_to_print, display_item_header)) | 941 if (!PrintConfig(config, what_to_print, display_item_header)) |
927 return 1; | 942 return 1; |
928 } | 943 } |
929 | 944 |
930 return 0; | 945 return 0; |
931 } | 946 } |
932 | 947 |
933 } // namespace commands | 948 } // namespace commands |
OLD | NEW |