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