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

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

Issue 2926013002: Support explicit pools in actions (Closed)
Patch Set: Support explicit pools in actions Created 3 years, 6 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
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/toolchain.h" 5 #include "tools/gn/toolchain.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <string.h> 8 #include <string.h>
9 #include <utility> 9 #include <utility>
10 10
11 #include "base/logging.h" 11 #include "base/logging.h"
12 #include "tools/gn/target.h" 12 #include "tools/gn/target.h"
13 #include "tools/gn/value.h" 13 #include "tools/gn/value.h"
14 14
15 const char* Toolchain::kToolCc = "cc"; 15 const char* Toolchain::kToolCc = "cc";
16 const char* Toolchain::kToolCxx = "cxx"; 16 const char* Toolchain::kToolCxx = "cxx";
17 const char* Toolchain::kToolObjC = "objc"; 17 const char* Toolchain::kToolObjC = "objc";
18 const char* Toolchain::kToolObjCxx = "objcxx"; 18 const char* Toolchain::kToolObjCxx = "objcxx";
19 const char* Toolchain::kToolRc = "rc"; 19 const char* Toolchain::kToolRc = "rc";
20 const char* Toolchain::kToolAsm = "asm"; 20 const char* Toolchain::kToolAsm = "asm";
21 const char* Toolchain::kToolAlink = "alink"; 21 const char* Toolchain::kToolAlink = "alink";
22 const char* Toolchain::kToolSolink = "solink"; 22 const char* Toolchain::kToolSolink = "solink";
23 const char* Toolchain::kToolSolinkModule = "solink_module"; 23 const char* Toolchain::kToolSolinkModule = "solink_module";
24 const char* Toolchain::kToolLink = "link"; 24 const char* Toolchain::kToolLink = "link";
25 const char* Toolchain::kToolStamp = "stamp"; 25 const char* Toolchain::kToolStamp = "stamp";
26 const char* Toolchain::kToolCopy = "copy"; 26 const char* Toolchain::kToolCopy = "copy";
27 const char* Toolchain::kToolCopyBundleData = "copy_bundle_data"; 27 const char* Toolchain::kToolCopyBundleData = "copy_bundle_data";
28 const char* Toolchain::kToolCompileXCAssets = "compile_xcassets"; 28 const char* Toolchain::kToolCompileXCAssets = "compile_xcassets";
29 const char* Toolchain::kToolAction = "action";
29 30
30 Toolchain::Toolchain(const Settings* settings, const Label& label) 31 Toolchain::Toolchain(const Settings* settings, const Label& label)
31 : Item(settings, label), 32 : Item(settings, label),
32 setup_complete_(false) { 33 setup_complete_(false) {
33 } 34 }
34 35
35 Toolchain::~Toolchain() { 36 Toolchain::~Toolchain() {
36 } 37 }
37 38
38 Toolchain* Toolchain::AsToolchain() { 39 Toolchain* Toolchain::AsToolchain() {
(...skipping 13 matching lines...) Expand all
52 if (str == kToolRc) return TYPE_RC; 53 if (str == kToolRc) return TYPE_RC;
53 if (str == kToolAsm) return TYPE_ASM; 54 if (str == kToolAsm) return TYPE_ASM;
54 if (str == kToolAlink) return TYPE_ALINK; 55 if (str == kToolAlink) return TYPE_ALINK;
55 if (str == kToolSolink) return TYPE_SOLINK; 56 if (str == kToolSolink) return TYPE_SOLINK;
56 if (str == kToolSolinkModule) return TYPE_SOLINK_MODULE; 57 if (str == kToolSolinkModule) return TYPE_SOLINK_MODULE;
57 if (str == kToolLink) return TYPE_LINK; 58 if (str == kToolLink) return TYPE_LINK;
58 if (str == kToolStamp) return TYPE_STAMP; 59 if (str == kToolStamp) return TYPE_STAMP;
59 if (str == kToolCopy) return TYPE_COPY; 60 if (str == kToolCopy) return TYPE_COPY;
60 if (str == kToolCopyBundleData) return TYPE_COPY_BUNDLE_DATA; 61 if (str == kToolCopyBundleData) return TYPE_COPY_BUNDLE_DATA;
61 if (str == kToolCompileXCAssets) return TYPE_COMPILE_XCASSETS; 62 if (str == kToolCompileXCAssets) return TYPE_COMPILE_XCASSETS;
63 if (str == kToolAction) return TYPE_ACTION;
62 return TYPE_NONE; 64 return TYPE_NONE;
63 } 65 }
64 66
65 // static 67 // static
66 std::string Toolchain::ToolTypeToName(ToolType type) { 68 std::string Toolchain::ToolTypeToName(ToolType type) {
67 switch (type) { 69 switch (type) {
68 case TYPE_CC: return kToolCc; 70 case TYPE_CC: return kToolCc;
69 case TYPE_CXX: return kToolCxx; 71 case TYPE_CXX: return kToolCxx;
70 case TYPE_OBJC: return kToolObjC; 72 case TYPE_OBJC: return kToolObjC;
71 case TYPE_OBJCXX: return kToolObjCxx; 73 case TYPE_OBJCXX: return kToolObjCxx;
72 case TYPE_RC: return kToolRc; 74 case TYPE_RC: return kToolRc;
73 case TYPE_ASM: return kToolAsm; 75 case TYPE_ASM: return kToolAsm;
74 case TYPE_ALINK: return kToolAlink; 76 case TYPE_ALINK: return kToolAlink;
75 case TYPE_SOLINK: return kToolSolink; 77 case TYPE_SOLINK: return kToolSolink;
76 case TYPE_SOLINK_MODULE: return kToolSolinkModule; 78 case TYPE_SOLINK_MODULE: return kToolSolinkModule;
77 case TYPE_LINK: return kToolLink; 79 case TYPE_LINK: return kToolLink;
78 case TYPE_STAMP: return kToolStamp; 80 case TYPE_STAMP: return kToolStamp;
79 case TYPE_COPY: return kToolCopy; 81 case TYPE_COPY: return kToolCopy;
80 case TYPE_COPY_BUNDLE_DATA: return kToolCopyBundleData; 82 case TYPE_COPY_BUNDLE_DATA: return kToolCopyBundleData;
81 case TYPE_COMPILE_XCASSETS: return kToolCompileXCAssets; 83 case TYPE_COMPILE_XCASSETS: return kToolCompileXCAssets;
84 case TYPE_ACTION: return kToolAction;
82 default: 85 default:
83 NOTREACHED(); 86 NOTREACHED();
84 return std::string(); 87 return std::string();
85 } 88 }
86 } 89 }
87 90
88 Tool* Toolchain::GetTool(ToolType type) { 91 Tool* Toolchain::GetTool(ToolType type) {
89 DCHECK(type != TYPE_NONE); 92 DCHECK(type != TYPE_NONE);
90 return tools_[static_cast<size_t>(type)].get(); 93 return tools_[static_cast<size_t>(type)].get();
91 } 94 }
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
169 return TYPE_STAMP; 172 return TYPE_STAMP;
170 default: 173 default:
171 NOTREACHED(); 174 NOTREACHED();
172 return Toolchain::TYPE_NONE; 175 return Toolchain::TYPE_NONE;
173 } 176 }
174 } 177 }
175 178
176 const Tool* Toolchain::GetToolForTargetFinalOutput(const Target* target) const { 179 const Tool* Toolchain::GetToolForTargetFinalOutput(const Target* target) const {
177 return tools_[GetToolTypeForTargetFinalOutput(target)].get(); 180 return tools_[GetToolTypeForTargetFinalOutput(target)].get();
178 } 181 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698