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