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