| Index: build/grit_action.gypi
|
| diff --git a/build/grit_action.gypi b/build/grit_action.gypi
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..b24f0f8d715cd0333db9b9cb9e16a7635657878a
|
| --- /dev/null
|
| +++ b/build/grit_action.gypi
|
| @@ -0,0 +1,71 @@
|
| +# Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| +# Use of this source code is governed by a BSD-style license that can be
|
| +# found in the LICENSE file.
|
| +
|
| +# This file is meant to be included into an action to invoke grit in a
|
| +# consistent manner. To use this the following variables need to be
|
| +# defined:
|
| +# grit_grd_file: string: grd file path
|
| +# grit_out_dir: string: the output directory path
|
| +
|
| +# It would be really nice to do this with a rule instead of actions, but it
|
| +# would need to determine inputs and outputs via grit_info on a per-file
|
| +# basis. GYP rules don't currently support that. They could be extended to
|
| +# do this, but then every generator would need to be updated to handle this.
|
| +
|
| +{
|
| + 'variables': {
|
| + 'grit_cmd': ['python', '<(DEPTH)/tools/grit/grit.py'],
|
| + 'grit_resource_ids%': '<(DEPTH)/tools/gritsettings/resource_ids',
|
| + # This makes it possible to add more defines in specific targets,
|
| + # instead of build/common.gypi .
|
| + 'grit_additional_defines%': [],
|
| + 'grit_rc_header_format%': [],
|
| + 'grit_whitelist%': '',
|
| +
|
| + 'conditions': [
|
| + # These scripts can skip writing generated files if they are identical
|
| + # to the already existing files, which avoids further build steps, like
|
| + # recompilation. However, a dependency (earlier build step) having a
|
| + # newer timestamp than an output (later build step) confuses some build
|
| + # systems, so only use this on ninja, which explicitly supports this use
|
| + # case (gyp turns all actions into ninja restat rules).
|
| + ['"<(GENERATOR)"=="ninja"', {
|
| + 'write_only_new': '1',
|
| + }, {
|
| + 'write_only_new': '0',
|
| + }],
|
| + ],
|
| + },
|
| + 'conditions': [
|
| + ['"<(grit_whitelist)"==""', {
|
| + 'variables': {
|
| + 'grit_whitelist_flag': [],
|
| + }
|
| + }, {
|
| + 'variables': {
|
| + 'grit_whitelist_flag': ['-w', '<(grit_whitelist)'],
|
| + }
|
| + }]
|
| + ],
|
| + 'inputs': [
|
| + '<!@pymod_do_main(grit_info <@(grit_defines) <@(grit_additional_defines) '
|
| + '<@(grit_whitelist_flag) --inputs <(grit_grd_file) '
|
| + '-f "<(grit_resource_ids)")',
|
| + ],
|
| + 'outputs': [
|
| + '<!@pymod_do_main(grit_info <@(grit_defines) <@(grit_additional_defines) '
|
| + '<@(grit_whitelist_flag) --outputs \'<(grit_out_dir)\' '
|
| + '<(grit_grd_file) -f "<(grit_resource_ids)")',
|
| + ],
|
| + 'action': ['<@(grit_cmd)',
|
| + '-i', '<(grit_grd_file)', 'build',
|
| + '-f', '<(grit_resource_ids)',
|
| + '-o', '<(grit_out_dir)',
|
| + '--write-only-new=<(write_only_new)',
|
| + '<@(grit_defines)',
|
| + '<@(grit_whitelist_flag)',
|
| + '<@(grit_additional_defines)',
|
| + '<@(grit_rc_header_format)'],
|
| + 'message': 'Generating resources from <(grit_grd_file)',
|
| +}
|
|
|