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

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

Issue 22290010: Add support for data deps. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: remove switch Created 7 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 | Annotate | Revision Log
« no previous file with comments | « tools/gn/toolchain.h ('k') | tools/gn/toolchain_manager.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/toolchain.h" 5 #include "tools/gn/toolchain.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 8
9 const char* Toolchain::kToolCc = "cc"; 9 const char* Toolchain::kToolCc = "cc";
10 const char* Toolchain::kToolCxx = "cxx"; 10 const char* Toolchain::kToolCxx = "cxx";
11 const char* Toolchain::kToolObjC = "objc"; 11 const char* Toolchain::kToolObjC = "objc";
12 const char* Toolchain::kToolObjCxx = "objcxx"; 12 const char* Toolchain::kToolObjCxx = "objcxx";
13 const char* Toolchain::kToolAsm = "asm"; 13 const char* Toolchain::kToolAsm = "asm";
14 const char* Toolchain::kToolAlink = "alink"; 14 const char* Toolchain::kToolAlink = "alink";
15 const char* Toolchain::kToolSolink = "solink"; 15 const char* Toolchain::kToolSolink = "solink";
16 const char* Toolchain::kToolSolinkModule = "solink_module";
17 const char* Toolchain::kToolLink = "link"; 16 const char* Toolchain::kToolLink = "link";
18 const char* Toolchain::kToolStamp = "stamp"; 17 const char* Toolchain::kToolStamp = "stamp";
19 const char* Toolchain::kToolCopy = "copy"; 18 const char* Toolchain::kToolCopy = "copy";
20 19
21 Toolchain::Tool::Tool() { 20 Toolchain::Tool::Tool() {
22 } 21 }
23 22
24 Toolchain::Tool::~Tool() { 23 Toolchain::Tool::~Tool() {
25 } 24 }
26 25
(...skipping 13 matching lines...) Expand all
40 39
41 // static 40 // static
42 Toolchain::ToolType Toolchain::ToolNameToType(const base::StringPiece& str) { 41 Toolchain::ToolType Toolchain::ToolNameToType(const base::StringPiece& str) {
43 if (str == kToolCc) return TYPE_CC; 42 if (str == kToolCc) return TYPE_CC;
44 if (str == kToolCxx) return TYPE_CXX; 43 if (str == kToolCxx) return TYPE_CXX;
45 if (str == kToolObjC) return TYPE_OBJC; 44 if (str == kToolObjC) return TYPE_OBJC;
46 if (str == kToolObjCxx) return TYPE_OBJCXX; 45 if (str == kToolObjCxx) return TYPE_OBJCXX;
47 if (str == kToolAsm) return TYPE_ASM; 46 if (str == kToolAsm) return TYPE_ASM;
48 if (str == kToolAlink) return TYPE_ALINK; 47 if (str == kToolAlink) return TYPE_ALINK;
49 if (str == kToolSolink) return TYPE_SOLINK; 48 if (str == kToolSolink) return TYPE_SOLINK;
50 if (str == kToolSolinkModule) return TYPE_SOLINK_MODULE;
51 if (str == kToolLink) return TYPE_LINK; 49 if (str == kToolLink) return TYPE_LINK;
52 if (str == kToolStamp) return TYPE_STAMP; 50 if (str == kToolStamp) return TYPE_STAMP;
53 if (str == kToolCopy) return TYPE_COPY; 51 if (str == kToolCopy) return TYPE_COPY;
54 return TYPE_NONE; 52 return TYPE_NONE;
55 } 53 }
56 54
57 // static 55 // static
58 std::string Toolchain::ToolTypeToName(ToolType type) { 56 std::string Toolchain::ToolTypeToName(ToolType type) {
59 switch (type) { 57 switch (type) {
60 case TYPE_CC: return kToolCc; 58 case TYPE_CC: return kToolCc;
61 case TYPE_CXX: return kToolCxx; 59 case TYPE_CXX: return kToolCxx;
62 case TYPE_OBJC: return kToolObjC; 60 case TYPE_OBJC: return kToolObjC;
63 case TYPE_OBJCXX: return kToolObjCxx; 61 case TYPE_OBJCXX: return kToolObjCxx;
64 case TYPE_ASM: return kToolAsm; 62 case TYPE_ASM: return kToolAsm;
65 case TYPE_ALINK: return kToolAlink; 63 case TYPE_ALINK: return kToolAlink;
66 case TYPE_SOLINK: return kToolSolink; 64 case TYPE_SOLINK: return kToolSolink;
67 case TYPE_SOLINK_MODULE: return kToolSolinkModule;
68 case TYPE_LINK: return kToolLink; 65 case TYPE_LINK: return kToolLink;
69 case TYPE_STAMP: return kToolStamp; 66 case TYPE_STAMP: return kToolStamp;
70 case TYPE_COPY: return kToolCopy; 67 case TYPE_COPY: return kToolCopy;
71 default: 68 default:
72 NOTREACHED(); 69 NOTREACHED();
73 return std::string(); 70 return std::string();
74 } 71 }
75 } 72 }
76 73
77 const Toolchain::Tool& Toolchain::GetTool(ToolType type) const { 74 const Toolchain::Tool& Toolchain::GetTool(ToolType type) const {
78 DCHECK(type != TYPE_NONE); 75 DCHECK(type != TYPE_NONE);
79 return tools_[static_cast<size_t>(type)]; 76 return tools_[static_cast<size_t>(type)];
80 } 77 }
81 78
82 void Toolchain::SetTool(ToolType type, const Tool& t) { 79 void Toolchain::SetTool(ToolType type, const Tool& t) {
83 DCHECK(type != TYPE_NONE); 80 DCHECK(type != TYPE_NONE);
84 tools_[static_cast<size_t>(type)] = t; 81 tools_[static_cast<size_t>(type)] = t;
85 } 82 }
OLDNEW
« no previous file with comments | « tools/gn/toolchain.h ('k') | tools/gn/toolchain_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698