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 7d422249ae6093c177f5284624a38c32aa74b6e3..bf538e8f06fb164116facf9308f14c067ca3232f 100644 |
--- a/build/secondary/tools/grit/grit_rule.gni |
+++ b/build/secondary/tools/grit/grit_rule.gni |
@@ -161,11 +161,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 |
brettw
2014/07/11 20:00:44
Can you add these new variables to the documentati
|
+ } 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 +196,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 +209,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 +228,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 |