OLD | NEW |
1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 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 { | 5 { |
6 'variables': { | |
7 'output_dir': '<(SHARED_INTERMEDIATE_DIR)/mojom', | |
8 }, | |
9 'rules': [ | 6 'rules': [ |
10 { | 7 { |
11 'rule_name': 'Generate C++ source files from mojom files', | 8 'rule_name': 'Generate C++ source files from mojom files', |
12 'extension': 'mojom', | 9 'extension': 'mojom', |
13 'variables': { | 10 'variables': { |
| 11 'mojom_base_output_dir': |
| 12 '<!(python <(DEPTH)/build/inverse_depth.py <(DEPTH))', |
14 'mojom_bindings_generator': | 13 'mojom_bindings_generator': |
15 '<(DEPTH)/mojo/public/bindings/mojom_bindings_generator.py', | 14 '<(DEPTH)/mojo/public/bindings/mojom_bindings_generator.py', |
16 }, | 15 }, |
17 'inputs': [ | 16 'inputs': [ |
18 '<(mojom_bindings_generator)', | 17 '<(mojom_bindings_generator)', |
19 '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/enum_declaration
.tmpl', | 18 '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/enum_declaration
.tmpl', |
20 '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/interface_declar
ation.tmpl', | 19 '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/interface_declar
ation.tmpl', |
21 '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/interface_defini
tion.tmpl', | 20 '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/interface_defini
tion.tmpl', |
22 '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/interface_proxy_
declaration.tmpl', | 21 '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/interface_proxy_
declaration.tmpl', |
23 '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/interface_stub_d
eclaration.tmpl', | 22 '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/interface_stub_d
eclaration.tmpl', |
24 '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/module.cc.tmpl', | 23 '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/module.cc.tmpl', |
25 '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/module.h.tmpl', | 24 '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/module.h.tmpl', |
26 '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/module_internal.
h.tmpl', | 25 '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/module-internal.
h.tmpl', |
27 '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/params_definitio
n.tmpl', | 26 '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/params_definitio
n.tmpl', |
28 '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/struct_builder_d
efinition.tmpl', | 27 '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/struct_builder_d
efinition.tmpl', |
29 '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/struct_declarati
on.tmpl', | 28 '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/struct_declarati
on.tmpl', |
30 '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/struct_definitio
n.tmpl', | 29 '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/struct_definitio
n.tmpl', |
31 '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/struct_destructo
r.tmpl', | 30 '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/struct_destructo
r.tmpl', |
32 '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/struct_macros.tm
pl', | 31 '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/struct_macros.tm
pl', |
33 '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/wrapper_class_de
claration.tmpl', | 32 '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/wrapper_class_de
claration.tmpl', |
34 '<(DEPTH)/mojo/public/bindings/generators/js_templates/enum_definition.t
mpl', | 33 '<(DEPTH)/mojo/public/bindings/generators/js_templates/enum_definition.t
mpl', |
35 '<(DEPTH)/mojo/public/bindings/generators/js_templates/interface_definit
ion.tmpl', | 34 '<(DEPTH)/mojo/public/bindings/generators/js_templates/interface_definit
ion.tmpl', |
36 '<(DEPTH)/mojo/public/bindings/generators/js_templates/module.js.tmpl', | 35 '<(DEPTH)/mojo/public/bindings/generators/js_templates/module.js.tmpl', |
37 '<(DEPTH)/mojo/public/bindings/generators/js_templates/struct_definition
.tmpl', | 36 '<(DEPTH)/mojo/public/bindings/generators/js_templates/struct_definition
.tmpl', |
38 '<(DEPTH)/mojo/public/bindings/generators/mojom_cpp_generator.py', | 37 '<(DEPTH)/mojo/public/bindings/generators/mojom_cpp_generator.py', |
39 '<(DEPTH)/mojo/public/bindings/generators/mojom_js_generator.py', | 38 '<(DEPTH)/mojo/public/bindings/generators/mojom_js_generator.py', |
40 '<(DEPTH)/mojo/public/bindings/pylib/parse/__init__.py', | 39 '<(DEPTH)/mojo/public/bindings/pylib/parse/__init__.py', |
41 '<(DEPTH)/mojo/public/bindings/pylib/parse/mojo_lexer.py', | 40 '<(DEPTH)/mojo/public/bindings/pylib/parse/mojo_lexer.py', |
42 '<(DEPTH)/mojo/public/bindings/pylib/parse/mojo_parser.py', | 41 '<(DEPTH)/mojo/public/bindings/pylib/parse/mojo_parser.py', |
43 '<(DEPTH)/mojo/public/bindings/pylib/parse/mojo_translate.py', | 42 '<(DEPTH)/mojo/public/bindings/pylib/parse/mojo_translate.py', |
44 '<(DEPTH)/mojo/public/bindings/pylib/generate/__init__.py', | 43 '<(DEPTH)/mojo/public/bindings/pylib/generate/__init__.py', |
45 '<(DEPTH)/mojo/public/bindings/pylib/generate/mojom.py', | 44 '<(DEPTH)/mojo/public/bindings/pylib/generate/mojom.py', |
46 '<(DEPTH)/mojo/public/bindings/pylib/generate/mojom_data.py', | 45 '<(DEPTH)/mojo/public/bindings/pylib/generate/mojom_data.py', |
47 '<(DEPTH)/mojo/public/bindings/pylib/generate/mojom_generator.py', | 46 '<(DEPTH)/mojo/public/bindings/pylib/generate/mojom_generator.py', |
48 '<(DEPTH)/mojo/public/bindings/pylib/generate/mojom_pack.py', | 47 '<(DEPTH)/mojo/public/bindings/pylib/generate/mojom_pack.py', |
49 '<(DEPTH)/mojo/public/bindings/pylib/generate/template_expander.py', | 48 '<(DEPTH)/mojo/public/bindings/pylib/generate/template_expander.py', |
50 ], | 49 ], |
51 'outputs': [ | 50 'outputs': [ |
52 '<(output_dir)/<(RULE_INPUT_ROOT).cc', | 51 '<(SHARED_INTERMEDIATE_DIR)/<(mojom_base_output_dir)/<(RULE_INPUT_PATH).
cc', |
53 '<(output_dir)/<(RULE_INPUT_ROOT).h', | 52 '<(SHARED_INTERMEDIATE_DIR)/<(mojom_base_output_dir)/<(RULE_INPUT_PATH).
h', |
54 '<(output_dir)/<(RULE_INPUT_ROOT).js', | 53 '<(SHARED_INTERMEDIATE_DIR)/<(mojom_base_output_dir)/<(RULE_INPUT_PATH).
js', |
55 '<(output_dir)/<(RULE_INPUT_ROOT)_internal.h', | 54 '<(SHARED_INTERMEDIATE_DIR)/<(mojom_base_output_dir)/<(RULE_INPUT_PATH)-
internal.h', |
56 ], | 55 ], |
57 'action': [ | 56 'action': [ |
58 'python', '<@(mojom_bindings_generator)', | 57 'python', '<@(mojom_bindings_generator)', |
59 '<(RULE_INPUT_PATH)', | 58 '<(RULE_INPUT_PATH)', |
60 '-i', 'mojom', | 59 '-d', '<(DEPTH)', |
61 '-o', '<(output_dir)', | 60 '-o', '<(SHARED_INTERMEDIATE_DIR)/<(mojom_base_output_dir)/<(RULE_INPUT_
DIRNAME)', |
62 ], | 61 ], |
63 'message': 'Generating C++ from mojom <(RULE_INPUT_PATH)', | 62 'message': 'Generating C++ from <(RULE_INPUT_PATH)', |
64 'process_outputs_as_sources': 1, | 63 'process_outputs_as_sources': 1, |
65 } | 64 } |
66 ], | 65 ], |
67 'dependencies': [ | 66 'dependencies': [ |
68 '<(DEPTH)/mojo/mojo.gyp:mojo_bindings', | 67 '<(DEPTH)/mojo/mojo.gyp:mojo_bindings', |
69 '<(DEPTH)/mojo/mojo.gyp:mojo_system', | 68 '<(DEPTH)/mojo/mojo.gyp:mojo_system', |
70 ], | 69 ], |
71 'include_dirs': [ | 70 'include_dirs': [ |
72 '<(DEPTH)', | 71 '<(DEPTH)', |
73 '<(SHARED_INTERMEDIATE_DIR)', | 72 '<(SHARED_INTERMEDIATE_DIR)', |
74 ], | 73 ], |
75 'direct_dependent_settings': { | 74 'direct_dependent_settings': { |
76 'include_dirs': [ | 75 'include_dirs': [ |
77 '<(DEPTH)', | 76 '<(DEPTH)', |
78 '<(SHARED_INTERMEDIATE_DIR)', | 77 '<(SHARED_INTERMEDIATE_DIR)', |
79 ], | 78 ], |
80 }, | 79 }, |
81 'hard_dependency': 1, | 80 'hard_dependency': 1, |
82 } | 81 } |
OLD | NEW |