OLD | NEW |
| (Empty) |
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 | |
3 # found in the LICENSE file. | |
4 | |
5 { | |
6 'includes': [ | |
7 'mojom_bindings_generator_variables.gypi', | |
8 ], | |
9 'variables': { | |
10 'variables': { | |
11 'mojom_typemap_dependencies%': [], | |
12 'mojom_typemaps%': [], | |
13 'mojom_variant%': 'none', | |
14 }, | |
15 'mojom_typemap_dependencies%': ['<@(mojom_typemap_dependencies)'], | |
16 'mojom_typemaps%': ['<@(mojom_typemaps)'], | |
17 'mojom_variant%': '<(mojom_variant)', | |
18 'mojom_base_output_dir': | |
19 '<!(python <(DEPTH)/build/inverse_depth.py <(DEPTH))', | |
20 'mojom_generated_outputs': [ | |
21 '<!@(python <(DEPTH)/mojo/public/tools/bindings/mojom_list_outputs.py --ba
sedir <(mojom_base_output_dir) --variant <(mojom_variant) <@(_sources))', | |
22 ], | |
23 'mojom_generator_typemap_args': [ | |
24 '<!@(python <(DEPTH)/mojo/public/tools/bindings/mojom_get_generator_typema
p_args.py <@(mojom_typemaps))', | |
25 ], | |
26 'mojom_extra_generator_args%': [], | |
27 'conditions': [ | |
28 ['mojom_variant=="none"', { | |
29 'mojom_output_languages%': 'c++,javascript,java', | |
30 }, { | |
31 'mojom_output_languages%': 'c++', | |
32 }], | |
33 ], | |
34 }, | |
35 'actions': [ | |
36 { | |
37 'variables': { | |
38 'java_out_dir': '<(PRODUCT_DIR)/java_mojo/<(_target_name)/src', | |
39 'stamp_filename': '<(PRODUCT_DIR)/java_mojo/<(_target_name)/<(_target_na
me).stamp', | |
40 }, | |
41 'action_name': '<(_target_name)_mojom_bindings_stamp', | |
42 # The java output directory is deleted to ensure that the java library | |
43 # doesn't try to compile stale files. | |
44 'action': [ | |
45 'python', '<(DEPTH)/build/rmdir_and_stamp.py', | |
46 '<(java_out_dir)', | |
47 '<(stamp_filename)', | |
48 ], | |
49 'inputs': [ '<@(_sources)' ], | |
50 'outputs': [ '<(stamp_filename)' ], | |
51 } | |
52 ], | |
53 'rules': [ | |
54 { | |
55 'rule_name': '<(_target_name)_mojom_bindings_generator', | |
56 'extension': 'mojom', | |
57 'variables': { | |
58 'java_out_dir': '<(PRODUCT_DIR)/java_mojo/<(_target_name)/src', | |
59 'mojom_import_args%': [ | |
60 '-I<(DEPTH)', | |
61 '-I<(DEPTH)/mojo/services', | |
62 ], | |
63 'stamp_filename': '<(PRODUCT_DIR)/java_mojo/<(_target_name)/<(_target_na
me).stamp', | |
64 }, | |
65 'inputs': [ | |
66 '<@(mojom_bindings_generator_sources)', | |
67 '<@(mojom_typemaps)', | |
68 '<(stamp_filename)', | |
69 '<(SHARED_INTERMEDIATE_DIR)/mojo/public/tools/bindings/cpp_templates.zip
', | |
70 '<(SHARED_INTERMEDIATE_DIR)/mojo/public/tools/bindings/java_templates.zi
p', | |
71 '<(SHARED_INTERMEDIATE_DIR)/mojo/public/tools/bindings/js_templates.zip'
, | |
72 ], | |
73 'conditions': [ | |
74 ['mojom_variant=="none"', { | |
75 'outputs': [ | |
76 '<(SHARED_INTERMEDIATE_DIR)/<(mojom_base_output_dir)/<(RULE_INPUT_DI
RNAME)/<(RULE_INPUT_ROOT).mojom.cc', | |
77 '<(SHARED_INTERMEDIATE_DIR)/<(mojom_base_output_dir)/<(RULE_INPUT_DI
RNAME)/<(RULE_INPUT_ROOT).mojom.h', | |
78 '<(SHARED_INTERMEDIATE_DIR)/<(mojom_base_output_dir)/<(RULE_INPUT_DI
RNAME)/<(RULE_INPUT_ROOT).mojom.js', | |
79 '<(SHARED_INTERMEDIATE_DIR)/<(mojom_base_output_dir)/<(RULE_INPUT_DI
RNAME)/<(RULE_INPUT_ROOT).mojom-internal.h', | |
80 ] | |
81 }, { | |
82 'outputs': [ | |
83 '<(SHARED_INTERMEDIATE_DIR)/<(mojom_base_output_dir)/<(RULE_INPUT_DI
RNAME)/<(RULE_INPUT_ROOT).mojom-<(mojom_variant).cc', | |
84 '<(SHARED_INTERMEDIATE_DIR)/<(mojom_base_output_dir)/<(RULE_INPUT_DI
RNAME)/<(RULE_INPUT_ROOT).mojom-<(mojom_variant).h', | |
85 '<(SHARED_INTERMEDIATE_DIR)/<(mojom_base_output_dir)/<(RULE_INPUT_DI
RNAME)/<(RULE_INPUT_ROOT).mojom-<(mojom_variant)-internal.h', | |
86 ], | |
87 }] | |
88 ], | |
89 'action': [ | |
90 'python', '<@(mojom_bindings_generator)', | |
91 '--use_bundled_pylibs', 'generate', | |
92 './<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).mojom', | |
93 '-d', '<(DEPTH)', | |
94 '<@(mojom_import_args)', | |
95 '-o', '<(SHARED_INTERMEDIATE_DIR)', | |
96 '--java_output_directory=<(java_out_dir)', | |
97 '--variant', '<(mojom_variant)', | |
98 '-g', '<(mojom_output_languages)', | |
99 '<@(mojom_generator_typemap_args)', | |
100 '<@(mojom_extra_generator_args)', | |
101 '--bytecode_path', | |
102 '<(SHARED_INTERMEDIATE_DIR)/mojo/public/tools/bindings', | |
103 ], | |
104 'message': 'Generating Mojo bindings from <(RULE_INPUT_DIRNAME)/<(RULE_INP
UT_ROOT).mojom', | |
105 'process_outputs_as_sources': 1, | |
106 } | |
107 ], | |
108 'dependencies': [ | |
109 '<(DEPTH)/base/base.gyp:base', | |
110 '<(DEPTH)/mojo/public/tools/bindings/bindings.gyp:precompile_mojom_bindings_
generator_templates', | |
111 '<(DEPTH)/third_party/mojo/mojo_public.gyp:mojo_interface_bindings_generatio
n', | |
112 '<@(mojom_typemap_dependencies)', | |
113 ], | |
114 'export_dependent_settings': [ | |
115 '<@(mojom_typemap_dependencies)', | |
116 ], | |
117 'include_dirs': [ | |
118 '<(DEPTH)', | |
119 '<(SHARED_INTERMEDIATE_DIR)', | |
120 ], | |
121 'direct_dependent_settings': { | |
122 'include_dirs': [ | |
123 '<(DEPTH)', | |
124 '<(SHARED_INTERMEDIATE_DIR)', | |
125 ], | |
126 'variables': { | |
127 'generated_src_dirs': [ | |
128 '<(PRODUCT_DIR)/java_mojo/<(_target_name)/src', | |
129 ], | |
130 'additional_input_paths': [ | |
131 '<@(mojom_bindings_generator_sources)', | |
132 '<@(_sources)', | |
133 ], | |
134 }, | |
135 }, | |
136 'hard_dependency': 1, | |
137 } | |
OLD | NEW |