| Index: build/secondary/tools/grit/grit_rule.gni
|
| diff --git a/build/secondary/tools/grit/grit_rule.gni b/build/secondary/tools/grit/grit_rule.gni
|
| index a9745b444a43170b95f3549cb840e25342f04be2..ba31b41b5c586c99a880205161018ee1e2d74bdc 100644
|
| --- a/build/secondary/tools/grit/grit_rule.gni
|
| +++ b/build/secondary/tools/grit/grit_rule.gni
|
| @@ -13,6 +13,14 @@
|
| # grit_flags (optional)
|
| # List of strings containing extra command-line flags to pass to Grit.
|
| #
|
| +# resource_ids (optional)
|
| +# Path to a grit "firstidsfile". Default is
|
| +# //tools/gritsettings/resource_ids. Set to "" to use the value specified in
|
| +# the <grit> nodes of the processed files.
|
| +#
|
| +# output_dir (optional)
|
| +# Directory for generated files.
|
| +#
|
| # deps (optional)
|
| # visibility (optional)
|
| # Normal meaning.
|
| @@ -161,11 +169,24 @@ template("grit") {
|
| "Neither \"sources\" nor \"outputs\" can be defined for the grit " +
|
| "template $target_name")
|
|
|
| + if (defined(invoker.resource_ids)) {
|
| + resource_ids = invoker.resource_ids
|
| + } else {
|
| + resource_ids = grit_resource_id_file
|
| + }
|
| +
|
| + if (defined(invoker.output_dir)) {
|
| + output_dir = invoker.output_dir
|
| + } else {
|
| + output_dir = target_gen_dir
|
| + }
|
| +
|
| # These are all passed as arguments to the script so have to be relative to
|
| # the build directory.
|
| - resource_ids =
|
| - rebase_path(grit_resource_id_file, root_build_dir)
|
| - output_dir = rebase_path(target_gen_dir, root_build_dir)
|
| + if (resource_ids != "") {
|
| + resource_ids = rebase_path(resource_ids, root_build_dir)
|
| + }
|
| + rebased_output_dir = rebase_path(output_dir, root_build_dir)
|
| source_path = rebase_path(invoker.source, root_build_dir)
|
|
|
| if (defined(invoker.grit_flags)) {
|
| @@ -183,7 +204,7 @@ template("grit") {
|
| ]
|
|
|
| grit_outputs_build_rel = exec_script(grit_info_script,
|
| - [ "--outputs", "$output_dir", source_path, "-f", resource_ids ] +
|
| + [ "--outputs", "$rebased_output_dir", source_path, "-f", resource_ids ] +
|
| grit_flags,
|
| "list lines")
|
|
|
| @@ -196,13 +217,13 @@ template("grit") {
|
| # overwritten inside the innter classes so we need to compute it here.
|
| target_visibility = ":$target_name"
|
|
|
| - # The current grit setup makes an file in $target_gen_dir/grit/foo.h that
|
| + # The current grit setup makes an file in $output_dir/grit/foo.h that
|
| # the source code expects to include via "grit/foo.h". It would be nice to
|
| # change this to including absolute paths relative to the root gen directory
|
| # (like "mycomponent/foo.h"). This config sets up the include path.
|
| grit_config = target_name + "_grit_config"
|
| config(grit_config) {
|
| - include_dirs = [ target_gen_dir ]
|
| + include_dirs = [ output_dir ]
|
| visibility = target_visibility
|
| }
|
|
|
| @@ -215,7 +236,7 @@ template("grit") {
|
| args = [
|
| "-i", source_path, "build",
|
| "-f", resource_ids,
|
| - "-o", output_dir,
|
| + "-o", rebased_output_dir,
|
| ] + grit_defines + grit_flags
|
|
|
| visibility = target_visibility
|
|
|