OLD | NEW |
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 template("grit") { | 5 template("grit") { |
6 assert(defined(source), | 6 assert(defined(source), |
7 "\"source\" must be defined for the grit template $target_name") | 7 "\"source\" must be defined for the grit template $target_name") |
8 assert(!defined(sources) && !defined(outputs), | 8 assert(!defined(sources) && !defined(outputs), |
9 "Neither \"sources\" nor \"outputs\" can be defined for the grit " + | 9 "Neither \"sources\" nor \"outputs\" can be defined for the grit " + |
10 "template $target_name") | 10 "template $target_name") |
11 | 11 |
12 resource_ids = "$relative_source_root_dir/tools/gritsettings/resource_ids" | 12 resource_ids = to_build_path("//tools/gritsettings/resource_ids") |
13 output_dir = "$relative_target_gen_dir" | 13 output_dir = to_build_path(target_gen_dir) |
14 | 14 grit_info_script = to_build_path("//tools/grit/grit_info.py") |
15 # Note that this needs to be source-absolute since the current directory will | 15 source_path = to_build_path(source) |
16 # be that of the file invoking the template, not this file. | |
17 grit_info_script = "$relative_source_root_dir/tools/grit/grit_info.py" | |
18 | 16 |
19 grit_inputs = exec_script(grit_info_script, | 17 grit_inputs = exec_script(grit_info_script, |
20 [ "--inputs", source, "-f", resource_ids], "list lines") | 18 [ "--inputs", source_path, "-f", resource_ids], "list lines") |
21 grit_outputs = exec_script(grit_info_script, | 19 grit_outputs = exec_script(grit_info_script, |
22 [ "--outputs", "$output_dir", source, "-f", resource_ids ], | 20 [ "--outputs", "$output_dir", source_path, "-f", resource_ids ], |
23 "list lines") | 21 "list lines") |
24 | 22 |
25 # The current grit setup makes an file in $target_gen_dir/grit/foo.h that | 23 # The current grit setup makes an file in $target_gen_dir/grit/foo.h that |
26 # the source code expects to include via "grit/foo.h". It would be nice to | 24 # the source code expects to include via "grit/foo.h". It would be nice to |
27 # change this to including absolute paths relative to the root gen directory | 25 # change this to including absolute paths relative to the root gen directory |
28 # (like "mycomponent/foo.h"). This config sets up the include path. | 26 # (like "mycomponent/foo.h"). This config sets up the include path. |
29 grit_config = target_name + "_grit_config" | 27 grit_config = target_name + "_grit_config" |
30 config(grit_config) { | 28 config(grit_config) { |
31 includes = [ target_gen_dir ] | 29 includes = [ target_gen_dir ] |
32 } | 30 } |
33 | 31 |
34 grit_custom_target = target_name + "_grit" | 32 grit_custom_target = target_name + "_grit" |
35 custom(grit_custom_target) { | 33 custom(grit_custom_target) { |
36 script = "$relative_source_root_dir/tools/grit/grit.py" | 34 script = "//tools/grit/grit.py" |
37 source_prereqs = grit_inputs | 35 source_prereqs = grit_inputs |
38 outputs = grit_outputs | 36 outputs = grit_outputs |
39 | 37 |
40 # TODO(brettw) grit_defines. | 38 # TODO(brettw) grit_defines. |
41 args = [ | 39 args = [ |
42 "-i", source, "build", | 40 "-i", source_path, "build", |
43 "-f", resource_ids, | 41 "-f", resource_ids, |
44 "-o", relative_target_gen_dir, | 42 "-o", output_dir, |
45 ] | 43 ] |
46 } | 44 } |
47 | 45 |
48 # This is the thing that people actually link with, it must be named the | 46 # This is the thing that people actually link with, it must be named the |
49 # same as the argument the template was invoked with. | 47 # same as the argument the template was invoked with. |
50 static_library(target_name) { | 48 static_library(target_name) { |
51 # Since we generate a file, we need to be run before the targets that | 49 # Since we generate a file, we need to be run before the targets that |
52 # depend on us. | 50 # depend on us. |
53 hard_dep = true | 51 hard_dep = true |
54 | 52 |
55 sources = grit_outputs | 53 sources = grit_outputs |
56 deps = [ ":$grit_custom_target" ] | 54 deps = [ ":$grit_custom_target" ] |
57 direct_dependent_configs = [ ":$grit_config" ] | 55 direct_dependent_configs = [ ":$grit_config" ] |
58 } | 56 } |
59 } | 57 } |
OLD | NEW |