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 'mojom_base_output_dir': | |
11 '<!(python <(DEPTH)/build/inverse_depth.py <(DEPTH))', | |
12 'mojom_generated_outputs': [ | |
13 '<!@(python <(DEPTH)/mojo/public/tools/bindings/mojom_list_outputs.py --ba
sedir <(mojom_base_output_dir) <@(mojom_files))', | |
14 ], | |
15 }, | |
16 # Given mojom files as inputs, generate sources. These sources will be | |
17 # exported to another target (via dependent_settings) to be compiled. This | |
18 # keeps code generation separate from compilation, allowing the same sources | |
19 # to be compiled with multiple toolchains - target, NaCl, etc. | |
20 'actions': [ | |
21 { | |
22 'action_name': '<(_target_name)_mojom_bindings_generator', | |
23 'variables': { | |
24 'java_out_dir': '<(PRODUCT_DIR)/java_mojo/<(_target_name)/src', | |
25 'mojom_import_args%': [ | |
26 '-I<(DEPTH)' | |
27 ], | |
28 }, | |
29 'inputs': [ | |
30 '<@(mojom_bindings_generator_sources)', | |
31 '<@(mojom_files)', | |
32 ], | |
33 'outputs': [ | |
34 '<@(mojom_generated_outputs)', | |
35 ], | |
36 'action': [ | |
37 'python', '<@(mojom_bindings_generator)', | |
38 '<@(mojom_files)', | |
39 '--use_bundled_pylibs', | |
40 '-d', '<(DEPTH)', | |
41 '<@(mojom_import_args)', | |
42 '-o', '<(SHARED_INTERMEDIATE_DIR)', | |
43 '--java_output_directory=<(java_out_dir)', | |
44 ], | |
45 'message': 'Generating Mojo bindings from <@(mojom_files)', | |
46 } | |
47 ], | |
48 # Prevent the generated sources from being injected into the "all" target by | |
49 # preventing the code generator from being directly depended on by the "all" | |
50 # target. | |
51 'suppress_wildcard': '1', | |
52 'direct_dependent_settings': { | |
53 # A target directly depending on this action will compile the generated | |
54 # sources. | |
55 'sources': [ | |
56 '<@(mojom_generated_outputs)', | |
57 ], | |
58 # Include paths needed to compile the generated sources into a library. | |
59 'include_dirs': [ | |
60 '<(DEPTH)', | |
61 '<(SHARED_INTERMEDIATE_DIR)', | |
62 ], | |
63 # Make sure the generated header files are available for any static library | |
64 # that depends on a static library that depends on this generator. | |
65 'hard_dependency': 1, | |
66 'direct_dependent_settings': { | |
67 # Include paths needed to find the generated header files and their | |
68 # transitive dependancies when using the library. | |
69 'include_dirs': [ | |
70 '<(DEPTH)', | |
71 '<(SHARED_INTERMEDIATE_DIR)', | |
72 ], | |
73 'variables': { | |
74 'generated_src_dirs': [ | |
75 '<(PRODUCT_DIR)/java_mojo/<(_target_name)/src', | |
76 ], | |
77 }, | |
78 } | |
79 }, | |
80 } | |
OLD | NEW |