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