[Android] Add an error message for java exception crash
[chromium-blink-merge.git] / mojo / mojo.gyp
blob69665f197132375ff41b761c02bb870514a4844d
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.
6   'target_defaults': {
7     'conditions': [
8       ['mojo_shell_debug_url != ""', {
9         'defines': [
10           'MOJO_SHELL_DEBUG=1',
11           'MOJO_SHELL_DEBUG_URL="<(mojo_shell_debug_url)"',
12          ],
13       }],
14     ],
15   },
16   'variables': {
17     'chromium_code': 1,
18     'mojo_shell_debug_url%': "",
19   },
20   'includes': [
21     'mojo_apps.gypi',
22     'mojo_examples.gypi',
23     'mojo_public.gypi',
24     'mojo_services.gypi',
25   ],
26   'targets': [
27     {
28       'target_name': 'mojo',
29       'type': 'none',
30       'dependencies': [
31         'mojo_apps_js_unittests',
32         'mojo_compositor_app',
33         'mojo_common_lib',
34         'mojo_common_unittests',
35         'mojo_cpp_bindings',
36         'mojo_geometry_lib',
37         'mojo_html_viewer',
38         'mojo_js',
39         'mojo_js_bindings',
40         'mojo_js_unittests',
41         'mojo_launcher',
42         'mojo_message_generator',
43         'mojo_native_viewport_service',
44         'mojo_network_service',
45         'mojo_pepper_container_app',
46         'mojo_png_viewer',
47         'mojo_profile_service',
48         'mojo_public_application_unittests',
49         'mojo_public_test_utils',
50         'mojo_public_bindings_unittests',
51         'mojo_public_environment_unittests',
52         'mojo_public_system_perftests',
53         'mojo_public_system_unittests',
54         'mojo_public_utility_unittests',
55         'mojo_sample_app',
56         'mojo_service_manager',
57         'mojo_service_manager_unittests',
58         'mojo_shell',
59         'mojo_shell_lib',
60         'mojo_shell_tests',
61         'mojo_system',
62         'mojo_system_impl',
63         'mojo_system_unittests',
64         'mojo_test_service',
65         'mojo_utility',
66         'mojo_view_manager_lib',
67         'mojo_view_manager_lib_unittests',
68         'mojo_wget',
69       ],
70       'conditions': [
71         ['use_aura==1', {
72           'dependencies': [
73             'mojo_aura_demo',
74             'mojo_aura_demo_init',
75             'mojo_browser',
76             'mojo_demo_launcher',
77             'mojo_embedded_app',
78             'mojo_keyboard',
79             'mojo_media_viewer',
80             'mojo_nesting_app',
81             'mojo_window_manager',
82             'mojo_view_manager',
83             'mojo_view_manager_unittests',
84           ],
85         }],
86         ['OS == "android"', {
87           'dependencies': [
88             'mojo_bindings_java',
89             'mojo_public_java',
90             'mojo_system_java',
91             'libmojo_system_java',
92             'mojo_test_apk',
93           ],
94         }],
95         ['OS == "linux"', {
96           'dependencies': [
97             'mojo_dbus_echo',
98             'mojo_dbus_echo_service',
99           ],
100         }],
101       ]
102     },
103     {
104       'target_name': 'mojo_external_service_bindings',
105       'type': 'static_library',
106       'sources': [
107         'shell/external_service.mojom',
108       ],
109       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
110       'export_dependent_settings': [
111         'mojo_cpp_bindings',
112       ],
113       'dependencies': [
114         'mojo_cpp_bindings',
115       ],
116     },
117     {
118       'target_name': 'mojo_run_all_unittests',
119       'type': 'static_library',
120       'dependencies': [
121         '../base/base.gyp:base',
122         '../base/base.gyp:test_support_base',
123         '../testing/gtest.gyp:gtest',
124         'mojo_system_impl',
125         'mojo_test_support',
126         'mojo_test_support_impl',
127       ],
128       'sources': [
129         'common/test/run_all_unittests.cc',
130       ],
131     },
132     {
133       'target_name': 'mojo_run_all_perftests',
134       'type': 'static_library',
135       'dependencies': [
136         '../base/base.gyp:test_support_base',
137         'mojo_system_impl',
138         'mojo_test_support',
139         'mojo_test_support_impl',
140       ],
141       'sources': [
142         'common/test/run_all_perftests.cc',
143       ],
144     },
145     {
146       # GN version: //mojo/system
147       'target_name': 'mojo_system_impl',
148       'type': '<(component)',
149       'dependencies': [
150         '../base/base.gyp:base',
151         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
152       ],
153       'defines': [
154         'MOJO_SYSTEM_IMPL_IMPLEMENTATION',
155         'MOJO_SYSTEM_IMPLEMENTATION',
156         'MOJO_USE_SYSTEM_IMPL',
157       ],
158       'sources': [
159         'embedder/channel_init.cc',
160         'embedder/channel_init.h',
161         'embedder/embedder.cc',
162         'embedder/embedder.h',
163         'embedder/platform_channel_pair.cc',
164         'embedder/platform_channel_pair.h',
165         'embedder/platform_channel_pair_posix.cc',
166         'embedder/platform_channel_pair_win.cc',
167         'embedder/platform_channel_utils_posix.cc',
168         'embedder/platform_channel_utils_posix.h',
169         'embedder/platform_handle.cc',
170         'embedder/platform_handle.h',
171         'embedder/platform_handle_utils.h',
172         'embedder/platform_handle_utils_posix.cc',
173         'embedder/platform_handle_utils_win.cc',
174         'embedder/platform_handle_vector.h',
175         'embedder/scoped_platform_handle.h',
176         'system/channel.cc',
177         'system/channel.h',
178         'system/constants.h',
179         'system/core.cc',
180         'system/core.h',
181         'system/data_pipe.cc',
182         'system/data_pipe.h',
183         'system/data_pipe_consumer_dispatcher.cc',
184         'system/data_pipe_consumer_dispatcher.h',
185         'system/data_pipe_producer_dispatcher.cc',
186         'system/data_pipe_producer_dispatcher.h',
187         'system/dispatcher.cc',
188         'system/dispatcher.h',
189         'system/entrypoints.cc',
190         'system/handle_signals_state.h',
191         'system/handle_table.cc',
192         'system/handle_table.h',
193         'system/local_data_pipe.cc',
194         'system/local_data_pipe.h',
195         'system/local_message_pipe_endpoint.cc',
196         'system/local_message_pipe_endpoint.h',
197         'system/mapping_table.cc',
198         'system/mapping_table.h',
199         'system/memory.cc',
200         'system/memory.h',
201         'system/message_in_transit.cc',
202         'system/message_in_transit.h',
203         'system/message_in_transit_queue.cc',
204         'system/message_in_transit_queue.h',
205         'system/message_pipe.cc',
206         'system/message_pipe.h',
207         'system/message_pipe_dispatcher.cc',
208         'system/message_pipe_dispatcher.h',
209         'system/message_pipe_endpoint.cc',
210         'system/message_pipe_endpoint.h',
211         'system/options_validation.h',
212         'system/platform_handle_dispatcher.cc',
213         'system/platform_handle_dispatcher.h',
214         'system/proxy_message_pipe_endpoint.cc',
215         'system/proxy_message_pipe_endpoint.h',
216         'system/raw_channel.cc',
217         'system/raw_channel.h',
218         'system/raw_channel_posix.cc',
219         'system/raw_channel_win.cc',
220         'system/raw_shared_buffer.cc',
221         'system/raw_shared_buffer.h',
222         'system/raw_shared_buffer_posix.cc',
223         'system/raw_shared_buffer_win.cc',
224         'system/shared_buffer_dispatcher.cc',
225         'system/shared_buffer_dispatcher.h',
226         'system/simple_dispatcher.cc',
227         'system/simple_dispatcher.h',
228         'system/transport_data.cc',
229         'system/transport_data.h',
230         'system/waiter.cc',
231         'system/waiter.h',
232         'system/waiter_list.cc',
233         'system/waiter_list.h',
234         # Test-only code:
235         # TODO(vtl): It's a little unfortunate that these end up in the same
236         # component as non-test-only code. In the static build, this code should
237         # hopefully be dead-stripped.
238         'embedder/test_embedder.cc',
239         'embedder/test_embedder.h',
240       ],
241       'all_dependent_settings': {
242         # Ensures that dependent projects import the core functions on Windows.
243         'defines': ['MOJO_USE_SYSTEM_IMPL'],
244       }
245     },
246     {
247       'target_name': 'mojo_system_unittests',
248       'type': 'executable',
249       'dependencies': [
250         '../base/base.gyp:base',
251         '../base/base.gyp:run_all_unittests',
252         '../testing/gtest.gyp:gtest',
253         'mojo_common_test_support',
254         'mojo_system_impl',
255       ],
256       'sources': [
257         'embedder/embedder_unittest.cc',
258         'embedder/platform_channel_pair_posix_unittest.cc',
259         'system/channel_unittest.cc',
260         'system/core_unittest.cc',
261         'system/core_test_base.cc',
262         'system/core_test_base.h',
263         'system/data_pipe_unittest.cc',
264         'system/dispatcher_unittest.cc',
265         'system/local_data_pipe_unittest.cc',
266         'system/memory_unittest.cc',
267         'system/message_pipe_dispatcher_unittest.cc',
268         'system/message_pipe_unittest.cc',
269         'system/multiprocess_message_pipe_unittest.cc',
270         'system/options_validation_unittest.cc',
271         'system/platform_handle_dispatcher_unittest.cc',
272         'system/raw_channel_unittest.cc',
273         'system/raw_shared_buffer_unittest.cc',
274         'system/remote_message_pipe_unittest.cc',
275         'system/shared_buffer_dispatcher_unittest.cc',
276         'system/simple_dispatcher_unittest.cc',
277         'system/test_utils.cc',
278         'system/test_utils.h',
279         'system/waiter_list_unittest.cc',
280         'system/waiter_test_utils.cc',
281         'system/waiter_test_utils.h',
282         'system/waiter_unittest.cc',
283       ],
284     },
285     {
286       'target_name': 'mojo_gles2_impl',
287       'type': '<(component)',
288       'dependencies': [
289         '../base/base.gyp:base',
290         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
291         '../gpu/gpu.gyp:command_buffer_client',
292         '../gpu/gpu.gyp:command_buffer_common',
293         '../gpu/gpu.gyp:gles2_cmd_helper',
294         '../gpu/gpu.gyp:gles2_implementation',
295         'mojo_gles2',
296         'mojo_gles2_bindings',
297         'mojo_environment_chromium',
298         'mojo_system_impl',
299       ],
300       'defines': [
301         'MOJO_GLES2_IMPL_IMPLEMENTATION',
302       ],
303       'sources': [
304         'gles2/command_buffer_client_impl.cc',
305         'gles2/command_buffer_client_impl.h',
306         'gles2/gles2_impl_export.h',
307         'gles2/gles2_support_impl.cc',
308         'gles2/gles2_support_impl.h',
309         'gles2/gles2_context.cc',
310         'gles2/gles2_context.h',
311       ],
312     },
313     {
314       'target_name': 'mojo_test_support_impl',
315       'type': 'static_library',
316       'dependencies': [
317         '../base/base.gyp:base',
318       ],
319       'sources': [
320         'common/test/test_support_impl.cc',
321         'common/test/test_support_impl.h',
322       ],
323     },
324     {
325       # GN version: //mojo/common
326       'target_name': 'mojo_common_lib',
327       'type': '<(component)',
328       'defines': [
329         'MOJO_COMMON_IMPLEMENTATION',
330       ],
331       'dependencies': [
332         '../base/base.gyp:base',
333         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
334         'mojo_system_impl',
335       ],
336       'export_dependent_settings': [
337         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
338         'mojo_system_impl',
339       ],
340       'sources': [
341         'common/common_type_converters.cc',
342         'common/common_type_converters.h',
343         'common/data_pipe_utils.cc',
344         'common/data_pipe_utils.h',
345         'common/handle_watcher.cc',
346         'common/handle_watcher.h',
347         'common/message_pump_mojo.cc',
348         'common/message_pump_mojo.h',
349         'common/message_pump_mojo_handler.h',
350         'common/time_helper.cc',
351         'common/time_helper.h',
352       ],
353     },
354     {
355       'target_name': 'mojo_common_test_support',
356       'type': 'static_library',
357       'dependencies': [
358         '../base/base.gyp:base',
359         '../base/base.gyp:test_support_base',
360         '../testing/gtest.gyp:gtest',
361         'mojo_system_impl',
362       ],
363       'sources': [
364         'common/test/multiprocess_test_helper.cc',
365         'common/test/multiprocess_test_helper.h',
366         'common/test/test_utils.h',
367         'common/test/test_utils_posix.cc',
368         'common/test/test_utils_win.cc',
369       ],
370     },
371     {
372       'target_name': 'mojo_common_unittests',
373       'type': 'executable',
374       'dependencies': [
375         '../base/base.gyp:base',
376         '../base/base.gyp:base_message_loop_tests',
377         '../testing/gtest.gyp:gtest',
378         'mojo_cpp_bindings',
379         'mojo_environment_chromium',
380         'mojo_common_lib',
381         'mojo_common_test_support',
382         'mojo_public_test_utils',
383         'mojo_run_all_unittests',
384       ],
385       'sources': [
386         'common/common_type_converters_unittest.cc',
387         'common/handle_watcher_unittest.cc',
388         'common/message_pump_mojo_unittest.cc',
389         'common/test/multiprocess_test_helper_unittest.cc',
390       ],
391     },
392     {
393       # GN version: //mojo/environment:chromium
394       'target_name': 'mojo_environment_chromium',
395       'type': 'static_library',
396       'dependencies': [
397         'mojo_common_lib',
398         'mojo_environment_chromium_impl',
399       ],
400       'sources': [
401         'environment/environment.cc',
402         # TODO(vtl): This is kind of ugly. (See TODO in logging.h.)
403         "public/cpp/environment/logging.h",
404         "public/cpp/environment/lib/logging.h",
405       ],
406       'include_dirs': [
407         '..',
408       ],
409       'export_dependent_settings': [
410         'mojo_environment_chromium_impl',
411       ],
412     },
413     {
414       # GN version: //mojo/environment:chromium_impl
415       'target_name': 'mojo_environment_chromium_impl',
416       'type': '<(component)',
417       'defines': [
418         'MOJO_ENVIRONMENT_IMPL_IMPLEMENTATION',
419       ],
420       'dependencies': [
421         '../base/base.gyp:base',
422         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
423         'mojo_common_lib'
424       ],
425       'sources': [
426         'environment/default_async_waiter_impl.cc',
427         'environment/default_async_waiter_impl.h',
428         'environment/default_logger_impl.cc',
429         'environment/default_logger_impl.h',
430       ],
431       'include_dirs': [
432         '..',
433       ],
434     },
435     {
436       # GN version: //mojo/service_manager
437       'target_name': 'mojo_service_manager',
438       'type': '<(component)',
439       'defines': [
440         'MOJO_SERVICE_MANAGER_IMPLEMENTATION',
441       ],
442       'dependencies': [
443         '../base/base.gyp:base',
444         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
445         '../net/net.gyp:net',
446         '../url/url.gyp:url_lib',
447         'mojo_common_lib',
448         'mojo_environment_chromium',
449         'mojo_service_provider_bindings',
450         'mojo_system_impl',
451       ],
452       'sources': [
453         'service_manager/background_service_loader.cc',
454         'service_manager/background_service_loader.h',
455         'service_manager/service_loader.h',
456         'service_manager/service_manager.cc',
457         'service_manager/service_manager.h',
458         'service_manager/service_manager_export.h',
459       ],
460       'export_dependent_settings': [
461         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
462         'mojo_service_provider_bindings',
463       ],
464     },
465     {
466       'target_name': 'mojo_spy',
467       'type': 'static_library',
468       'dependencies': [
469         '../base/base.gyp:base',
470         '../base/base.gyp:base_static',
471         '../net/net.gyp:http_server',
472         '../url/url.gyp:url_lib',
473         'mojo_service_manager',
474       ],
475       'sources': [
476         'spy/spy.cc',
477         'spy/spy.h',
478         'spy/websocket_server.cc',
479         'spy/websocket_server.h',
480       ],
481     },
482     {
483       'target_name': 'mojo_shell_lib',
484       'type': 'static_library',
485       'dependencies': [
486         '../base/base.gyp:base',
487         '../base/base.gyp:base_static',
488         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
489         '../net/net.gyp:net',
490         '../url/url.gyp:url_lib',
491         'mojo_application',
492         'mojo_external_service_bindings',
493         'mojo_gles2_impl',
494         'mojo_native_viewport_service',
495         'mojo_network_bindings',
496         'mojo_profile_service',
497         'mojo_service_manager',
498         'mojo_service_provider_bindings',
499         'mojo_spy',
500         'mojo_system_impl',
501       ],
502       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
503       'sources': [
504         'shell/app_child_process.cc',
505         'shell/app_child_process.h',
506         'shell/app_child_process.mojom',
507         'shell/app_child_process_host.cc',
508         'shell/app_child_process_host.h',
509         'shell/child_process.cc',
510         'shell/child_process.h',
511         'shell/child_process_host.cc',
512         'shell/child_process_host.h',
513         'shell/context.cc',
514         'shell/context.h',
515         'shell/dbus_service_loader_linux.cc',
516         'shell/dbus_service_loader_linux.h',
517         'shell/dynamic_service_loader.cc',
518         'shell/dynamic_service_loader.h',
519         'shell/dynamic_service_runner.h',
520         'shell/init.cc',
521         'shell/init.h',
522         'shell/in_process_dynamic_service_runner.cc',
523         'shell/in_process_dynamic_service_runner.h',
524         'shell/keep_alive.cc',
525         'shell/keep_alive.h',
526         'shell/mojo_url_resolver.cc',
527         'shell/mojo_url_resolver.h',
528         'shell/out_of_process_dynamic_service_runner.cc',
529         'shell/out_of_process_dynamic_service_runner.h',
530         'shell/profile_service_loader.cc',
531         'shell/profile_service_loader.h',
532         'shell/run.cc',
533         'shell/run.h',
534         'shell/switches.cc',
535         'shell/switches.h',
536         'shell/task_runners.cc',
537         'shell/task_runners.h',
538         'shell/test_child_process.cc',
539         'shell/test_child_process.h',
540         'shell/view_manager_loader.cc',
541         'shell/view_manager_loader.h',
542       ],
543       'conditions': [
544         ['OS=="linux"', {
545           'dependencies': [
546             '../build/linux/system.gyp:dbus',
547             '../dbus/dbus.gyp:dbus',
548           ],
549         }],
550         ['use_aura==1', {
551           'dependencies': [
552             # These are only necessary as long as we hard code use of ViewManager.
553             '../skia/skia.gyp:skia',
554             'mojo_gles2',
555             'mojo_view_manager',
556             'mojo_view_manager_bindings',
557           ],
558         }, {  # use_aura==0
559           'sources!': [
560             'shell/view_manager_loader.cc',
561             'shell/view_manager_loader.h',
562           ],
563         }],
564       ],
565     },
566     {
567       'target_name': 'mojo_shell_test_support',
568       'type': 'static_library',
569       'dependencies': [
570         '../base/base.gyp:base',
571         '../base/base.gyp:base_static',
572         '../url/url.gyp:url_lib',
573         'mojo_service_manager',
574         'mojo_shell_lib',
575         'mojo_system_impl',
576       ],
577       'sources': [
578         'shell/shell_test_helper.cc',
579         'shell/shell_test_helper.h',
580       ],
581     },
582     {
583       'target_name': 'mojo_shell',
584       'type': 'executable',
585       'dependencies': [
586         '../base/base.gyp:base',
587         '../ui/gl/gl.gyp:gl',
588         '../url/url.gyp:url_lib',
589         'mojo_common_lib',
590         'mojo_environment_chromium',
591         'mojo_service_manager',
592         'mojo_shell_lib',
593         'mojo_system_impl',
594       ],
595       'conditions': [
596         ['use_ozone==1', {
597           'dependencies': [
598             '../ui/ozone/ozone.gyp:ozone',
599           ],
600         }],
601       ],
602       'sources': [
603         'shell/desktop/mojo_main.cc',
604       ],
605     },
606     {
607       'target_name': 'mojo_shell_tests',
608       'type': '<(gtest_target_type)',
609       'dependencies': [
610         '../base/base.gyp:base',
611         '../base/base.gyp:test_support_base',
612         '../testing/gtest.gyp:gtest',
613         # TODO(vtl): We don't currently need this, but I imagine we will soon.
614         # '../ui/gl/gl.gyp:gl',
615         '../url/url.gyp:url_lib',
616         'mojo_common_lib',
617         'mojo_environment_chromium',
618         'mojo_service_manager',
619         'mojo_shell_lib',
620         'mojo_system_impl',
621         'mojo_test_service',
622         'mojo_test_service_bindings',
623       ],
624       'sources': [
625         'shell/child_process_host_unittest.cc',
626         'shell/shell_test_base.cc',
627         'shell/shell_test_base.h',
628         'shell/shell_test_base_unittest.cc',
629         'shell/shell_test_main.cc',
630       ],
631       'conditions': [
632         ['OS == "android"', {
633           'dependencies': [
634             '../testing/android/native_test.gyp:native_test_native_code',
635           ],
636         }],
637       ],
638     },
639     {
640       'target_name': 'mojo_service_manager_unittests',
641       'type': 'executable',
642       'dependencies': [
643         '../base/base.gyp:base',
644         '../testing/gtest.gyp:gtest',
645         '../url/url.gyp:url_lib',
646         'mojo_common_lib',
647         'mojo_cpp_bindings',
648         'mojo_environment_chromium',
649         'mojo_run_all_unittests',
650         'mojo_service_manager',
651         'mojo_application',
652       ],
653       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
654       'sources': [
655         'service_manager/service_manager_unittest.cc',
656         'service_manager/test.mojom',
657       ],
658     },
659     {
660       'target_name': 'mojo_js_bindings_lib',
661       'type': 'static_library',
662       'dependencies': [
663         '../base/base.gyp:base',
664         '../gin/gin.gyp:gin',
665         '../v8/tools/gyp/v8.gyp:v8',
666         'mojo_common_lib',
667       ],
668       'export_dependent_settings': [
669         '../base/base.gyp:base',
670         '../gin/gin.gyp:gin',
671         'mojo_common_lib',
672       ],
673       'sources': [
674         'bindings/js/core.cc',
675         'bindings/js/core.h',
676         'bindings/js/handle.cc',
677         'bindings/js/handle.h',
678         'bindings/js/support.cc',
679         'bindings/js/support.h',
680         'bindings/js/waiting_callback.cc',
681         'bindings/js/waiting_callback.h',
682       ],
683     },
684     {
685       'target_name': 'mojo_js_unittests',
686       'type': 'executable',
687       'dependencies': [
688         '../gin/gin.gyp:gin_test',
689         'mojo_common_test_support',
690         'mojo_js_bindings_lib',
691         'mojo_run_all_unittests',
692         'mojo_public_test_interfaces',
693       ],
694       'sources': [
695         'bindings/js/run_js_tests.cc',
696       ],
697     },
698     {
699       'target_name': 'mojo_message_generator',
700       'type': 'executable',
701       'dependencies': [
702         '../base/base.gyp:base',
703         '../testing/gtest.gyp:gtest',
704         'mojo_common_lib',
705         'mojo_cpp_bindings',
706         'mojo_environment_chromium',
707         'mojo_system_impl',
708       ],
709       'sources': [
710         'tools/message_generator.cc',
711       ],
712     },
713     {
714       'target_name': 'mojo_cc_support',
715       'type': 'static_library',
716       'dependencies': [
717         '../base/base.gyp:base',
718         '../cc/cc.gyp:cc',
719         '../skia/skia.gyp:skia',
720         '../gpu/gpu.gyp:gles2_implementation',
721         'mojo_gles2',
722       ],
723       'sources': [
724         'cc/context_provider_mojo.cc',
725         'cc/context_provider_mojo.h',
726       ],
727     },
728   ],
729   'conditions': [
730     ['OS=="android"', {
731       'targets': [
732         {
733           'target_name': 'mojo_jni_headers',
734           'type': 'none',
735           'dependencies': [
736             'mojo_java_set_jni_headers',
737           ],
738           'sources': [
739             'android/javatests/src/org/chromium/mojo/MojoTestCase.java',
740             'android/system/src/org/chromium/mojo/system/impl/CoreImpl.java',
741             'services/native_viewport/android/src/org/chromium/mojo/NativeViewportAndroid.java',
742             'shell/android/apk/src/org/chromium/mojo_shell_apk/MojoMain.java',
743           ],
744           'variables': {
745             'jni_gen_package': 'mojo',
746          },
747           'includes': [ '../build/jni_generator.gypi' ],
748         },
749         {
750           'target_name': 'mojo_system_java',
751           'type': 'none',
752           'dependencies': [
753             '../base/base.gyp:base_java',
754             'mojo_public_java',
755           ],
756           'variables': {
757             'java_in_dir': '<(DEPTH)/mojo/android/system',
758           },
759           'includes': [ '../build/java.gypi' ],
760         },
761         {
762           'target_name': 'libmojo_system_java',
763           'type': 'static_library',
764           'dependencies': [
765             '../base/base.gyp:base',
766             '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
767             'mojo_common_lib',
768             'mojo_environment_chromium',
769             'mojo_jni_headers',
770             'mojo_service_provider_bindings',
771             'mojo_shell_lib',
772           ],
773           'sources': [
774             'android/system/core_impl.cc',
775             'android/system/core_impl.h',
776           ],
777         },
778         {
779           'target_name': 'libmojo_java_unittest',
780           'type': 'shared_library',
781           'dependencies': [
782             '../base/base.gyp:base',
783             '../base/base.gyp:test_support_base',
784             'libmojo_system_java',
785             'mojo_jni_headers',
786           ],
787           'defines': [
788             'UNIT_TEST'  # As exported from testing/gtest.gyp:gtest.
789           ],
790           'sources': [
791             'android/javatests/mojo_test_case.cc',
792             'android/javatests/mojo_test_case.h',
793             'android/javatests/init_library.cc',
794           ],
795         },
796         {
797           'target_name': 'mojo_test_apk',
798           'type': 'none',
799           'dependencies': [
800             'mojo_bindings_java',
801             'mojo_public_test_interfaces',
802             'mojo_system_java',
803             '../base/base.gyp:base_java_test_support',
804           ],
805           'variables': {
806             'apk_name': 'MojoTest',
807             'java_in_dir': '<(DEPTH)/mojo/android/javatests',
808             'resource_dir': '<(DEPTH)/mojo/android/javatests/apk',
809             'native_lib_target': 'libmojo_java_unittest',
810             'is_test_apk': 1,
811             # Given that this apk tests itself, it needs to bring emma with it
812             # when instrumented.
813             'conditions': [
814               ['emma_coverage != 0', {
815                 'emma_instrument': 1,
816               }],
817             ],
818           },
819           'includes': [ '../build/java_apk.gypi' ],
820         },
821         {
822           'target_name': 'mojo_native_viewport_java',
823           'type': 'none',
824           'dependencies': [
825             '../base/base.gyp:base_java',
826           ],
827           'variables': {
828             'java_in_dir': '<(DEPTH)/mojo/services/native_viewport/android',
829           },
830           'includes': [ '../build/java.gypi' ],
831         },
832         {
833           'target_name': 'mojo_java_set_jni_headers',
834           'type': 'none',
835           'variables': {
836             'jni_gen_package': 'mojo',
837             'input_java_class': 'java/util/HashSet.class',
838           },
839           'includes': [ '../build/jar_file_jni_generator.gypi' ],
840         },
841         {
842           'target_name': 'libmojo_shell',
843           'type': 'shared_library',
844           'dependencies': [
845             '../base/base.gyp:base',
846             '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
847             '../ui/gfx/gfx.gyp:gfx',
848             '../ui/gfx/gfx.gyp:gfx_geometry',
849             '../ui/gl/gl.gyp:gl',
850             'mojo_common_lib',
851             'mojo_environment_chromium',
852             'mojo_jni_headers',
853             'mojo_service_provider_bindings',
854             'mojo_shell_lib',
855           ],
856           'sources': [
857             'shell/android/library_loader.cc',
858             'shell/android/mojo_main.cc',
859             'shell/android/mojo_main.h',
860           ],
861         },
862         {
863           'target_name': 'mojo_shell_apk',
864           'type': 'none',
865           'dependencies': [
866             '../base/base.gyp:base_java',
867             '../net/net.gyp:net_java',
868             'mojo_native_viewport_java',
869             'libmojo_shell',
870           ],
871           'variables': {
872             'apk_name': 'MojoShell',
873             'java_in_dir': '<(DEPTH)/mojo/shell/android/apk',
874             'resource_dir': '<(DEPTH)/mojo/shell/android/apk/res',
875             'native_lib_target': 'libmojo_shell',
876           },
877           'includes': [ '../build/java_apk.gypi' ],
878         }
879       ],
880     }],
881     ['OS=="linux"', {
882       'targets': [
883         {
884           'target_name': 'mojo_dbus_service',
885           'type': 'static_library',
886           'dependencies': [
887             '../base/base.gyp:base',
888             '../build/linux/system.gyp:dbus',
889             '../dbus/dbus.gyp:dbus',
890             'mojo_common_lib',
891             'mojo_external_service_bindings',
892             'mojo_application',
893             'mojo_system_impl',
894           ],
895           'sources': [
896             'dbus/dbus_external_service.h',
897             'dbus/dbus_external_service.cc',
898           ],
899         },
900       ],
901     }],
902     ['test_isolation_mode != "noop"', {
903       'targets': [
904         {
905           'target_name': 'mojo_js_unittests_run',
906           'type': 'none',
907           'dependencies': [
908             'mojo_js_unittests',
909           ],
910           'includes': [
911             '../build/isolate.gypi',
912             'mojo_js_unittests.isolate',
913           ],
914           'sources': [
915             'mojo_js_unittests.isolate',
916           ],
917         },
918       ],
919     }],
920     ['use_aura==1', {
921       'targets': [
922         {
923           'target_name': 'mojo_aura_support',
924           'type': 'static_library',
925           'dependencies': [
926             '../cc/cc.gyp:cc',
927             '../ui/aura/aura.gyp:aura',
928             '../ui/compositor/compositor.gyp:compositor',
929             '../ui/events/events.gyp:events',
930             '../ui/events/events.gyp:events_base',
931             '../ui/gl/gl.gyp:gl',
932             '../webkit/common/gpu/webkit_gpu.gyp:webkit_gpu',
933             'mojo_cc_support',
934             'mojo_gles2',
935             'mojo_native_viewport_bindings',
936           ],
937           'sources': [
938             'aura/aura_init.cc',
939             'aura/aura_init.h',
940             'aura/context_factory_mojo.cc',
941             'aura/context_factory_mojo.h',
942             'aura/screen_mojo.cc',
943             'aura/screen_mojo.h',
944             'aura/window_tree_host_mojo.cc',
945             'aura/window_tree_host_mojo.h',
946             'aura/window_tree_host_mojo_delegate.h',
947           ],
948         },
949         {
950           'target_name': 'mojo_views_support',
951           'type': 'static_library',
952           'dependencies': [
953             '../base/base.gyp:base',
954             '../base/base.gyp:base_i18n',
955             '../skia/skia.gyp:skia',
956             '../skia/skia.gyp:skia',
957             '../third_party/icu/icu.gyp:icui18n',
958             '../third_party/icu/icu.gyp:icuuc',
959             '../ui/aura/aura.gyp:aura',
960             '../ui/base/ui_base.gyp:ui_base',
961             '../ui/views/views.gyp:views',
962             '../ui/wm/wm.gyp:wm',
963             'mojo_aura_support',
964             'mojo_views_support_internal',
965           ],
966           'sources': [
967             'views/native_widget_view_manager.cc',
968             'views/native_widget_view_manager.h',
969             'views/views_init.cc',
970             'views/views_init.h',
971           ],
972         },
973         {
974           'target_name': 'mojo_views_support_internal',
975           'type': '<(component)',
976           'dependencies': [
977             '../base/base.gyp:base',
978             '../base/base.gyp:base_i18n',
979             '../base/base.gyp:base_static',
980             '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
981             '../skia/skia.gyp:skia',
982             '../skia/skia.gyp:skia',
983             '../third_party/icu/icu.gyp:icui18n',
984             '../third_party/icu/icu.gyp:icuuc',
985             '../ui/base/ui_base.gyp:ui_base',
986             '../ui/gfx/gfx.gyp:gfx',
987           ],
988           'sources': [
989             'views/mojo_views_export.h',
990             'views/views_init_internal.cc',
991             'views/views_init_internal.h',
992           ],
993           'defines': [
994             'MOJO_VIEWS_IMPLEMENTATION',
995           ],
996         },
997       ],
998     }],
999   ],