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

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

Issue 23606031: GN: Use build directory for CD for scripts (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 3 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/variables.h ('k') | no next file » | 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/variables.h" 5 #include "tools/gn/variables.h"
6 6
7 namespace variables { 7 namespace variables {
8 8
9 // Built-in variables ---------------------------------------------------------- 9 // Built-in variables ----------------------------------------------------------
10 10
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 const char kPythonPath[] = "python_path"; 72 const char kPythonPath[] = "python_path";
73 const char kPythonPath_HelpShort[] = 73 const char kPythonPath_HelpShort[] =
74 "python_path: [string] Absolute path of Python."; 74 "python_path: [string] Absolute path of Python.";
75 const char kPythonPath_Help[] = 75 const char kPythonPath_Help[] =
76 "python_path: Absolute path of Python.\n" 76 "python_path: Absolute path of Python.\n"
77 "\n" 77 "\n"
78 " Normally used in toolchain definitions if running some command\n" 78 " Normally used in toolchain definitions if running some command\n"
79 " requires Python. You will normally not need this when invoking scripts\n" 79 " requires Python. You will normally not need this when invoking scripts\n"
80 " since GN automatically finds it for you.\n"; 80 " since GN automatically finds it for you.\n";
81 81
82 const char kRelativeBuildToSourceRootDir[] =
83 "relative_build_to_source_root_dir";
84 const char kRelativeBuildToSourceRootDir_HelpShort[] =
85 "relative_build_to_source_root_dir: [string] Relative location of root";
86 const char kRelativeBuildToSourceRootDir_Help[] =
87 "relative_build_to_source_root_dir: Relative location of root.\n"
88 "\n"
89 " A relative path from the build directory to the root of the source\n"
90 " tree, with no terminating slash. The build directory will be the\n"
91 " directory when executing normal build commands (except for scripts).\n"
92 "\n"
93 " If the checkout is in \"/foo/src/\" and the build directory is in\n"
94 " \"/foo/src/out/Debug/\" then the relative build to source root dir\n"
95 " will be \"../..\".\n"
96 "\n"
97 " See also relative_source_root_dir.\n"
98 "\n"
99 "Example:\n"
100 " This is typically used to invoke tools checked out in the tree:\n"
101 "\n"
102 " tool(\"link\") {\n"
103 " command = \"$relative_build_to_source_root_dir/third_party/gold/ld\n"
104 " }\n";
105
106 const char kRelativeRootGenDir[] = "relative_root_gen_dir";
107 const char kRelativeRootGenDir_HelpShort[] =
108 "relative_root_gen_dir: [string] Relative root dir for generated files.";
109 const char kRelativeRootGenDir_Help[] =
110 "relative_root_gen_dir: Relative root for generated files.\n"
111 "\n"
112 " Relative path from the directory of the current build file to the\n"
113 " root of the generated file directory hierarchy for the current\n"
114 " toolchain.\n"
115 "\n"
116 " Generally scripts should use \"relative_target_output_dir\" instead.\n"
117 "\n"
118 " See also \"root_gen_dir\".\n"
119 "\n"
120 "Example:\n"
121 "\n"
122 " If your current build file is in \"//tools\", you might write\n"
123 " args = [ \"$relative_root_gen_dir/output.txt\" ]\n";
124
125 const char kRelativeRootOutputDir[] = "relative_root_output_dir";
126 const char kRelativeRootOutputDir_HelpShort[] =
127 "relative_root_output_dir: [string] Relative dir for output files.";
128 const char kRelativeRootOutputDir_Help[] =
129 "relative_root_output_dir: Relative dir for output files.\n"
130 "\n"
131 " Relative path from the directory of the current build file to the\n"
132 " current toolchain's root build output directory.\n"
133 "\n"
134 " Generally scripts should use \"relative_target_output_dir\" instead.\n";
135
136 extern const char kRelativeSourceRootDir[] = "relative_source_root_dir";
137 extern const char kRelativeSourceRootDir_HelpShort[] =
138 "relative_source_root_dir: [string] Relative location of root.";
139 extern const char kRelativeSourceRootDir_Help[] =
140 "relative_source_root_dir: Relative location of root.\n"
141 "\n"
142 " A relative path from the current source directory to the root of the\n"
143 " source tree, with no terminating slash. The build directory will be\n"
144 " the directory when executing scripts.\n"
145 "\n"
146 " If the checkout is in \"/foo/src/\" and the build directory is in\n"
147 " \"/foo/src/out/Debug/\" then the relative build to source root dir\n"
148 " will be \"../..\".\n"
149 "\n"
150 " See also relative_build_to_source_root_dir.\n"
151 "\n"
152 "Example:\n"
153 " This is typically used to invoke tools checked out in the tree:\n"
154 "\n"
155 " tool(\"link\") {\n"
156 " command = \"$relative_build_to_source_root_dir/third_party/gold/ld\n"
157 " }\n";
158
159 const char kRelativeTargetGenDir[] = "relative_target_gen_dir";
160 const char kRelativeTargetGenDir_HelpShort[] =
161 "relative_target_gen_dir: [string] Relative dir for generated files.";
162 const char kRelativeTargetGenDir_Help[] =
163 "relative_target_gen_dir: Relative dir for generated files.\n"
164 "\n"
165 " Relative path from the directory of the current build file to the\n"
166 " current target's generated file directory.\n"
167 "\n"
168 " Normally used when invoking scripts (the current directory of which is\n"
169 " that of the invoking buildfile) that need to write files.\n"
170 "\n"
171 " Scripts generating final rather than intermediate files should use the\n"
172 " \"relative_target_output_dir\" instead.\n"
173 "\n"
174 " See also \"target_gen_dir\".\n"
175 "\n"
176 "Example:\n"
177 "\n"
178 " If your current build file is in \"//tools\", you might write\n"
179 " args = [ \"$relative_root_gen_dir/output.txt\" ]\n";
180
181 const char kRelativeTargetOutputDir[] = "relative_target_output_dir";
182 const char kRelativeTargetOutputDir_HelpShort[] =
183 "relative_target_output_dir: [string] Relative dir for build results.";
184 const char kRelativeTargetOutputDir_Help[] =
185 "relative_target_output_dir: Relative dir for build results."
186 "\n"
187 " Relative path from the directory of the current build file to the\n"
188 " current target's generated file directory.\n"
189 "\n"
190 " Normally used when invoking scripts (the current directory of which is\n"
191 " that of the invoking buildfile) that need to write files.\n"
192 "\n"
193 " Scripts generating intermediate files rather than final output files\n"
194 " should use the \"relative_target_output_dir\" instead.\n"
195 "\n"
196 "Example:\n"
197 "\n"
198 " If your current build file is in \"//tools\", you might write\n"
199 " args = [ \"$relative_target_output_dir/final.lib\" ]\n";
200
201 const char kRootGenDir[] = "root_gen_dir"; 82 const char kRootGenDir[] = "root_gen_dir";
202 const char kRootGenDir_HelpShort[] = 83 const char kRootGenDir_HelpShort[] =
203 "root_gen_dir: [string] Absolute root dir for generated files."; 84 "root_gen_dir: [string] Directory for the toolchain's generated files.";
204 const char kRootGenDir_Help[] = 85 const char kRootGenDir_Help[] =
205 "root_gen_dir: Absolute root dir for generated files.\n" 86 "root_gen_dir: Directory for the toolchain's generated files.\n"
206 "\n" 87 "\n"
207 " Absolute path to the root of the generated output directory tree for\n" 88 " Absolute path to the root of the generated output directory tree for\n"
208 " the current toolchain. An example value might be \"//out/Debug/gen\".\n" 89 " the current toolchain. An example value might be \"//out/Debug/gen\".\n"
209 " It will not have a trailing slash.\n" 90 " It will not have a trailing slash.\n"
210 "\n" 91 "\n"
211 " This is primarily useful for setting up include paths for generated\n" 92 " This is primarily useful for setting up include paths for generated\n"
212 " files. Scripts will want the \"relative_root_gen_dir\" instead\n" 93 " files. If you are passing this to a script, you will want to pass it\n"
213 " which will be relative to the scripts' current directory.\n" 94 " through to_build_path() (see \"gn help to_build_path\") to convert it\n"
95 " to be relative to the build directory.\n"
214 "\n" 96 "\n"
215 " See also \"relative_root_gen_dir\" and \"target_gen_dir\".\n"; 97 " See also \"target_gen_dir\" which is usually a better location for\n"
98 " generated files. It will be inside the root generated dir.\n";
99
100 const char kRootOutDir[] = "root_out_dir";
101 const char kRootOutDir_HelpShort[] =
102 "root_out_dir: [string] Root directory for toolchain output files.";
103 const char kRootOutDir_Help[] =
104 "root_out_dir: [string] Root directory for toolchain output files.\n"
105 "\n"
106 " Absolute path to the root of the output directory tree for the current\n"
107 " toolchain. An example value might be \"//out/Debug/gen\". It will not\n"
108 " have a trailing slash.\n"
109 "\n"
110 " This is primarily useful for setting up script calls. If you are\n"
111 " passing this to a script, you will want to pass it through\n"
112 " to_build_path() (see \"gn help to_build_path\") to convert it\n"
113 " to be relative to the build directory.\n"
114 "\n"
115 " See also \"target_out_dir\" which is usually a better location for\n"
116 " output files. It will be inside the root output dir.\n"
117 "\n"
118 "Example:\n"
119 "\n"
120 " custom(\"myscript\") {\n"
121 " # Pass the output dir to the script.\n"
122 " args = [ \"-o\", to_build_path(root_out_dir) ]\n"
123 " }\n";
216 124
217 const char kTargetGenDir[] = "target_gen_dir"; 125 const char kTargetGenDir[] = "target_gen_dir";
218 const char kTargetGenDir_HelpShort[] = 126 const char kTargetGenDir_HelpShort[] =
219 "target_gen_dir: [string] Absolute dir for generated files."; 127 "target_gen_dir: [string] Directory for a target's generated files.";
220 const char kTargetGenDir_Help[] = 128 const char kTargetGenDir_Help[] =
221 "target_gen_dir: Absolute dir for generated files.\n" 129 "target_gen_dir: Directory for a target's generated files.\n"
222 "\n" 130 "\n"
223 " Absolute path to the target's generated file directory. If your\n" 131 " Absolute path to the target's generated file directory. If your\n"
224 " current target is in \"//tools/doom_melon\" then this value might be\n" 132 " current target is in \"//tools/doom_melon\" then this value might be\n"
225 " \"//out/Debug/gen/tools/doom_melon\". It will not have a trailing\n" 133 " \"//out/Debug/gen/tools/doom_melon\". It will not have a trailing\n"
226 " slash.\n" 134 " slash.\n"
227 "\n" 135 "\n"
228 " Scripts generating files will generally want the relative version of\n" 136 " This is primarily useful for setting up include paths for generated\n"
229 " this instead: \"relative_target_gen_dir\".\n" 137 " files. If you are passing this to a script, you will want to pass it\n"
138 " through to_build_path() (see \"gn help to_build_path\") to convert it\n"
139 " to be relative to the build directory.\n"
140 "\n"
141 " See also \"gn help root_gen_dir\".\n"
230 "\n" 142 "\n"
231 "Example:\n" 143 "Example:\n"
232 "\n" 144 "\n"
233 " # Add the gen directory to the include path.\n" 145 " custom(\"myscript\") {\n"
234 " args = [ target_gen_dir ]\n"; 146 " # Pass the generated output dir to the script.\n"
147 " args = [ \"-o\", to_build_path(target_gen_dir) ]\n"
148 " }\n";
149
150 const char kTargetOutDir[] = "target_out_dir";
151 const char kTargetOutDir_HelpShort[] =
152 "target_out_dir: [string] Directory for target output files.";
153 const char kTargetOutDir_Help[] =
154 "target_out_dir: [string] Directory for target output files."
155 "\n"
156 " Absolute path to the target's generated file directory. If your\n"
157 " current target is in \"//tools/doom_melon\" then this value might be\n"
158 " \"//out/Debug/obj/tools/doom_melon\". It will not have a trailing\n"
159 " slash.\n"
160 "\n"
161 " This is primarily useful for setting up arguments for calling\n"
162 " scripts. If you are passing this to a script, you will want to pass it\n"
163 " through to_build_path() (see \"gn help to_build_path\") to convert it\n"
164 " to be relative to the build directory.\n"
165 "\n"
166 " See also \"gn help root_out_dir\".\n"
167 "\n"
168 "Example:\n"
169 "\n"
170 " custom(\"myscript\") {\n"
171 " # Pass the output dir to the script.\n"
172 " args = [ \"-o\", to_build_path(target_out_dir) ]\n"
173 " }\n";
235 174
236 // Target variables ------------------------------------------------------------ 175 // Target variables ------------------------------------------------------------
237 176
238 const char kAllDependentConfigs[] = "all_dependent_configs"; 177 const char kAllDependentConfigs[] = "all_dependent_configs";
239 const char kAllDependentConfigs_HelpShort[] = 178 const char kAllDependentConfigs_HelpShort[] =
240 "all_dependent_configs: [label list] Configs to be forced on dependents."; 179 "all_dependent_configs: [label list] Configs to be forced on dependents.";
241 const char kAllDependentConfigs_Help[] = 180 const char kAllDependentConfigs_Help[] =
242 "all_dependent_configs: Configs to be forced on dependents.\n" 181 "all_dependent_configs: Configs to be forced on dependents.\n"
243 "\n" 182 "\n"
244 " A list of config labels.\n" 183 " A list of config labels.\n"
(...skipping 387 matching lines...) Expand 10 before | Expand all | Expand 10 after
632 const VariableInfoMap& GetBuiltinVariables() { 571 const VariableInfoMap& GetBuiltinVariables() {
633 static VariableInfoMap info_map; 572 static VariableInfoMap info_map;
634 if (info_map.empty()) { 573 if (info_map.empty()) {
635 INSERT_VARIABLE(CurrentToolchain) 574 INSERT_VARIABLE(CurrentToolchain)
636 INSERT_VARIABLE(DefaultToolchain) 575 INSERT_VARIABLE(DefaultToolchain)
637 INSERT_VARIABLE(IsLinux) 576 INSERT_VARIABLE(IsLinux)
638 INSERT_VARIABLE(IsMac) 577 INSERT_VARIABLE(IsMac)
639 INSERT_VARIABLE(IsPosix) 578 INSERT_VARIABLE(IsPosix)
640 INSERT_VARIABLE(IsWin) 579 INSERT_VARIABLE(IsWin)
641 INSERT_VARIABLE(PythonPath) 580 INSERT_VARIABLE(PythonPath)
642 INSERT_VARIABLE(RelativeBuildToSourceRootDir)
643 INSERT_VARIABLE(RelativeRootGenDir)
644 INSERT_VARIABLE(RelativeRootOutputDir)
645 INSERT_VARIABLE(RelativeSourceRootDir)
646 INSERT_VARIABLE(RelativeTargetGenDir)
647 INSERT_VARIABLE(RelativeTargetOutputDir)
648 INSERT_VARIABLE(RootGenDir) 581 INSERT_VARIABLE(RootGenDir)
582 INSERT_VARIABLE(RootOutDir)
649 INSERT_VARIABLE(TargetGenDir) 583 INSERT_VARIABLE(TargetGenDir)
584 INSERT_VARIABLE(TargetOutDir)
650 } 585 }
651 return info_map; 586 return info_map;
652 } 587 }
653 588
654 const VariableInfoMap& GetTargetVariables() { 589 const VariableInfoMap& GetTargetVariables() {
655 static VariableInfoMap info_map; 590 static VariableInfoMap info_map;
656 if (info_map.empty()) { 591 if (info_map.empty()) {
657 INSERT_VARIABLE(AllDependentConfigs) 592 INSERT_VARIABLE(AllDependentConfigs)
658 INSERT_VARIABLE(Cflags) 593 INSERT_VARIABLE(Cflags)
659 INSERT_VARIABLE(CflagsC) 594 INSERT_VARIABLE(CflagsC)
(...skipping 12 matching lines...) Expand all
672 INSERT_VARIABLE(OutputName) 607 INSERT_VARIABLE(OutputName)
673 INSERT_VARIABLE(SourcePrereqs) 608 INSERT_VARIABLE(SourcePrereqs)
674 INSERT_VARIABLE(Sources) 609 INSERT_VARIABLE(Sources)
675 } 610 }
676 return info_map; 611 return info_map;
677 } 612 }
678 613
679 #undef INSERT_VARIABLE 614 #undef INSERT_VARIABLE
680 615
681 } // namespace variables 616 } // namespace variables
OLDNEW
« no previous file with comments | « tools/gn/variables.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698