Currently, bionic only build a subset of the examples. This changes turns on all...
[chromium-blink-merge.git] / mojo / mojo_public.gypi
blob7dbf65f4999e2da7e6bd580e22022e3d5d33316c
1 # Copyright 2014 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.
6   'targets': [
7     {
8       # GN version: //mojo/public/c/system
9       'target_name': 'mojo_system',
10       'type': 'static_library',
11       'defines': [
12         'MOJO_SYSTEM_IMPLEMENTATION',
13       ],
14       'include_dirs': [
15         '..',
16       ],
17       'direct_dependent_settings': {
18         'include_dirs': [
19           '..',
20         ],
21       },
22       'all_dependent_settings': {
23         'conditions': [
24           # We need to be able to call the MojoSetSystemThunks() function in
25           # system_thunks.cc
26           ['OS=="android"', {
27             'ldflags!': [
28               '-Wl,--exclude-libs=ALL',
29             ],
30           }],
31         ],
32       },
33       'sources': [
34         'public/c/system/buffer.h',
35         'public/c/system/core.h',
36         'public/c/system/data_pipe.h',
37         'public/c/system/functions.h',
38         'public/c/system/macros.h',
39         'public/c/system/message_pipe.h',
40         'public/c/system/system_export.h',
41         'public/c/system/types.h',
42         'public/platform/native/system_thunks.cc',
43         'public/platform/native/system_thunks.h',
44       ],
45     },
46     {
47       # GN version: //mojo/public/cpp/bindings
48       'target_name': 'mojo_cpp_bindings',
49       'type': 'static_library',
50       'include_dirs': [
51         '..'
52       ],
53       'sources': [
54         'public/cpp/bindings/array.h',
55         'public/cpp/bindings/callback.h',
56         'public/cpp/bindings/error_handler.h',
57         'public/cpp/bindings/interface_impl.h',
58         'public/cpp/bindings/interface_ptr.h',
59         'public/cpp/bindings/interface_request.h',
60         'public/cpp/bindings/message.h',
61         'public/cpp/bindings/message_filter.h',
62         'public/cpp/bindings/no_interface.h',
63         'public/cpp/bindings/string.h',
64         'public/cpp/bindings/type_converter.h',
65         'public/cpp/bindings/lib/array_internal.h',
66         'public/cpp/bindings/lib/array_internal.cc',
67         'public/cpp/bindings/lib/array_serialization.h',
68         'public/cpp/bindings/lib/bindings_internal.h',
69         'public/cpp/bindings/lib/bindings_serialization.cc',
70         'public/cpp/bindings/lib/bindings_serialization.h',
71         'public/cpp/bindings/lib/bounds_checker.cc',
72         'public/cpp/bindings/lib/bounds_checker.h',
73         'public/cpp/bindings/lib/buffer.h',
74         'public/cpp/bindings/lib/callback_internal.h',
75         'public/cpp/bindings/lib/connector.cc',
76         'public/cpp/bindings/lib/connector.h',
77         'public/cpp/bindings/lib/filter_chain.cc',
78         'public/cpp/bindings/lib/filter_chain.h',
79         'public/cpp/bindings/lib/fixed_buffer.cc',
80         'public/cpp/bindings/lib/fixed_buffer.h',
81         'public/cpp/bindings/lib/interface_impl_internal.h',
82         'public/cpp/bindings/lib/interface_ptr_internal.h',
83         'public/cpp/bindings/lib/message.cc',
84         'public/cpp/bindings/lib/message_builder.cc',
85         'public/cpp/bindings/lib/message_builder.h',
86         'public/cpp/bindings/lib/message_filter.cc',
87         'public/cpp/bindings/lib/message_header_validator.cc',
88         'public/cpp/bindings/lib/message_header_validator.h',
89         'public/cpp/bindings/lib/message_internal.h',
90         'public/cpp/bindings/lib/message_queue.cc',
91         'public/cpp/bindings/lib/message_queue.h',
92         'public/cpp/bindings/lib/no_interface.cc',
93         'public/cpp/bindings/lib/router.cc',
94         'public/cpp/bindings/lib/router.h',
95         'public/cpp/bindings/lib/shared_data.h',
96         'public/cpp/bindings/lib/shared_ptr.h',
97         'public/cpp/bindings/lib/string_serialization.h',
98         'public/cpp/bindings/lib/string_serialization.cc',
99         'public/cpp/bindings/lib/validation_errors.cc',
100         'public/cpp/bindings/lib/validation_errors.h',
101       ],
102     },
103     {
104       # GN version: //mojo/public/js/bindings
105       'target_name': 'mojo_js_bindings',
106       'type': 'static_library',
107       'include_dirs': [
108         '..'
109       ],
110       'sources': [
111         'public/js/bindings/constants.cc',
112         'public/js/bindings/constants.h',
113       ],
114     },
115     {
116       # GN version: //mojo/public/cpp/environment:standalone
117       'target_name': 'mojo_environment_standalone',
118       'type': 'static_library',
119       'sources': [
120         'public/c/environment/async_waiter.h',
121         'public/c/environment/logger.h',
122         'public/cpp/environment/environment.h',
123         'public/cpp/environment/lib/default_async_waiter.cc',
124         'public/cpp/environment/lib/default_async_waiter.h',
125         'public/cpp/environment/lib/default_logger.cc',
126         'public/cpp/environment/lib/default_logger.h',
127         'public/cpp/environment/lib/environment.cc',
128         'public/cpp/environment/lib/logging.cc',
129         'public/cpp/environment/logging.h',
130       ],
131       'include_dirs': [
132         '..',
133       ],
134     },
135     {
136       # GN version: //mojo/public/cpp/utility
137       'target_name': 'mojo_utility',
138       'type': 'static_library',
139       'sources': [
140         'public/cpp/utility/mutex.h',
141         'public/cpp/utility/run_loop.h',
142         'public/cpp/utility/run_loop_handler.h',
143         'public/cpp/utility/thread.h',
144         'public/cpp/utility/lib/mutex.cc',
145         'public/cpp/utility/lib/run_loop.cc',
146         'public/cpp/utility/lib/thread.cc',
147         'public/cpp/utility/lib/thread_local.h',
148         'public/cpp/utility/lib/thread_local_posix.cc',
149         'public/cpp/utility/lib/thread_local_win.cc',
150       ],
151       'conditions': [
152         # See crbug.com/342893:
153         ['OS=="win"', {
154           'sources!': [
155             'public/cpp/utility/mutex.h',
156             'public/cpp/utility/thread.h',
157             'public/cpp/utility/lib/mutex.cc',
158             'public/cpp/utility/lib/thread.cc',
159           ],
160         }],
161       ],
162       'include_dirs': [
163         '..',
164       ],
165     },
166     {
167       # GN version: //mojo/public/interfaces/service_provider:service_provider
168       'target_name': 'mojo_service_provider_bindings',
169       'type': 'static_library',
170       'sources': [
171         'public/interfaces/service_provider/service_provider.mojom',
172       ],
173       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
174       'dependencies': [
175         'mojo_cpp_bindings',
176       ],
177       'export_dependent_settings': [
178         'mojo_cpp_bindings',
179       ],
180     },
181     {
182       # GN version: //mojo/public/cpp/application
183       'target_name': 'mojo_application',
184       'type': 'static_library',
185       'sources': [
186         'public/cpp/application/application_impl.h',
187         'public/cpp/application/connect.h',
188         'public/cpp/application/lib/application_impl.cc',
189         'public/cpp/application/lib/service_connector.cc',
190         'public/cpp/application/lib/service_connector.h',
191         'public/cpp/application/lib/application_connection.cc',
192         'public/cpp/application/lib/application_delegate.cc',
193         'public/cpp/application/lib/service_registry.cc',
194         'public/cpp/application/lib/service_registry.h',
195       ],
196       'dependencies': [
197         'mojo_service_provider_bindings',
198       ],
199       'export_dependent_settings': [
200         'mojo_service_provider_bindings',
201       ],
202     },
203   ],
204   'conditions': [
205     ['OS == "android"', {
206       'targets': [
207         {
208           # GN version: //mojo/public/java
209           'target_name': 'mojo_public_java',
210           'type': 'none',
211           'variables': {
212             'java_in_dir': 'public/java',
213           },
214           'includes': [ '../build/java.gypi' ],
215         },
216         {
217           # TODO(cmasone): Move out of mojo_public, as this is built from code
218           # outside mojo/public.
219           'target_name': 'mojo_bindings_java',
220           'type': 'none',
221           'variables': {
222             'java_in_dir': 'bindings/java',
223           },
224           'dependencies': [
225             'mojo_public_java',
226           ],
227           'includes': [ '../build/java.gypi' ],
228         },
229       ],
230     }],
231   ],