OLD | NEW |
(Empty) | |
| 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 |
| 3 # found in the LICENSE file. |
| 4 |
| 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 |
| 7 # defined: |
| 8 # grit_grd_file: string: grd file path |
| 9 # grit_out_dir: string: the output directory path |
| 10 |
| 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 |
| 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. |
| 15 |
| 16 { |
| 17 'variables': { |
| 18 'grit_cmd': ['python', '<(DEPTH)/tools/grit/grit.py'], |
| 19 'grit_resource_ids%': '<(DEPTH)/tools/gritsettings/resource_ids', |
| 20 # This makes it possible to add more defines in specific targets, |
| 21 # instead of build/common.gypi . |
| 22 'grit_additional_defines%': [], |
| 23 'grit_rc_header_format%': [], |
| 24 'grit_whitelist%': '', |
| 25 |
| 26 'conditions': [ |
| 27 # These scripts can skip writing generated files if they are identical |
| 28 # to the already existing files, which avoids further build steps, like |
| 29 # recompilation. However, a dependency (earlier build step) having a |
| 30 # newer timestamp than an output (later build step) confuses some build |
| 31 # systems, so only use this on ninja, which explicitly supports this use |
| 32 # case (gyp turns all actions into ninja restat rules). |
| 33 ['"<(GENERATOR)"=="ninja"', { |
| 34 'write_only_new': '1', |
| 35 }, { |
| 36 'write_only_new': '0', |
| 37 }], |
| 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 ], |
| 51 'inputs': [ |
| 52 '<!@pymod_do_main(grit_info <@(grit_defines) <@(grit_additional_defines) ' |
| 53 '<@(grit_whitelist_flag) --inputs <(grit_grd_file) ' |
| 54 '-f "<(grit_resource_ids)")', |
| 55 ], |
| 56 'outputs': [ |
| 57 '<!@pymod_do_main(grit_info <@(grit_defines) <@(grit_additional_defines) ' |
| 58 '<@(grit_whitelist_flag) --outputs \'<(grit_out_dir)\' ' |
| 59 '<(grit_grd_file) -f "<(grit_resource_ids)")', |
| 60 ], |
| 61 'action': ['<@(grit_cmd)', |
| 62 '-i', '<(grit_grd_file)', 'build', |
| 63 '-f', '<(grit_resource_ids)', |
| 64 '-o', '<(grit_out_dir)', |
| 65 '--write-only-new=<(write_only_new)', |
| 66 '<@(grit_defines)', |
| 67 '<@(grit_whitelist_flag)', |
| 68 '<@(grit_additional_defines)', |
| 69 '<@(grit_rc_header_format)'], |
| 70 'message': 'Generating resources from <(grit_grd_file)', |
| 71 } |
OLD | NEW |