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