OLD | NEW |
1 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2011 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 # This file is meant to be included into an action to invoke grit in a | 5 # This file is meant to be included into an action to invoke grit in a |
6 # consistent manner. To use this the following variables need to be | 6 # consistent manner. To use this the following variables need to be |
7 # defined: | 7 # defined: |
8 # grit_grd_file: string: grd file path | 8 # grit_grd_file: string: grd file path |
9 # grit_out_dir: string: the output directory path | 9 # grit_out_dir: string: the output directory path |
10 | 10 |
11 # It would be really nice to do this with a rule instead of actions, but it | 11 # It would be really nice to do this with a rule instead of actions, but it |
12 # would need to determine inputs and outputs via grit_info on a per-file | 12 # would need to determine inputs and outputs via grit_info on a per-file |
13 # basis. GYP rules don't currently support that. They could be extended to | 13 # basis. GYP rules don't currently support that. They could be extended to |
14 # do this, but then every generator would need to be updated to handle this. | 14 # do this, but then every generator would need to be updated to handle this. |
15 | 15 |
16 { | 16 { |
17 'variables': { | 17 'variables': { |
18 'grit_cmd': ['python', '<(DEPTH)/tools/grit/grit.py'], | 18 'grit_cmd': ['python', '<(DEPTH)/tools/grit/grit.py'], |
19 'grit_resource_ids%': '<(DEPTH)/tools/gritsettings/resource_ids', | 19 'grit_resource_ids%': '<(DEPTH)/tools/gritsettings/resource_ids', |
20 # This makes it possible to add more defines in specific targets, | 20 # This makes it possible to add more defines in specific targets, |
21 # instead of build/common.gypi . | 21 # instead of build/common.gypi . |
22 'grit_additional_defines%': [], | 22 'grit_additional_defines%': [], |
23 'grit_rc_header_format%': [], | 23 'grit_rc_header_format%': [], |
| 24 'grit_whitelist%': '', |
24 | 25 |
25 'conditions': [ | 26 'conditions': [ |
26 # These scripts can skip writing generated files if they are identical | 27 # These scripts can skip writing generated files if they are identical |
27 # to the already existing files, which avoids further build steps, like | 28 # to the already existing files, which avoids further build steps, like |
28 # recompilation. However, a dependency (earlier build step) having a | 29 # recompilation. However, a dependency (earlier build step) having a |
29 # newer timestamp than an output (later build step) confuses some build | 30 # newer timestamp than an output (later build step) confuses some build |
30 # systems, so only use this on ninja, which explicitly supports this use | 31 # systems, so only use this on ninja, which explicitly supports this use |
31 # case (gyp turns all actions into ninja restat rules). | 32 # case (gyp turns all actions into ninja restat rules). |
32 ['"<(GENERATOR)"=="ninja"', { | 33 ['"<(GENERATOR)"=="ninja"', { |
33 'write_only_new': '1', | 34 'write_only_new': '1', |
34 }, { | 35 }, { |
35 'write_only_new': '0', | 36 'write_only_new': '0', |
36 }], | 37 }], |
37 ], | 38 ], |
38 }, | 39 }, |
| 40 'conditions': [ |
| 41 ['"<(grit_whitelist)"==""', { |
| 42 'variables': { |
| 43 'grit_whitelist_flag': [], |
| 44 } |
| 45 }, { |
| 46 'variables': { |
| 47 'grit_whitelist_flag': ['-w', '<(grit_whitelist)'], |
| 48 } |
| 49 }] |
| 50 ], |
39 'inputs': [ | 51 'inputs': [ |
40 '<!@pymod_do_main(grit_info <@(grit_defines) <@(grit_additional_defines) ' | 52 '<!@pymod_do_main(grit_info <@(grit_defines) <@(grit_additional_defines) ' |
41 '--inputs <(grit_grd_file) -f "<(grit_resource_ids)")', | 53 '--inputs <(grit_grd_file) -f "<(grit_resource_ids)")', |
42 ], | 54 ], |
43 'outputs': [ | 55 'outputs': [ |
44 '<!@pymod_do_main(grit_info <@(grit_defines) <@(grit_additional_defines) ' | 56 '<!@pymod_do_main(grit_info <@(grit_defines) <@(grit_additional_defines) ' |
45 '--outputs \'<(grit_out_dir)\' ' | 57 '--outputs \'<(grit_out_dir)\' ' |
46 '<(grit_grd_file) -f "<(grit_resource_ids)")', | 58 '<(grit_grd_file) -f "<(grit_resource_ids)")', |
47 ], | 59 ], |
48 'action': ['<@(grit_cmd)', | 60 'action': ['<@(grit_cmd)', |
49 '-i', '<(grit_grd_file)', 'build', | 61 '-i', '<(grit_grd_file)', 'build', |
50 '-f', '<(grit_resource_ids)', | 62 '-f', '<(grit_resource_ids)', |
51 '-o', '<(grit_out_dir)', | 63 '-o', '<(grit_out_dir)', |
52 '--write-only-new=<(write_only_new)', | 64 '--write-only-new=<(write_only_new)', |
53 '<@(grit_defines)', | 65 '<@(grit_defines)', |
| 66 '<@(grit_whitelist_flag)', |
54 '<@(grit_additional_defines)', | 67 '<@(grit_additional_defines)', |
55 '<@(grit_rc_header_format)'], | 68 '<@(grit_rc_header_format)'], |
56 'message': 'Generating resources from <(grit_grd_file)', | 69 'message': 'Generating resources from <(grit_grd_file)', |
57 } | 70 } |
OLD | NEW |