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

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

Issue 406453002: Hook up symbol files to the Windows GN build. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: tests Created 6 years, 5 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 | « build/toolchain/win/BUILD.gn ('k') | tools/gn/ninja_binary_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/err.h" 5 #include "tools/gn/err.h"
6 #include "tools/gn/functions.h" 6 #include "tools/gn/functions.h"
7 #include "tools/gn/parse_tree.h" 7 #include "tools/gn/parse_tree.h"
8 #include "tools/gn/scheduler.h" 8 #include "tools/gn/scheduler.h"
9 #include "tools/gn/scope.h" 9 #include "tools/gn/scope.h"
10 #include "tools/gn/settings.h" 10 #include "tools/gn/settings.h"
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 "tool: Specify arguments to a toolchain tool."; 153 "tool: Specify arguments to a toolchain tool.";
154 const char kTool_Help[] = 154 const char kTool_Help[] =
155 "tool: Specify arguments to a toolchain tool.\n" 155 "tool: Specify arguments to a toolchain tool.\n"
156 "\n" 156 "\n"
157 " tool(<command type>) { <command flags> }\n" 157 " tool(<command type>) { <command flags> }\n"
158 "\n" 158 "\n"
159 " Used inside a toolchain definition to define a command to run for a\n" 159 " Used inside a toolchain definition to define a command to run for a\n"
160 " given file type. See also \"gn help toolchain\".\n" 160 " given file type. See also \"gn help toolchain\".\n"
161 "\n" 161 "\n"
162 "Command types:\n" 162 "Command types:\n"
163 "\n"
163 " The following values may be passed to the tool() function for the type\n" 164 " The following values may be passed to the tool() function for the type\n"
164 " of the command:\n" 165 " of the command:\n"
165 "\n" 166 "\n"
166 " \"cc\", \"cxx\", \"objc\", \"objcxx\", \"asm\", \"alink\", \"solink\",\n" 167 " \"cc\", \"cxx\", \"objc\", \"objcxx\", \"asm\", \"alink\", \"solink\",\n"
167 " \"link\", \"stamp\", \"copy\"\n" 168 " \"link\", \"stamp\", \"copy\"\n"
168 "\n" 169 "\n"
169 "Command flags:\n" 170 "Command flags\n"
170 "\n" 171 "\n"
171 " These variables may be specified in the { } block after the tool call.\n" 172 " These variables may be specified in the { } block after the tool call.\n"
172 " They are passed directly to Ninja. See the ninja documentation for how\n" 173 " They are passed directly to Ninja. See the ninja documentation for how\n"
173 " they work. Don't forget to backslash-escape $ required by Ninja to\n" 174 " they work. Don't forget to backslash-escape $ required by Ninja to\n"
174 " prevent GN from doing variable expansion.\n" 175 " prevent GN from doing variable expansion.\n"
175 "\n" 176 "\n"
176 " command, depfile, depsformat, description, pool, restat, rspfile,\n" 177 " command, depfile, depsformat, description, pool, restat, rspfile,\n"
177 " rspfile_content\n" 178 " rspfile_content\n"
178 "\n" 179 "\n"
179 " (Note that GN uses \"depsformat\" for Ninja's \"deps\" variable to\n" 180 " (Note that GN uses \"depsformat\" for Ninja's \"deps\" variable to\n"
180 " avoid confusion with dependency lists.)\n" 181 " avoid confusion with dependency lists.)\n"
181 "\n" 182 "\n"
182 " Additionally, lib_prefix and lib_dir_prefix may be used for the link\n" 183 " Additionally, lib_prefix and lib_dir_prefix may be used for the link\n"
183 " tools. These strings will be prepended to the libraries and library\n" 184 " tools. These strings will be prepended to the libraries and library\n"
184 " search directories, respectively, because linkers differ on how to\n" 185 " search directories, respectively, because linkers differ on how to\n"
185 " specify them.\n" 186 " specify them.\n"
186 "\n" 187 "\n"
187 " Note: On Mac libraries with names ending in \".framework\" will be\n" 188 " Note: On Mac libraries with names ending in \".framework\" will be\n"
188 " added to the link like with a \"-framework\" switch and the lib prefix\n" 189 " added to the link like with a \"-framework\" switch and the lib prefix\n"
189 " will be ignored.\n" 190 " will be ignored.\n"
190 "\n" 191 "\n"
191 "Example:\n" 192 "Ninja variables available to tool invocations\n"
193 "\n"
194 " When writing tool commands, you use the various built-in Ninja\n"
195 " variables like \"$in\" and \"$out\" (note that the $ must be escaped\n"
196 " for it to be passed to Ninja, so write \"\\$in\" in the command\n"
197 " string).\n"
198 "\n"
199 " GN defines the following variables for binary targets to access the\n"
200 " various computed information needed for compiling:\n"
201 "\n"
202 " - Compiler flags: \"cflags\", \"cflags_c\", \"cflags_cc\",\n"
203 " \"cflags_objc\", \"cflags_objcc\"\n"
204 "\n"
205 " - Linker flags: \"ldflags\", \"libs\"\n"
206 "\n"
207 " GN sets these other variables with target information that can be\n"
208 " used for computing names for supplimetary files:\n"
209 "\n"
210 " - \"target_name\": The name of the current target with no\n"
211 " path information. For example \"mylib\".\n"
212 "\n"
213 " - \"target_out_dir\": The value of \"target_out_dir\" from the BUILD\n"
214 " file for this target (see \"gn help target_out_dir\"), relative\n"
215 " to the root build directory with no trailing slash.\n"
216 "\n"
217 " - \"root_out_dir\": The value of \"root_out_dir\" from the BUILD\n"
218 " file for this target (see \"gn help root_out_dir\"), relative\n"
219 " to the root build directory with no trailing slash.\n"
220 "\n"
221 "Example\n"
222 "\n"
192 " toolchain(\"my_toolchain\") {\n" 223 " toolchain(\"my_toolchain\") {\n"
193 " # Put these at the top to apply to all tools below.\n" 224 " # Put these at the top to apply to all tools below.\n"
194 " lib_prefix = \"-l\"\n" 225 " lib_prefix = \"-l\"\n"
195 " lib_dir_prefix = \"-L\"\n" 226 " lib_dir_prefix = \"-L\"\n"
196 "\n" 227 "\n"
197 " tool(\"cc\") {\n" 228 " tool(\"cc\") {\n"
198 " command = \"gcc \\$in -o \\$out\"\n" 229 " command = \"gcc \\$in -o \\$out\"\n"
199 " description = \"GCC \\$in\"\n" 230 " description = \"GCC \\$in\"\n"
200 " }\n" 231 " }\n"
201 " tool(\"cxx\") {\n" 232 " tool(\"cxx\") {\n"
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
331 return Value(); 362 return Value();
332 363
333 Scope::KeyValueMap values; 364 Scope::KeyValueMap values;
334 block_scope.GetCurrentScopeValues(&values); 365 block_scope.GetCurrentScopeValues(&values);
335 toolchain->args() = values; 366 toolchain->args() = values;
336 367
337 return Value(); 368 return Value();
338 } 369 }
339 370
340 } // namespace functions 371 } // namespace functions
OLDNEW
« no previous file with comments | « build/toolchain/win/BUILD.gn ('k') | tools/gn/ninja_binary_target_writer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698