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 "tools/gn/target.h" | 5 #include "tools/gn/target.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 | 10 |
(...skipping 525 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
536 case GROUP: | 536 case GROUP: |
537 case BUNDLE_DATA: | 537 case BUNDLE_DATA: |
538 case CREATE_BUNDLE: | 538 case CREATE_BUNDLE: |
539 case SOURCE_SET: | 539 case SOURCE_SET: |
540 case COPY_FILES: | 540 case COPY_FILES: |
541 case ACTION: | 541 case ACTION: |
542 case ACTION_FOREACH: { | 542 case ACTION_FOREACH: { |
543 // These don't get linked to and use stamps which should be the first | 543 // These don't get linked to and use stamps which should be the first |
544 // entry in the outputs. These stamps are named | 544 // entry in the outputs. These stamps are named |
545 // "<target_out_dir>/<targetname>.stamp". | 545 // "<target_out_dir>/<targetname>.stamp". |
546 dependency_output_file_ = GetTargetOutputDirAsOutputFile(this); | 546 dependency_output_file_ = |
| 547 GetBuildDirForTargetAsOutputFile(this, BuildDirType::OBJ); |
547 dependency_output_file_.value().append(GetComputedOutputName()); | 548 dependency_output_file_.value().append(GetComputedOutputName()); |
548 dependency_output_file_.value().append(".stamp"); | 549 dependency_output_file_.value().append(".stamp"); |
549 break; | 550 break; |
550 } | 551 } |
551 case EXECUTABLE: | 552 case EXECUTABLE: |
552 case LOADABLE_MODULE: | 553 case LOADABLE_MODULE: |
553 // Executables and loadable modules don't get linked to, but the first | 554 // Executables and loadable modules don't get linked to, but the first |
554 // output is used for dependency management. | 555 // output is used for dependency management. |
555 CHECK_GE(tool->outputs().list().size(), 1u); | 556 CHECK_GE(tool->outputs().list().size(), 1u); |
556 check_tool_outputs = true; | 557 check_tool_outputs = true; |
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
769 check_data_deps = g_scheduler->IsFileGeneratedByWriteRuntimeDeps(out_file); | 770 check_data_deps = g_scheduler->IsFileGeneratedByWriteRuntimeDeps(out_file); |
770 // Check object files (much slower and very rare) only if the "normal" | 771 // Check object files (much slower and very rare) only if the "normal" |
771 // output check failed. | 772 // output check failed. |
772 consider_object_files = !check_data_deps; | 773 consider_object_files = !check_data_deps; |
773 if (!EnsureFileIsGeneratedByDependency(this, out_file, true, | 774 if (!EnsureFileIsGeneratedByDependency(this, out_file, true, |
774 consider_object_files, | 775 consider_object_files, |
775 check_data_deps, &seen_targets)) | 776 check_data_deps, &seen_targets)) |
776 g_scheduler->AddUnknownGeneratedInput(this, source); | 777 g_scheduler->AddUnknownGeneratedInput(this, source); |
777 } | 778 } |
778 } | 779 } |
OLD | NEW |