| 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 406 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 417 const Tool* tool = toolchain_->GetTool(*computed_tool_type); | 417 const Tool* tool = toolchain_->GetTool(*computed_tool_type); |
| 418 if (!tool) | 418 if (!tool) |
| 419 return false; // Tool does not apply for this toolchain.file. | 419 return false; // Tool does not apply for this toolchain.file. |
| 420 | 420 |
| 421 // Figure out what output(s) this compiler produces. | 421 // Figure out what output(s) this compiler produces. |
| 422 SubstitutionWriter::ApplyListToCompilerAsOutputFile( | 422 SubstitutionWriter::ApplyListToCompilerAsOutputFile( |
| 423 this, source, tool->outputs(), outputs); | 423 this, source, tool->outputs(), outputs); |
| 424 return !outputs->empty(); | 424 return !outputs->empty(); |
| 425 } | 425 } |
| 426 | 426 |
| 427 void Target::PullDependentTargetConfigsFrom(const Target* dep) { | |
| 428 MergeAllDependentConfigsFrom(dep, &configs_, &all_dependent_configs_); | |
| 429 MergePublicConfigsFrom(dep, &configs_); | |
| 430 } | |
| 431 | |
| 432 void Target::PullDependentTargetConfigs() { | 427 void Target::PullDependentTargetConfigs() { |
| 433 for (const auto& pair : GetDeps(DEPS_LINKED)) | 428 for (const auto& pair : GetDeps(DEPS_LINKED)) |
| 434 PullDependentTargetConfigsFrom(pair.ptr); | 429 MergeAllDependentConfigsFrom(pair.ptr, &configs_, &all_dependent_configs_); |
| 430 for (const auto& pair : GetDeps(DEPS_LINKED)) |
| 431 MergePublicConfigsFrom(pair.ptr, &configs_); |
| 435 } | 432 } |
| 436 | 433 |
| 437 void Target::PullDependentTargetLibsFrom(const Target* dep, bool is_public) { | 434 void Target::PullDependentTargetLibsFrom(const Target* dep, bool is_public) { |
| 438 // Direct dependent libraries. | 435 // Direct dependent libraries. |
| 439 if (dep->output_type() == STATIC_LIBRARY || | 436 if (dep->output_type() == STATIC_LIBRARY || |
| 440 dep->output_type() == SHARED_LIBRARY || | 437 dep->output_type() == SHARED_LIBRARY || |
| 441 dep->output_type() == SOURCE_SET) | 438 dep->output_type() == SOURCE_SET) |
| 442 inherited_libraries_.Append(dep, is_public); | 439 inherited_libraries_.Append(dep, is_public); |
| 443 | 440 |
| 444 if (dep->output_type() == SHARED_LIBRARY) { | 441 if (dep->output_type() == SHARED_LIBRARY) { |
| (...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 763 check_data_deps = g_scheduler->IsFileGeneratedByWriteRuntimeDeps(out_file); | 760 check_data_deps = g_scheduler->IsFileGeneratedByWriteRuntimeDeps(out_file); |
| 764 // Check object files (much slower and very rare) only if the "normal" | 761 // Check object files (much slower and very rare) only if the "normal" |
| 765 // output check failed. | 762 // output check failed. |
| 766 consider_object_files = !check_data_deps; | 763 consider_object_files = !check_data_deps; |
| 767 if (!EnsureFileIsGeneratedByDependency(this, out_file, true, | 764 if (!EnsureFileIsGeneratedByDependency(this, out_file, true, |
| 768 consider_object_files, | 765 consider_object_files, |
| 769 check_data_deps, &seen_targets)) | 766 check_data_deps, &seen_targets)) |
| 770 g_scheduler->AddUnknownGeneratedInput(this, source); | 767 g_scheduler->AddUnknownGeneratedInput(this, source); |
| 771 } | 768 } |
| 772 } | 769 } |
| OLD | NEW |