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