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