Index: tools/gn/switches.cc |
diff --git a/tools/gn/switches.cc b/tools/gn/switches.cc |
index 8884634f90635375b2ab3540be7ffadd18ce7f95..05c2a5befcad170c655da2dc8153f2f197ba14bc 100644 |
--- a/tools/gn/switches.cc |
+++ b/tools/gn/switches.cc |
@@ -10,34 +10,34 @@ const char kArgs[] = "args"; |
const char kArgs_HelpShort[] = |
"--args: Specifies build arguments overrides."; |
const char kArgs_Help[] = |
- "--args: Specifies build arguments overrides.\n" |
- "\n" |
- " See \"gn help buildargs\" for an overview of how build arguments work.\n" |
- "\n" |
- " Most operations take a build directory. The build arguments are taken\n" |
- " from the previous build done in that directory. If a command specifies\n" |
- " --args, it will override the previous arguments stored in the build\n" |
- " directory, and use the specified ones.\n" |
- "\n" |
- " The args specified will be saved to the build directory for subsequent\n" |
- " commands. Specifying --args=\"\" will clear all build arguments.\n" |
- "\n" |
- "Formatting\n" |
- "\n" |
- " The value of the switch is interpreted in GN syntax. For typical usage\n" |
- " of string arguments, you will need to be careful about escaping of\n" |
- " quotes.\n" |
- "\n" |
- "Examples\n" |
- "\n" |
- " gn gen out/Default --args=\"foo=\\\"bar\\\"\"\n" |
- "\n" |
- " gn gen out/Default --args='foo=\"bar\" enable=true blah=7'\n" |
- "\n" |
- " gn check out/Default --args=\"\"\n" |
- " Clears existing build args from the directory.\n" |
- "\n" |
- " gn desc out/Default --args=\"some_list=[1, false, \\\"foo\\\"]\"\n"; |
+ R"(--args: Specifies build arguments overrides. |
+ |
+ See "gn help buildargs" for an overview of how build arguments work. |
+ |
+ Most operations take a build directory. The build arguments are taken from |
+ the previous build done in that directory. If a command specifies --args, it |
+ will override the previous arguments stored in the build directory, and use |
+ the specified ones. |
+ |
+ The args specified will be saved to the build directory for subsequent |
+ commands. Specifying --args="" will clear all build arguments. |
+ |
+Formatting |
+ |
+ The value of the switch is interpreted in GN syntax. For typical usage of |
+ string arguments, you will need to be careful about escaping of quotes. |
+ |
+Examples |
+ |
+ gn gen out/Default --args="foo=\"bar\"" |
+ |
+ gn gen out/Default --args='foo="bar" enable=true blah=7' |
+ |
+ gn check out/Default --args="" |
+ Clears existing build args from the directory. |
+ |
+ gn desc out/Default --args="some_list=[1, false, \"foo\"]" |
+)"; |
#define COLOR_HELP_LONG \ |
"--[no]color: Forces colored output on or off.\n"\ |
@@ -60,37 +60,39 @@ const char kDotfile[] = "dotfile"; |
const char kDotfile_HelpShort[] = |
"--dotfile: Override the name of the \".gn\" file."; |
const char kDotfile_Help[] = |
- "--dotfile: Override the name of the \".gn\" file.\n" |
- "\n" |
- " Normally GN loads the \".gn\"file from the source root for some basic\n" |
- " configuration (see \"gn help dotfile\"). This flag allows you to\n" |
- " use a different file.\n" |
- "\n" |
- " Note that this interacts with \"--root\" in a possibly incorrect way.\n" |
- " It would be nice to test the edge cases and document or fix.\n"; |
+ R"(--dotfile: Override the name of the ".gn" file. |
+ |
+ Normally GN loads the ".gn"file from the source root for some basic |
+ configuration (see "gn help dotfile"). This flag allows you to |
+ use a different file. |
+ |
+ Note that this interacts with "--root" in a possibly incorrect way. |
+ It would be nice to test the edge cases and document or fix. |
+)"; |
const char kFailOnUnusedArgs[] = "fail-on-unused-args"; |
const char kFailOnUnusedArgs_HelpShort[] = |
"--fail-on-unused-args: Treat unused build args as fatal errors."; |
const char kFailOnUnusedArgs_Help[] = |
- "--fail-on-unused-args: Treat unused build args as fatal errors.\n" |
- "\n" |
- " If you set a value in a build's \"gn args\" and never use it in the\n" |
- " build (in a declare_args() block), GN will normally print an error\n" |
- " but not fail the build.\n" |
- "\n" |
- " In many cases engineers would use build args to enable or disable\n" |
- " features that would sometimes get removed. It would by annoying to\n" |
- " block work for typically benign problems. In Chrome in particular,\n" |
- " flags might be configured for build bots in a separate infrastructure\n" |
- " repository, or a declare_args block might be changed in a third party\n" |
- " repository. Treating these errors as blocking forced complex multi-\n" |
- " way patches to land what would otherwise be simple changes.\n" |
- "\n" |
- " In some cases, such concerns are not as important, and a mismatch\n" |
- " in build flags between the invoker of the build and the build files\n" |
- " represents a critical mismatch that should be immediately fixed. Such\n" |
- " users can set this flag to force GN to fail in that case.\n"; |
+ R"(--fail-on-unused-args: Treat unused build args as fatal errors. |
+ |
+ If you set a value in a build's "gn args" and never use it in the build (in |
+ a declare_args() block), GN will normally print an error but not fail the |
+ build. |
+ |
+ In many cases engineers would use build args to enable or disable features |
+ that would sometimes get removed. It would by annoying to block work for |
+ typically benign problems. In Chrome in particular, flags might be configured |
+ for build bots in a separate infrastructure repository, or a declare_args |
+ block might be changed in a third party repository. Treating these errors as |
+ blocking forced complex multi- way patches to land what would otherwise be |
+ simple changes. |
+ |
+ In some cases, such concerns are not as important, and a mismatch in build |
+ flags between the invoker of the build and the build files represents a |
+ critical mismatch that should be immediately fixed. Such users can set this |
+ flag to force GN to fail in that case. |
+)"; |
const char kMarkdown[] = "markdown"; |
const char kMarkdown_HelpShort[] = |
@@ -107,127 +109,135 @@ const char kScriptExecutable[] = "script-executable"; |
const char kScriptExecutable_HelpShort[] = |
"--script-executable: Set the executable used to execute scripts."; |
const char kScriptExecutable_Help[] = |
- "--script-executable: Set the executable used to execute scripts.\n" |
- "\n" |
- " By default GN searches the PATH for Python to execute scripts in\n" |
- " action targets and exec_script calls. This flag allows the\n" |
- " specification of a specific Python executable or potentially\n" |
- " a different language interpreter.\n"; |
+ R"(--script-executable: Set the executable used to execute scripts. |
+ |
+ By default GN searches the PATH for Python to execute scripts in action |
+ targets and exec_script calls. This flag allows the specification of a |
+ specific Python executable or potentially a different language |
+ interpreter. |
+)"; |
const char kQuiet[] = "q"; |
const char kQuiet_HelpShort[] = |
"-q: Quiet mode. Don't print output on success."; |
const char kQuiet_Help[] = |
- "-q: Quiet mode. Don't print output on success.\n" |
- "\n" |
- " This is useful when running as a part of another script.\n"; |
+ R"(-q: Quiet mode. Don't print output on success. |
+ |
+ This is useful when running as a part of another script. |
+)"; |
const char kRoot[] = "root"; |
const char kRoot_HelpShort[] = |
"--root: Explicitly specify source root."; |
const char kRoot_Help[] = |
- "--root: Explicitly specify source root.\n" |
- "\n" |
- " Normally GN will look up in the directory tree from the current\n" |
- " directory to find a \".gn\" file. The source root directory specifies\n" |
- " the meaning of \"//\" beginning with paths, and the BUILD.gn file\n" |
- " in that directory will be the first thing loaded.\n" |
- "\n" |
- " Specifying --root allows GN to do builds in a specific directory\n" |
- " regardless of the current directory.\n" |
- "\n" |
- "Examples\n" |
- "\n" |
- " gn gen //out/Default --root=/home/baracko/src\n" |
- "\n" |
- " gn desc //out/Default --root=\"C:\\Users\\BObama\\My Documents\\foo\"\n"; |
+ R"(--root: Explicitly specify source root. |
+ |
+ Normally GN will look up in the directory tree from the current directory to |
+ find a ".gn" file. The source root directory specifies the meaning of "//" |
+ beginning with paths, and the BUILD.gn file in that directory will be the |
+ first thing loaded. |
+ |
+ Specifying --root allows GN to do builds in a specific directory regardless |
+ of the current directory. |
+ |
+Examples |
+ |
+ gn gen //out/Default --root=/home/baracko/src |
+ |
+ gn desc //out/Default --root="C:\Users\BObama\My Documents\foo" |
+)"; |
const char kRuntimeDepsListFile[] = "runtime-deps-list-file"; |
const char kRuntimeDepsListFile_HelpShort[] = |
"--runtime-deps-list-file: Save runtime dependencies for targets in file."; |
const char kRuntimeDepsListFile_Help[] = |
- "--runtime-deps-list-file: Save runtime dependencies for targets in file.\n" |
- "\n" |
- " --runtime-deps-list-file=<filename>\n" |
- "\n" |
- " Where <filename> is a text file consisting of the labels, one per\n" |
- " line, of the targets for which runtime dependencies are desired.\n" |
- "\n" |
- " See \"gn help runtime_deps\" for a description of how runtime\n" |
- " dependencies are computed.\n" |
- "\n" |
- "Runtime deps output file\n" |
- "\n" |
- " For each target requested, GN will write a separate runtime dependency\n" |
- " file. The runtime dependency file will be in the output directory\n" |
- " alongside the output file of the target, with a \".runtime_deps\"\n" |
- " extension. For example, if the target \"//foo:bar\" is listed in the\n" |
- " input file, and that target produces an output file \"bar.so\", GN\n" |
- " will create a file \"bar.so.runtime_deps\" in the build directory.\n" |
- "\n" |
- " If a source set, action, copy, or group is listed, the runtime deps\n" |
- " file will correspond to the .stamp file corresponding to that target.\n" |
- " This is probably not useful; the use-case for this feature is\n" |
- " generally executable targets.\n" |
- "\n" |
- " The runtime dependency file will list one file per line, with no\n" |
- " escaping. The files will be relative to the root_build_dir. The first\n" |
- " line of the file will be the main output file of the target itself\n" |
- " (in the above example, \"bar.so\").\n"; |
+ R"(--runtime-deps-list-file: Save runtime dependencies for targets in file. |
+ |
+ --runtime-deps-list-file=<filename> |
+ |
+ Where <filename> is a text file consisting of the labels, one per line, of |
+ the targets for which runtime dependencies are desired. |
+ |
+ See "gn help runtime_deps" for a description of how runtime dependencies are |
+ computed. |
+ |
+Runtime deps output file |
+ |
+ For each target requested, GN will write a separate runtime dependency file. |
+ The runtime dependency file will be in the output directory alongside the |
+ output file of the target, with a ".runtime_deps" extension. For example, if |
+ the target "//foo:bar" is listed in the input file, and that target produces |
+ an output file "bar.so", GN will create a file "bar.so.runtime_deps" in the |
+ build directory. |
+ |
+ If a source set, action, copy, or group is listed, the runtime deps file will |
+ correspond to the .stamp file corresponding to that target. This is probably |
+ not useful; the use-case for this feature is generally executable targets. |
+ |
+ The runtime dependency file will list one file per line, with no escaping. |
+ The files will be relative to the root_build_dir. The first line of the file |
+ will be the main output file of the target itself (in the above example, |
+ "bar.so"). |
+)"; |
const char kThreads[] = "threads"; |
const char kThreads_HelpShort[] = |
"--threads: Specify number of worker threads."; |
const char kThreads_Help[] = |
- "--threads: Specify number of worker threads.\n" |
- "\n" |
- " GN runs many threads to load and run build files. This can make\n" |
- " debugging challenging. Or you may want to experiment with different\n" |
- " values to see how it affects performance.\n" |
- "\n" |
- " The parameter is the number of worker threads. This does not count the\n" |
- " main thread (so there are always at least two).\n" |
- "\n" |
- "Examples\n" |
- "\n" |
- " gen gen out/Default --threads=1\n"; |
+ R"(--threads: Specify number of worker threads. |
+ |
+ GN runs many threads to load and run build files. This can make debugging |
+ challenging. Or you may want to experiment with different values to see how |
+ it affects performance. |
+ |
+ The parameter is the number of worker threads. This does not count the main |
+ thread (so there are always at least two). |
+ |
+Examples |
+ |
+ gen gen out/Default --threads=1 |
+)"; |
const char kTime[] = "time"; |
const char kTime_HelpShort[] = |
"--time: Outputs a summary of how long everything took."; |
const char kTime_Help[] = |
- "--time: Outputs a summary of how long everything took.\n" |
- "\n" |
- " Hopefully self-explanatory.\n" |
- "\n" |
- "Examples\n" |
- "\n" |
- " gn gen out/Default --time\n"; |
+ R"(--time: Outputs a summary of how long everything took. |
+ |
+ Hopefully self-explanatory. |
+ |
+Examples |
+ |
+ gn gen out/Default --time |
+)"; |
const char kTracelog[] = "tracelog"; |
const char kTracelog_HelpShort[] = |
"--tracelog: Writes a Chrome-compatible trace log to the given file."; |
const char kTracelog_Help[] = |
- "--tracelog: Writes a Chrome-compatible trace log to the given file.\n" |
- "\n" |
- " The trace log will show file loads, executions, scripts, and writes.\n" |
- " This allows performance analysis of the generation step.\n" |
- "\n" |
- " To view the trace, open Chrome and navigate to \"chrome://tracing/\",\n" |
- " then press \"Load\" and specify the file you passed to this parameter.\n" |
- "\n" |
- "Examples\n" |
- "\n" |
- " gn gen out/Default --tracelog=mytrace.trace\n"; |
+ R"(--tracelog: Writes a Chrome-compatible trace log to the given file. |
+ |
+ The trace log will show file loads, executions, scripts, and writes. This |
+ allows performance analysis of the generation step. |
+ |
+ To view the trace, open Chrome and navigate to "chrome://tracing/", then |
+ press "Load" and specify the file you passed to this parameter. |
+ |
+Examples |
+ |
+ gn gen out/Default --tracelog=mytrace.trace |
+)"; |
const char kVerbose[] = "v"; |
const char kVerbose_HelpShort[] = |
"-v: Verbose logging."; |
const char kVerbose_Help[] = |
- "-v: Verbose logging.\n" |
- "\n" |
- " This will spew logging events to the console for debugging issues.\n" |
- " Good luck!\n"; |
+ R"(-v: Verbose logging. |
+ |
+ This will spew logging events to the console for debugging issues. |
+ |
+ Good luck! |
+)"; |
const char kVersion[] = "version"; |
const char kVersion_HelpShort[] = |