Chromium Code Reviews| Index: build/json_to_struct.gypi |
| diff --git a/build/json_to_struct.gypi b/build/json_to_struct.gypi |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..4648393f22b19d526799a154b2120fb3e0e7838b |
| --- /dev/null |
| +++ b/build/json_to_struct.gypi |
| @@ -0,0 +1,48 @@ |
| +# Copyright 2012 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. |
| + |
| +{ |
| + 'variables': { |
| + # When including this gypi, the following variables must be set: |
| + # json_schema_file: a json file that comprise the structure model. |
|
not at google - send to devlin
2012/11/13 20:28:07
Heh, well unless you're actually planning to make
beaudoin
2012/11/13 21:42:04
I'm actually using a schema -- just my own format.
not at google - send to devlin
2012/11/13 22:12:05
Yes I think that would be less confusing. :) perha
beaudoin
2012/11/14 17:34:12
Done.
|
| + # namespace: the C++ namespace that all generated files go under |
| + # cc_dir: path to generated files |
| + # Functions and namespaces can be excluded by setting "nocompile" to true. |
| + 'struct_gen_dir': '<(DEPTH)/tools/json_to_struct', |
| + 'struct_gen': '<(struct_gen_dir)/json_to_struct.py', |
| + }, |
| + 'rules': [ |
| + { |
| + 'rule_name': 'genstaticinit', |
| + 'extension': 'json', |
| + 'inputs': [ |
| + '<(struct_gen_dir)/element_generator.py', |
| + '<(struct_gen_dir)/json_to_struct.py', |
| + '<(struct_gen_dir)/struct_generator.py', |
| + '<(json_schema_file)', |
| + ], |
| + 'outputs': [ |
| + '<(SHARED_INTERMEDIATE_DIR)/<(cc_dir)/<(RULE_INPUT_ROOT).cc', |
| + '<(SHARED_INTERMEDIATE_DIR)/<(cc_dir)/<(RULE_INPUT_ROOT).h', |
| + ], |
| + 'action': [ |
| + 'python', |
| + '<(struct_gen)', |
| + '<(RULE_INPUT_PATH)', |
| + '--destdir=<(SHARED_INTERMEDIATE_DIR)/<(cc_dir)', |
| + '--namespace=<(namespace)', |
| + '--schema=<(json_schema_file)', |
| + ], |
| + 'message': 'Generating C++ static initializers from <(RULE_INPUT_PATH)', |
| + 'process_outputs_as_sources': 1, |
| + }, |
| + ], |
| + 'include_dirs': [ |
| + '<(SHARED_INTERMEDIATE_DIR)', |
| + '<(DEPTH)', |
| + ], |
| + # This target exports a hard dependency because it generates header |
| + # files. |
| + 'hard_dependency': 1, |
| +} |