Change Shell / ShellClient to ServiceProvider
[chromium-blink-merge.git] / mojo / mojo_public.gypi
blob2f36963ccc77118be0df9635f151038eed5cf841
2   'targets': [
3     {
4       'target_name': 'mojo_system',
5       'type': 'static_library',
6       'defines': [
7         'MOJO_SYSTEM_IMPLEMENTATION',
8       ],
9       'include_dirs': [
10         '..',
11       ],
12       'direct_dependent_settings': {
13         'include_dirs': [
14           '..',
15         ],
16       },
17       'all_dependent_settings': {
18         'conditions': [
19           # We need to be able to call the MojoSetSystemThunks() function in
20           # system_thunks.cc
21           ['OS=="android"', {
22             'ldflags!': [
23               '-Wl,--exclude-libs=ALL',
24             ],
25           }],
26         ],
27       },
28       'sources': [
29         'public/c/system/core.h',
30         'public/c/system/macros.h',
31         'public/c/system/system_export.h',
32         'public/platform/native/system_thunks.cc',
33         'public/platform/native/system_thunks.h',
34       ],
35     },
36     {
37       'target_name': 'mojo_gles2',
38       'type': 'shared_library',
39       'defines': [
40         'MOJO_GLES2_IMPLEMENTATION',
41         'GLES2_USE_MOJO',
42       ],
43       'include_dirs': [
44         '..',
45       ],
46       'dependencies': [
47         '../third_party/khronos/khronos.gyp:khronos_headers'
48       ],
49       'direct_dependent_settings': {
50         'include_dirs': [
51           '..',
52         ],
53         'defines': [
54           'GLES2_USE_MOJO',
55         ],
56       },
57       'sources': [
58         'public/c/gles2/gles2.h',
59         'public/c/gles2/gles2_export.h',
60         'public/gles2/gles2_private.cc',
61         'public/gles2/gles2_private.h',
62       ],
63       'conditions': [
64         ['OS=="mac"', {
65           'xcode_settings': {
66             # Make it a run-path dependent library.
67             'DYLIB_INSTALL_NAME_BASE': '@loader_path',
68           },
69         }],
70       ],
71     },
72     {
73       'target_name': 'mojo_test_support',
74       'type': 'shared_library',
75       'defines': [
76         'MOJO_TEST_SUPPORT_IMPLEMENTATION',
77       ],
78       'include_dirs': [
79         '..',
80       ],
81       'direct_dependent_settings': {
82         'include_dirs': [
83           '..',
84         ],
85       },
86       'sources': [
87         'public/c/test_support/test_support.h',
88         'public/c/test_support/test_support_export.h',
89         'public/tests/test_support_private.cc',
90         'public/tests/test_support_private.h',
91       ],
92       'conditions': [
93         ['OS=="mac"', {
94           'xcode_settings': {
95             # Make it a run-path dependent library.
96             'DYLIB_INSTALL_NAME_BASE': '@loader_path',
97           },
98         }],
99       ],
100     },
101     {
102       'target_name': 'mojo_public_test_utils',
103       'type': 'static_library',
104       'dependencies': [
105         '../base/base.gyp:base',
106         '../testing/gtest.gyp:gtest',
107         'mojo_test_support',
108       ],
109       'sources': [
110         'public/cpp/test_support/lib/test_support.cc',
111         'public/cpp/test_support/lib/test_utils.cc',
112         'public/cpp/test_support/test_utils.h',
113       ],
114     },
115     # TODO(vtl): Reorganize the mojo_public_*_unittests.
116     {
117       'target_name': 'mojo_public_bindings_unittests',
118       'type': 'executable',
119       'dependencies': [
120         '../testing/gtest.gyp:gtest',
121         'mojo_cpp_bindings',
122         'mojo_environment_standalone',
123         'mojo_public_test_utils',
124         'mojo_run_all_unittests',
125         'mojo_public_test_interfaces',
126         'mojo_utility',
127       ],
128       'sources': [
129         'public/cpp/bindings/tests/array_unittest.cc',
130         'public/cpp/bindings/tests/buffer_unittest.cc',
131         'public/cpp/bindings/tests/connector_unittest.cc',
132         'public/cpp/bindings/tests/handle_passing_unittest.cc',
133         'public/cpp/bindings/tests/interface_ptr_unittest.cc',
134         'public/cpp/bindings/tests/request_response_unittest.cc',
135         'public/cpp/bindings/tests/router_unittest.cc',
136         'public/cpp/bindings/tests/sample_service_unittest.cc',
137         'public/cpp/bindings/tests/type_conversion_unittest.cc',
138         'public/cpp/bindings/tests/validation_unittest.cc',
139       ],
140     },
141     {
142       'target_name': 'mojo_public_environment_unittests',
143       'type': 'executable',
144       'dependencies': [
145         '../base/base.gyp:base',
146         '../testing/gtest.gyp:gtest',
147         'mojo_environment_standalone',
148         'mojo_public_test_utils',
149         'mojo_run_all_unittests',
150         'mojo_utility',
151       ],
152       'sources': [
153         'public/cpp/environment/tests/async_waiter_unittest.cc',
154       ],
155     },
156     {
157       'target_name': 'mojo_public_system_unittests',
158       'type': 'executable',
159       'dependencies': [
160         '../base/base.gyp:base',
161         '../testing/gtest.gyp:gtest',
162         'mojo_cpp_bindings',
163         'mojo_public_test_utils',
164         'mojo_run_all_unittests',
165       ],
166       'sources': [
167         'public/c/system/tests/core_unittest.cc',
168         'public/c/system/tests/core_unittest_pure_c.c',
169         'public/c/system/tests/macros_unittest.cc',
170         'public/cpp/system/tests/core_unittest.cc',
171         'public/cpp/system/tests/macros_unittest.cc',
172       ],
173     },
174     {
175       'target_name': 'mojo_public_utility_unittests',
176       'type': 'executable',
177       'dependencies': [
178         '../base/base.gyp:base',
179         '../testing/gtest.gyp:gtest',
180         'mojo_cpp_bindings',
181         'mojo_public_test_utils',
182         'mojo_run_all_unittests',
183         'mojo_utility',
184       ],
185       'sources': [
186         'public/cpp/utility/tests/mutex_unittest.cc',
187         'public/cpp/utility/tests/run_loop_unittest.cc',
188         'public/cpp/utility/tests/thread_unittest.cc',
189       ],
190       'conditions': [
191         # See crbug.com/342893:
192         ['OS=="win"', {
193           'sources!': [
194             'public/cpp/utility/tests/mutex_unittest.cc',
195             'public/cpp/utility/tests/thread_unittest.cc',
196           ],
197         }],
198       ],
199     },
200     {
201       'target_name': 'mojo_public_system_perftests',
202       'type': 'executable',
203       'dependencies': [
204         '../base/base.gyp:base',
205         '../testing/gtest.gyp:gtest',
206         'mojo_public_test_utils',
207         'mojo_run_all_perftests',
208         'mojo_utility',
209       ],
210       'sources': [
211         'public/c/system/tests/core_perftest.cc',
212       ],
213     },
214     {
215       'target_name': 'mojo_cpp_bindings',
216       'type': 'static_library',
217       'include_dirs': [
218         '..'
219       ],
220       'sources': [
221         'public/cpp/bindings/allocation_scope.h',
222         'public/cpp/bindings/array.h',
223         'public/cpp/bindings/buffer.h',
224         'public/cpp/bindings/callback.h',
225         'public/cpp/bindings/error_handler.h',
226         'public/cpp/bindings/interface_impl.h',
227         'public/cpp/bindings/interface_ptr.h',
228         'public/cpp/bindings/message.h',
229         'public/cpp/bindings/message_filter.h',
230         'public/cpp/bindings/no_interface.h',
231         'public/cpp/bindings/passable.h',
232         'public/cpp/bindings/sync_dispatcher.h',
233         'public/cpp/bindings/type_converter.h',
234         'public/cpp/bindings/lib/array.cc',
235         'public/cpp/bindings/lib/array_internal.h',
236         'public/cpp/bindings/lib/array_internal.cc',
237         'public/cpp/bindings/lib/bindings_internal.h',
238         'public/cpp/bindings/lib/bindings_serialization.cc',
239         'public/cpp/bindings/lib/bindings_serialization.h',
240         'public/cpp/bindings/lib/buffer.cc',
241         'public/cpp/bindings/lib/callback_internal.h',
242         'public/cpp/bindings/lib/connector.cc',
243         'public/cpp/bindings/lib/connector.h',
244         'public/cpp/bindings/lib/filter_chain.cc',
245         'public/cpp/bindings/lib/filter_chain.h',
246         'public/cpp/bindings/lib/fixed_buffer.cc',
247         'public/cpp/bindings/lib/fixed_buffer.h',
248         'public/cpp/bindings/lib/interface_impl_internal.h',
249         'public/cpp/bindings/lib/interface_ptr_internal.h',
250         'public/cpp/bindings/lib/message.cc',
251         'public/cpp/bindings/lib/message_builder.cc',
252         'public/cpp/bindings/lib/message_builder.h',
253         'public/cpp/bindings/lib/message_filter.cc',
254         'public/cpp/bindings/lib/message_header_validator.cc',
255         'public/cpp/bindings/lib/message_header_validator.h',
256         'public/cpp/bindings/lib/message_internal.h',
257         'public/cpp/bindings/lib/message_queue.cc',
258         'public/cpp/bindings/lib/message_queue.h',
259         'public/cpp/bindings/lib/no_interface.cc',
260         'public/cpp/bindings/lib/router.cc',
261         'public/cpp/bindings/lib/router.h',
262         'public/cpp/bindings/lib/scratch_buffer.cc',
263         'public/cpp/bindings/lib/scratch_buffer.h',
264         'public/cpp/bindings/lib/shared_data.h',
265         'public/cpp/bindings/lib/shared_ptr.h',
266         'public/cpp/bindings/lib/sync_dispatcher.cc',
267       ],
268     },
269     {
270       'target_name': 'mojo_js_bindings',
271       'type': 'static_library',
272       'include_dirs': [
273         '..'
274       ],
275       'sources': [
276         'public/js/bindings/constants.cc',
277         'public/js/bindings/constants.h',
278       ],
279     },
280     {
281       'target_name': 'mojo_public_test_interfaces',
282       'type': 'static_library',
283       'sources': [
284         'public/interfaces/bindings/tests/math_calculator.mojom',
285         'public/interfaces/bindings/tests/sample_factory.mojom',
286         'public/interfaces/bindings/tests/sample_import.mojom',
287         'public/interfaces/bindings/tests/sample_import2.mojom',
288         'public/interfaces/bindings/tests/sample_interfaces.mojom',
289         'public/interfaces/bindings/tests/sample_service.mojom',
290         'public/interfaces/bindings/tests/test_structs.mojom',
291       ],
292       'variables': {
293         'mojom_base_output_dir': 'mojo',
294       },
295       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
296       'export_dependent_settings': [
297         'mojo_cpp_bindings',
298       ],
299       'dependencies': [
300         'mojo_cpp_bindings',
301       ],
302     },
303     {
304       'target_name': 'mojo_environment_standalone',
305       'type': 'static_library',
306       'sources': [
307         'public/cpp/environment/buffer_tls.h',
308         'public/cpp/environment/default_async_waiter.h',
309         'public/cpp/environment/environment.h',
310         'public/cpp/environment/lib/default_async_waiter.cc',
311         'public/cpp/environment/lib/buffer_tls.cc',
312         'public/cpp/environment/lib/buffer_tls_setup.h',
313         'public/cpp/environment/lib/environment.cc',
314       ],
315       'include_dirs': [
316         '..',
317       ],
318     },
319     {
320       'target_name': 'mojo_utility',
321       'type': 'static_library',
322       'sources': [
323         'public/cpp/utility/mutex.h',
324         'public/cpp/utility/run_loop.h',
325         'public/cpp/utility/run_loop_handler.h',
326         'public/cpp/utility/thread.h',
327         'public/cpp/utility/lib/mutex.cc',
328         'public/cpp/utility/lib/run_loop.cc',
329         'public/cpp/utility/lib/thread.cc',
330         'public/cpp/utility/lib/thread_local.h',
331         'public/cpp/utility/lib/thread_local_posix.cc',
332         'public/cpp/utility/lib/thread_local_win.cc',
333       ],
334       'conditions': [
335         # See crbug.com/342893:
336         ['OS=="win"', {
337           'sources!': [
338             'public/cpp/utility/mutex.h',
339             'public/cpp/utility/thread.h',
340             'public/cpp/utility/lib/mutex.cc',
341             'public/cpp/utility/lib/thread.cc',
342           ],
343         }],
344       ],
345       'include_dirs': [
346         '..',
347       ],
348     },
349     {
350       'target_name': 'mojo_geometry_bindings',
351       'type': 'static_library',
352       'sources': [
353         'public/interfaces/geometry/geometry.mojom',
354       ],
355       'variables': {
356         'mojom_base_output_dir': 'mojo',
357       },
358       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
359       'dependencies': [
360         'mojo_cpp_bindings',
361       ],
362       'export_dependent_settings': [
363         'mojo_cpp_bindings',
364       ],
365     },
366     {
367       'target_name': 'mojo_service_provider_bindings',
368       'type': 'static_library',
369       'sources': [
370         'public/interfaces/service_provider/service_provider.mojom',
371       ],
372       'variables': {
373         'mojom_base_output_dir': 'mojo',
374       },
375       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
376       'dependencies': [
377         'mojo_cpp_bindings',
378       ],
379       'export_dependent_settings': [
380         'mojo_cpp_bindings',
381       ],
382     },
383     {
384       'target_name': 'mojo_application',
385       'type': 'static_library',
386       'sources': [
387         'public/cpp/application/application.h',
388         'public/cpp/application/connect.h',
389         'public/cpp/application/lib/application.cc',
390         'public/cpp/application/lib/service_connector.cc',
391         'public/cpp/application/lib/service_connector.h',
392       ],
393       'dependencies': [
394         'mojo_service_provider_bindings',
395       ],
396       'export_dependent_settings': [
397         'mojo_service_provider_bindings',
398       ],
399     },
400   ],
401   'conditions': [
402     ['OS == "android"', {
403       'targets': [
404         {
405           'target_name': 'mojo_public_java',
406           'type': 'none',
407           'variables': {
408             'java_in_dir': 'public/java',
409           },
410           'includes': [ '../build/java.gypi' ],
411         },
412         {
413           'target_name': 'mojo_bindings_java',
414           'type': 'none',
415           'variables': {
416             'java_in_dir': 'bindings/java',
417           },
418           'dependencies': [
419             'mojo_public_java',
420           ],
421           'includes': [ '../build/java.gypi' ],
422         },
423       ],
424     }],
425   ],