Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(354)

Side by Side Diff: tools/gn/ninja_binary_target_writer.cc

Issue 2198433004: Make get_label_info take into account the toolchain for target_gen_dir (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove unused static function Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tools/gn/function_get_path_info.cc ('k') | tools/gn/ninja_create_bundle_target_writer.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/ninja_binary_target_writer.h" 5 #include "tools/gn/ninja_binary_target_writer.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <string.h> 8 #include <string.h>
9 9
10 #include <cstring> 10 #include <cstring>
(...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after
410 410
411 if (target_->inputs().size() == 0) 411 if (target_->inputs().size() == 0)
412 return OutputFile(); // No inputs 412 return OutputFile(); // No inputs
413 413
414 // If we only have one input, return it directly instead of writing a stamp 414 // If we only have one input, return it directly instead of writing a stamp
415 // file for it. 415 // file for it.
416 if (target_->inputs().size() == 1) 416 if (target_->inputs().size() == 1)
417 return OutputFile(settings_->build_settings(), target_->inputs()[0]); 417 return OutputFile(settings_->build_settings(), target_->inputs()[0]);
418 418
419 // Make a stamp file. 419 // Make a stamp file.
420 OutputFile input_stamp_file( 420 OutputFile input_stamp_file =
421 RebasePath(GetTargetOutputDir(target_).value(), 421 GetBuildDirForTargetAsOutputFile(target_, BuildDirType::OBJ);
422 settings_->build_settings()->build_dir(),
423 settings_->build_settings()->root_path_utf8()));
424 input_stamp_file.value().append(target_->label().name()); 422 input_stamp_file.value().append(target_->label().name());
425 input_stamp_file.value().append(".inputs.stamp"); 423 input_stamp_file.value().append(".inputs.stamp");
426 424
427 out_ << "build "; 425 out_ << "build ";
428 path_output_.WriteFile(out_, input_stamp_file); 426 path_output_.WriteFile(out_, input_stamp_file);
429 out_ << ": " 427 out_ << ": "
430 << GetNinjaRulePrefixForToolchain(settings_) 428 << GetNinjaRulePrefixForToolchain(settings_)
431 << Toolchain::ToolTypeToName(Toolchain::TYPE_STAMP); 429 << Toolchain::ToolTypeToName(Toolchain::TYPE_STAMP);
432 430
433 // File inputs. 431 // File inputs.
(...skipping 598 matching lines...) Expand 10 before | Expand all | Expand 10 after
1032 out_ << " "; 1030 out_ << " ";
1033 path_output_.WriteFile(out_, non_linkable_dep->dependency_output_file()); 1031 path_output_.WriteFile(out_, non_linkable_dep->dependency_output_file());
1034 } 1032 }
1035 } 1033 }
1036 } 1034 }
1037 1035
1038 OutputFile NinjaBinaryTargetWriter::GetWindowsPCHFile( 1036 OutputFile NinjaBinaryTargetWriter::GetWindowsPCHFile(
1039 Toolchain::ToolType tool_type) const { 1037 Toolchain::ToolType tool_type) const {
1040 // Use "obj/{dir}/{target_name}_{lang}.pch" which ends up 1038 // Use "obj/{dir}/{target_name}_{lang}.pch" which ends up
1041 // looking like "obj/chrome/browser/browser_cc.pch" 1039 // looking like "obj/chrome/browser/browser_cc.pch"
1042 OutputFile ret = GetTargetOutputDirAsOutputFile(target_); 1040 OutputFile ret = GetBuildDirForTargetAsOutputFile(target_, BuildDirType::OBJ);
1043 ret.value().append(target_->label().name()); 1041 ret.value().append(target_->label().name());
1044 ret.value().push_back('_'); 1042 ret.value().push_back('_');
1045 ret.value().append(GetPCHLangSuffixForToolType(tool_type)); 1043 ret.value().append(GetPCHLangSuffixForToolType(tool_type));
1046 ret.value().append(".pch"); 1044 ret.value().append(".pch");
1047 1045
1048 return ret; 1046 return ret;
1049 } 1047 }
1050 1048
1051 bool NinjaBinaryTargetWriter::CheckForDuplicateObjectFiles( 1049 bool NinjaBinaryTargetWriter::CheckForDuplicateObjectFiles(
1052 const std::vector<OutputFile>& files) const { 1050 const std::vector<OutputFile>& files) const {
(...skipping 14 matching lines...) Expand all
1067 "\n" 1065 "\n"
1068 "In the latter case, either rename one of the files or move one of\n" 1066 "In the latter case, either rename one of the files or move one of\n"
1069 "the sources to a separate source_set to avoid them both being in\n" 1067 "the sources to a separate source_set to avoid them both being in\n"
1070 "the same target."); 1068 "the same target.");
1071 g_scheduler->FailWithError(err); 1069 g_scheduler->FailWithError(err);
1072 return false; 1070 return false;
1073 } 1071 }
1074 } 1072 }
1075 return true; 1073 return true;
1076 } 1074 }
OLDNEW
« no previous file with comments | « tools/gn/function_get_path_info.cc ('k') | tools/gn/ninja_create_bundle_target_writer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698