| Index: tools/gn/functions_target.cc
|
| diff --git a/tools/gn/functions_target.cc b/tools/gn/functions_target.cc
|
| index 7e046019964914acb350a5e708c70694bd204540..3d1631105a5dbe61131c9cdaeb59ebac2c884296 100644
|
| --- a/tools/gn/functions_target.cc
|
| +++ b/tools/gn/functions_target.cc
|
| @@ -123,7 +123,11 @@ const char kCustom_Help[] =
|
| " files and generate a set of output files.\n"
|
| "\n"
|
| " The script will be executed with the given arguments with the current\n"
|
| - " directory being that of the current BUILD file.\n"
|
| + " directory being that of the root build directory. If you pass\n"
|
| + " to your script, see \"gn help to_build_path\" for how to convert\n"
|
| + " file names to be relative to the build directory (file names in the\n"
|
| + " sources, outputs, and source_prereqs will be all treated as relative\n"
|
| + " to the current build file and converted as needed automatically).\n"
|
| "\n"
|
| " There are two modes. The first mode is the \"per-file\" mode where you\n"
|
| " specify a list of sources and the script is run once for each one as a\n"
|
| @@ -151,8 +155,8 @@ const char kCustom_Help[] =
|
| "\n"
|
| " {{source}}\n"
|
| " Expanded in |args|, this is the name of the source file relative\n"
|
| - " to the current directory when running the script. This is how\n"
|
| - " you specify the current input file to your script.\n"
|
| + " to the build directory This is how you specify the current input\n"
|
| + " file to your script.\n"
|
| "\n"
|
| " {{source_name_part}}\n"
|
| " Expanded in |args| and |outputs|, this is just the filename part\n"
|
| @@ -176,16 +180,21 @@ const char kCustom_Help[] =
|
| " source_prereqs = [ \"my_configuration.txt\" ]\n"
|
| " outputs = [ \"$target_gen_dir/{{source_name_part}}.h\",\n"
|
| " \"$target_gen_dir/{{source_name_part}}.cc\" ]\n"
|
| + "\n"
|
| + " # Note that since \"args\" is opaque to GN, if you specify paths\n"
|
| + " # here, you will need to convert it to be relative to the build\n"
|
| + " # directory using \"to_build_path()\".\n"
|
| " args = [ \"{{source}}\",\n"
|
| " \"-o\",\n"
|
| - " \"$relative_target_gen_dir/{{source_name_part}}.h\" ]\n"
|
| + " to_build_path(relative_target_gen_dir) + \"/\" +\n"
|
| + " {{source_name_part}}.h\" ]\n"
|
| " }\n"
|
| "\n"
|
| " custom(\"just_run_this_guy_once\") {\n"
|
| " script = \"doprocessing.py\"\n"
|
| " source_prereqs = [ \"my_configuration.txt\" ]\n"
|
| " outputs = [ \"$target_gen_dir/insightful_output.txt\" ]\n"
|
| - " args = [ \"--output_dir\", $target_gen_dir ]\n"
|
| + " args = [ \"--output_dir\", to_build_path(target_gen_dir) ]\n"
|
| " }\n";
|
|
|
| Value RunCustom(Scope* scope,
|
|
|