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

Unified Diff: tools/gn/variables.cc

Issue 333243004: Rename GN source_prereqs to inputs, enhance "desc" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/gn/variables.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/gn/variables.cc
diff --git a/tools/gn/variables.cc b/tools/gn/variables.cc
index 4bf22a3171735f89f401b1bfe33a1f807f5d97ca..529107234e13dc934bbc242eb700a6fe7d0187cc 100644
--- a/tools/gn/variables.cc
+++ b/tools/gn/variables.cc
@@ -370,7 +370,7 @@ const char kData_Help[] =
" these but it is envisioned that test data can be listed here for use\n"
" running automated tests.\n"
"\n"
- " See also \"gn help source_prereqs\" and \"gn help datadeps\", both of\n"
+ " See also \"gn help inputs\" and \"gn help datadeps\", both of\n"
" which actually affect the build in concrete ways.\n";
const char kDatadeps[] = "datadeps";
@@ -536,6 +536,51 @@ const char kIncludeDirs_Help[] =
"Example:\n"
" include_dirs = [ \"src/include\", \"//third_party/foo\" ]\n";
+const char kInputs[] = "inputs";
+const char kInputs_HelpShort[] =
+ "inputs: [file list] Additional compile-time dependencies.";
+const char kInputs_Help[] =
+ "inputs: Additional compile-time dependencies.\n"
+ "\n"
+ " Inputs are compile-time dependencies of the current target. This means\n"
+ " that all inputs must be available before compiling any of the sources\n"
+ " or executing any actions.\n"
+ "\n"
+ " Inputs are typically only used for action and action_foreach targets.\n"
+ "\n"
+ "Inputs for actions\n"
+ "\n"
+ " For action and action_foreach targets, inputs should be the inputs to\n"
+ " script that don't vary. These should be all .py files that the script\n"
+ " uses via imports (the main script itself will be an implcit dependency\n"
+ " of the action so need not be listed).\n"
+ "\n"
+ " For action targets, inputs should be the entire set of inputs the\n"
+ " script needs. For action_foreach targets, inputs should be the set of\n"
+ " dependencies that don't change. These will be applied to each script\n"
+ " invocation over the sources.\n"
+ "\n"
+ " Note that another way to declare input dependencies from an action\n"
+ " is to have the action write a depfile (see \"gn help depfile\"). This\n"
+ " allows the script to dynamically write input dependencies, that might\n"
+ " not be known until actually executing the script. This is more\n"
+ " efficient than doing processing while running GN to determine the\n"
+ " inputs, and is easier to keep in-sync than hardcoding the list.\n"
+ "\n"
+ "Inputs for binary targets\n"
+ "\n"
+ " Any input dependencies will be resolved before compiling any sources.\n"
+ " Normally, all actions that a target depends on will be run before any\n"
+ " files in a target are compiled. So if you depend on generated headers,\n"
+ " you do not typically need to list them in the inputs section.\n"
+ "\n"
+ "Example\n"
+ "\n"
+ " action(\"myscript\") {\n"
+ " script = \"domything.py\"\n"
+ " inputs = [ \"input.data\" ]\n"
+ " }\n";
+
const char kLdflags[] = "ldflags";
const char kLdflags_HelpShort[] =
"ldflags: [string list] Flags passed to the linker.";
@@ -704,51 +749,6 @@ const char kScript_Help[] =
" for a action and action_foreach targets (see \"gn help action\" and\n"
" \"gn help action_foreach\").\n";
-const char kSourcePrereqs[] = "source_prereqs";
-const char kSourcePrereqs_HelpShort[] =
- "source_prereqs: [file list] Additional compile-time dependencies.";
-const char kSourcePrereqs_Help[] =
- "source_prereqs: Additional compile-time dependencies.\n"
- "\n"
- " Inputs are compile-time dependencies of the current target. This means\n"
- " that all source prerequisites must be available before compiling any\n"
- " of the sources.\n"
- "\n"
- " If one of your sources #includes a generated file, that file must be\n"
- " available before that source file is compiled. For subsequent builds,\n"
- " the \".d\" files will list the include dependencies of each source\n"
- " and Ninja can know about that dependency to make sure it's generated\n"
- " before compiling your source file. However, for the first run it's\n"
- " not possible for Ninja to know about this dependency.\n"
- "\n"
- " Source prerequisites solves this problem by declaring such\n"
- " dependencies. It will introduce a Ninja \"implicit\" dependency for\n"
- " each source file in the target on the listed files.\n"
- "\n"
- " For binary targets, the files in the \"source_prereqs\" should all be\n"
- " listed in the \"outputs\" section of another target. There is no\n"
- " reason to declare static source files as source prerequisites since\n"
- " the normal include file dependency management will handle them more\n"
- " efficiently anyway.\n"
- "\n"
- " For action targets that don't generate \".d\" files, the\n"
- " \"source_prereqs\" section is how you can list known compile-time\n"
- " dependencies your script may have.\n"
- "\n"
- " See also \"gn help data\" and \"gn help datadeps\" (which declare\n"
- " run-time rather than compile-time dependencies).\n"
- "\n"
- "Examples:\n"
- " executable(\"foo\") {\n"
- " sources = [ \"foo.cc\" ]\n"
- " source_prereqs = [ \"$root_gen_dir/something/generated_data.h\" ]\n"
- " }\n"
- "\n"
- " action(\"myscript\") {\n"
- " script = \"domything.py\"\n"
- " source_prereqs = [ \"input.data\" ]\n"
- " }\n";
-
const char kSources[] = "sources";
const char kSources_HelpShort[] =
"sources: [file list] Source files for a target.";
@@ -877,6 +877,7 @@ const VariableInfoMap& GetTargetVariables() {
INSERT_VARIABLE(DirectDependentConfigs)
INSERT_VARIABLE(ForwardDependentConfigsFrom)
INSERT_VARIABLE(IncludeDirs)
+ INSERT_VARIABLE(Inputs)
INSERT_VARIABLE(Ldflags)
INSERT_VARIABLE(Libs)
INSERT_VARIABLE(LibDirs)
@@ -885,7 +886,6 @@ const VariableInfoMap& GetTargetVariables() {
INSERT_VARIABLE(Outputs)
INSERT_VARIABLE(Public)
INSERT_VARIABLE(Script)
- INSERT_VARIABLE(SourcePrereqs)
INSERT_VARIABLE(Sources)
INSERT_VARIABLE(Visibility)
}
« 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