Remove implicit conversions from scoped_refptr to T* in net/socket/
[chromium-blink-merge.git] / mojo / mojo.gyp
blob3eaff73179005783a3fffa7ffbdcac525fda4976
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   'includes': [
17     'mojo_apps.gypi',
18     'mojo_examples.gypi',
19     'mojo_services.gypi',
20     'mojo_variables.gypi',
21   ],
22   'targets': [
23     {
24       'target_name': 'mojo',
25       'type': 'none',
26       'dependencies': [
27         'mojo_application_manager',
28         'mojo_application_manager_unittests',
29         'mojo_apps_js_unittests',
30         'mojo_base.gyp:mojo_base',
31         'mojo_compositor_app',
32         'mojo_content_handler_demo',
33         'mojo_echo_client',
34         'mojo_echo_service',
35         'mojo_example_apptests',
36         'mojo_example_service',
37         'mojo_geometry_lib',
38         'mojo_html_viewer',
39         'mojo_js',
40         'mojo_launcher',
41         'mojo_native_viewport_service_lib',
42         'mojo_network_service',
43         'mojo_pepper_container_app',
44         'mojo_png_viewer',
45         'mojo_sample_app',
46         'mojo_shell',
47         'mojo_shell_lib',
48         'mojo_shell_tests',
49         'mojo_surfaces_app',
50         'mojo_surfaces_app',
51         'mojo_surfaces_child_app',
52         'mojo_surfaces_child_gl_app',
53         'mojo_surfaces_lib',
54         'mojo_surfaces_lib_unittests',
55         'mojo_surfaces_service',
56         'mojo_test_app',
57         'mojo_test_request_tracker_app',
58         'mojo_view_manager_lib',
59         'mojo_view_manager_lib_unittests',
60         'mojo_wget',
61       ],
62       'conditions': [
63         ['use_aura==1', {
64           'dependencies': [
65             'mojo_aura_demo',
66             'mojo_aura_demo_init',
67             'mojo_browser',
68             'mojo_core_window_manager',
69             'mojo_core_window_manager_unittests',
70             'mojo_demo_launcher',
71             'mojo_embedded_app',
72             'mojo_keyboard',
73             'mojo_media_viewer',
74             'mojo_nesting_app',
75             'mojo_window_manager',
76             'mojo_wm_flow_app',
77             'mojo_wm_flow_embedded',
78             'mojo_wm_flow_init',
79             'mojo_wm_flow_wm',
80             'mojo_view_manager',
81             'mojo_view_manager_unittests',
82           ],
83         }],
84         ['OS == "linux"', {
85           'dependencies': [
86             'mojo_dbus_echo',
87             'mojo_dbus_echo_service',
88           ],
89         }],
90         ['component != "shared_library" and OS == "linux"', {
91           'dependencies': [
92             'mojo_python_embedder',
93             'mojo_python_system',
94             'mojo_python',
95           ],
96         }],
97       ]
98     },
99     {
100       # GN version: //mojo/shell:external_service_bindings
101       'target_name': 'mojo_external_service_bindings',
102       'type': 'static_library',
103       'sources': [
104         'shell/external_service.mojom',
105       ],
106       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
107       'export_dependent_settings': [
108         'mojo_base.gyp:mojo_cpp_bindings',
109       ],
110       'dependencies': [
111         'mojo_base.gyp:mojo_cpp_bindings',
112       ],
113     },
114     {
115       'target_name': 'mojo_spy',
116       'type': 'static_library',
117       'dependencies': [
118         '../base/base.gyp:base',
119         '../base/base.gyp:base_static',
120         '../net/net.gyp:http_server',
121         '../url/url.gyp:url_lib',
122         'mojo_application_manager',
123       ],
124       'variables': {
125         'mojom_base_output_dir': 'mojo',
126       },
127       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
128       'sources': [
129         'spy/public/spy.mojom',
130         'spy/common.h',
131         'spy/spy.cc',
132         'spy/spy.h',
133         'spy/spy_server_impl.h',
134         'spy/spy_server_impl.cc',
135         'spy/websocket_server.cc',
136         'spy/websocket_server.h',
137       ],
138     },
139     {
140       # GN version: //mojo/shell:lib
141       'target_name': 'mojo_shell_lib',
142       'type': 'static_library',
143       'dependencies': [
144         '../base/base.gyp:base',
145         '../base/base.gyp:base_static',
146         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
147         '../net/net.gyp:net',
148         '../url/url.gyp:url_lib',
149         'mojo_application_manager',
150         'mojo_base.gyp:mojo_application_bindings',
151         'mojo_base.gyp:mojo_common_lib',
152         'mojo_base.gyp:mojo_gles2_impl',
153         'mojo_base.gyp:mojo_system_impl',
154         'mojo_base.gyp:mojo_application_chromium',
155         'mojo_external_service_bindings',
156         'mojo_native_viewport_service_lib',
157         'mojo_network_bindings',
158         'mojo_spy',
159       ],
160       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
161       'sources': [
162         'shell/app_child_process.cc',
163         'shell/app_child_process.h',
164         'shell/app_child_process.mojom',
165         'shell/app_child_process_host.cc',
166         'shell/app_child_process_host.h',
167         'shell/child_process.cc',
168         'shell/child_process.h',
169         'shell/child_process_host.cc',
170         'shell/child_process_host.h',
171         'shell/context.cc',
172         'shell/context.h',
173         'shell/dbus_application_loader_linux.cc',
174         'shell/dbus_application_loader_linux.h',
175         'shell/dynamic_application_loader.cc',
176         'shell/dynamic_application_loader.h',
177         'shell/dynamic_service_runner.h',
178         'shell/init.cc',
179         'shell/init.h',
180         'shell/in_process_dynamic_service_runner.cc',
181         'shell/in_process_dynamic_service_runner.h',
182         'shell/mojo_url_resolver.cc',
183         'shell/mojo_url_resolver.h',
184         'shell/out_of_process_dynamic_service_runner.cc',
185         'shell/out_of_process_dynamic_service_runner.h',
186         'shell/switches.cc',
187         'shell/switches.h',
188         'shell/task_runners.cc',
189         'shell/task_runners.h',
190         'shell/test_child_process.cc',
191         'shell/test_child_process.h',
192         'shell/ui_application_loader_android.cc',
193         'shell/ui_application_loader_android.h',
194         'shell/view_manager_loader.cc',
195         'shell/view_manager_loader.h',
196       ],
197       'conditions': [
198         ['OS=="linux"', {
199           'dependencies': [
200             '../build/linux/system.gyp:dbus',
201             '../dbus/dbus.gyp:dbus',
202           ],
203         }],
204         ['OS=="android"', {
205           'dependencies': [
206             'mojo_network_service_lib',
207           ],
208           'sources': [
209             'shell/network_application_loader.cc',
210             'shell/network_application_loader.h',
211           ],
212         }],
213         ['use_aura==1', {
214           'dependencies': [
215             # These are only necessary as long as we hard code use of ViewManager.
216             '../skia/skia.gyp:skia',
217             'mojo_view_manager',
218             'mojo_view_manager_bindings',
219           ],
220         }, {  # use_aura==0
221           'sources!': [
222             'shell/view_manager_loader.cc',
223             'shell/view_manager_loader.h',
224           ],
225         }],
226       ],
227     },
228     {
229       # GN version: //mojo/shell:test_support
230       'target_name': 'mojo_shell_test_support',
231       'type': 'static_library',
232       'dependencies': [
233         '../base/base.gyp:base',
234         '../base/base.gyp:base_static',
235         '../url/url.gyp:url_lib',
236         'mojo_application_manager',
237         'mojo_base.gyp:mojo_system_impl',
238         'mojo_shell_lib',
239       ],
240       'sources': [
241         'shell/shell_test_helper.cc',
242         'shell/shell_test_helper.h',
243       ],
244     },
245     {
246       # GN version: //mojo/shell
247       'target_name': 'mojo_shell',
248       'type': 'executable',
249       'dependencies': [
250         '../base/base.gyp:base',
251         '../ui/gl/gl.gyp:gl',
252         '../url/url.gyp:url_lib',
253         'mojo_application_manager',
254         'mojo_base.gyp:mojo_common_lib',
255         'mojo_base.gyp:mojo_environment_chromium',
256         'mojo_base.gyp:mojo_system_impl',
257         'mojo_shell_lib',
258       ],
259       'conditions': [
260         ['use_ozone==1', {
261           'dependencies': [
262             '../ui/ozone/ozone.gyp:ozone',
263           ],
264         }],
265       ],
266       'sources': [
267         'shell/desktop/mojo_main.cc',
268       ],
269     },
270     {
271       # GN version: //mojo/shell:mojo_shell_tests
272       'target_name': 'mojo_shell_tests',
273       'type': '<(gtest_target_type)',
274       'dependencies': [
275         '../base/base.gyp:base',
276         '../base/base.gyp:base_i18n',
277         '../base/base.gyp:test_support_base',
278         '../testing/gtest.gyp:gtest',
279         '../net/net.gyp:net_test_support',
280         # TODO(vtl): We don't currently need this, but I imagine we will soon.
281         # '../ui/gl/gl.gyp:gl',
282         '../url/url.gyp:url_lib',
283         'mojo_application_manager',
284         'mojo_base.gyp:mojo_common_lib',
285         'mojo_base.gyp:mojo_environment_chromium',
286         'mojo_base.gyp:mojo_system_impl',
287         'mojo_shell_lib',
288         'mojo_test_app',
289         'mojo_test_request_tracker_app',
290         'mojo_test_service_bindings',
291       ],
292       'sources': [
293         'shell/child_process_host_unittest.cc',
294         'shell/dynamic_application_loader_unittest.cc',
295         'shell/in_process_dynamic_service_runner_unittest.cc',
296         'shell/shell_test_base.cc',
297         'shell/shell_test_base.h',
298         'shell/shell_test_base_unittest.cc',
299         'shell/shell_test_main.cc',
300       ],
301       'conditions': [
302         ['OS == "android"', {
303           'dependencies': [
304             '../testing/android/native_test.gyp:native_test_native_code',
305           ],
306         }],
307       ],
308     },
309     {
310       # GN version: //mojo/application_manager
311       'target_name': 'mojo_application_manager',
312       'type': '<(component)',
313       'defines': [
314         'MOJO_APPLICATION_MANAGER_IMPLEMENTATION',
315       ],
316       'dependencies': [
317         '../base/base.gyp:base',
318         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
319         '../net/net.gyp:net',
320         '../url/url.gyp:url_lib',
321         'mojo_content_handler_bindings',
322         'mojo_network_bindings',
323         'mojo_base.gyp:mojo_application_bindings',
324         'mojo_base.gyp:mojo_common_lib',
325         'mojo_base.gyp:mojo_environment_chromium',
326         '<(mojo_system_for_component)',
327       ],
328       'sources': [
329         'application_manager/application_loader.cc',
330         'application_manager/application_loader.h',
331         'application_manager/application_manager.cc',
332         'application_manager/application_manager.h',
333         'application_manager/application_manager_export.h',
334         'application_manager/background_shell_application_loader.cc',
335         'application_manager/background_shell_application_loader.h',
336       ],
337       'export_dependent_settings': [
338         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
339         'mojo_base.gyp:mojo_application_bindings',
340         'mojo_network_bindings',
341       ],
342     },
343     {
344       # GN version: //mojo/application_manager:unittests
345       'target_name': 'mojo_application_manager_unittests',
346       'type': 'executable',
347       'dependencies': [
348         '../base/base.gyp:base',
349         '../testing/gtest.gyp:gtest',
350         '../url/url.gyp:url_lib',
351         'mojo_application_manager',
352         'mojo_base.gyp:mojo_common_lib',
353         'mojo_base.gyp:mojo_cpp_bindings',
354         'mojo_base.gyp:mojo_environment_chromium',
355         'mojo_base.gyp:mojo_run_all_unittests',
356         'mojo_base.gyp:mojo_application_chromium',
357       ],
358       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
359       'sources': [
360         'application_manager/application_manager_unittest.cc',
361         'application_manager/background_shell_application_loader_unittest.cc',
362         'application_manager/test.mojom',
363       ],
364     },
365     {
366       # GN version: //mojo/cc
367       'target_name': 'mojo_cc_support',
368       'type': 'static_library',
369       'dependencies': [
370         '../base/base.gyp:base',
371         '../cc/cc.gyp:cc',
372         '../cc/cc.gyp:cc_surfaces',
373         '../skia/skia.gyp:skia',
374         '../gpu/gpu.gyp:gles2_implementation',
375         'mojo_geometry_lib',
376         'mojo_surfaces_bindings',
377         'mojo_surfaces_lib',
378         '<(mojo_gles2_for_loadable_module)',
379       ],
380       'export_dependent_settings': [
381         'mojo_surfaces_bindings',
382       ],
383       'sources': [
384         'cc/context_provider_mojo.cc',
385         'cc/context_provider_mojo.h',
386         'cc/output_surface_mojo.cc',
387         'cc/output_surface_mojo.h',
388       ],
389     },
390   ],
391   'conditions': [
392     ['OS=="android"', {
393       'targets': [
394         {
395           'target_name': 'mojo_native_viewport_java',
396           'type': 'none',
397           'dependencies': [
398             '../base/base.gyp:base_java',
399           ],
400           'variables': {
401             'java_in_dir': '<(DEPTH)/mojo/services/native_viewport/android',
402           },
403           'includes': [ '../build/java.gypi' ],
404         },
405         {
406           'target_name': 'libmojo_shell',
407           'type': 'shared_library',
408           'dependencies': [
409             '../base/base.gyp:base',
410             '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
411             '../ui/gfx/gfx.gyp:gfx',
412             '../ui/gfx/gfx.gyp:gfx_geometry',
413             '../ui/gl/gl.gyp:gl',
414             'mojo_base.gyp:mojo_application_bindings',
415             'mojo_base.gyp:mojo_common_lib',
416             'mojo_base.gyp:mojo_environment_chromium',
417             'mojo_base.gyp:mojo_jni_headers',
418             'mojo_shell_lib',
419           ],
420           'sources': [
421             'shell/android/library_loader.cc',
422             'shell/android/mojo_main.cc',
423             'shell/android/mojo_main.h',
424           ],
425         },
426         {
427           'target_name': 'mojo_shell_apk',
428           'type': 'none',
429           'dependencies': [
430             '../base/base.gyp:base_java',
431             '../net/net.gyp:net_java',
432             'mojo_native_viewport_java',
433             'libmojo_shell',
434           ],
435           'variables': {
436             'apk_name': 'MojoShell',
437             'java_in_dir': '<(DEPTH)/mojo/shell/android/apk',
438             'resource_dir': '<(DEPTH)/mojo/shell/android/apk/res',
439             'native_lib_target': 'libmojo_shell',
440           },
441           'includes': [ '../build/java_apk.gypi' ],
442         }
443       ],
444     }],
445     ['OS=="linux"', {
446       'targets': [
447         {
448           'target_name': 'mojo_dbus_service',
449           'type': 'static_library',
450           'dependencies': [
451             '../base/base.gyp:base',
452             '../build/linux/system.gyp:dbus',
453             '../dbus/dbus.gyp:dbus',
454             'mojo_base.gyp:mojo_application_chromium',
455             'mojo_base.gyp:mojo_common_lib',
456             'mojo_base.gyp:mojo_system_impl',
457             'mojo_external_service_bindings',
458           ],
459           'sources': [
460             'dbus/dbus_external_service.h',
461             'dbus/dbus_external_service.cc',
462           ],
463         },
464       ],
465     }],
466     ['use_aura==1', {
467       'targets': [
468         {
469           # GN version: //mojo/aura
470           'target_name': 'mojo_aura_support',
471           'type': 'static_library',
472           'dependencies': [
473             '../cc/cc.gyp:cc',
474             '../ui/aura/aura.gyp:aura',
475             '../ui/compositor/compositor.gyp:compositor',
476             '../ui/events/events.gyp:events',
477             '../ui/events/events.gyp:events_base',
478             '../ui/gl/gl.gyp:gl',
479             '../webkit/common/gpu/webkit_gpu.gyp:webkit_gpu',
480             'mojo_cc_support',
481             'mojo_native_viewport_bindings',
482             '<(mojo_gles2_for_loadable_module)',
483           ],
484           'sources': [
485             'aura/aura_init.cc',
486             'aura/aura_init.h',
487             'aura/context_factory_mojo.cc',
488             'aura/context_factory_mojo.h',
489             'aura/screen_mojo.cc',
490             'aura/screen_mojo.h',
491             'aura/window_tree_host_mojo.cc',
492             'aura/window_tree_host_mojo.h',
493             'aura/window_tree_host_mojo_delegate.h',
494           ],
495         },
496         {
497           'target_name': 'mojo_views_support',
498           'type': 'static_library',
499           'dependencies': [
500             '../base/base.gyp:base',
501             '../base/base.gyp:base_i18n',
502             '../skia/skia.gyp:skia',
503             '../skia/skia.gyp:skia',
504             '../third_party/icu/icu.gyp:icui18n',
505             '../third_party/icu/icu.gyp:icuuc',
506             '../ui/aura/aura.gyp:aura',
507             '../ui/base/ui_base.gyp:ui_base',
508             '../ui/views/views.gyp:views',
509             '../ui/wm/wm.gyp:wm',
510             'mojo_aura_support',
511             'mojo_views_support_internal',
512           ],
513           'sources': [
514             'views/native_widget_view_manager.cc',
515             'views/native_widget_view_manager.h',
516             'views/views_init.cc',
517             'views/views_init.h',
518           ],
519         },
520         {
521           'target_name': 'mojo_views_support_internal',
522           'type': '<(component)',
523           'dependencies': [
524             '../base/base.gyp:base',
525             '../base/base.gyp:base_i18n',
526             '../base/base.gyp:base_static',
527             '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
528             '../skia/skia.gyp:skia',
529             '../skia/skia.gyp:skia',
530             '../third_party/icu/icu.gyp:icui18n',
531             '../third_party/icu/icu.gyp:icuuc',
532             '../ui/base/ui_base.gyp:ui_base',
533             '../ui/gfx/gfx.gyp:gfx',
534           ],
535           'sources': [
536             'views/mojo_views_export.h',
537             'views/views_init_internal.cc',
538             'views/views_init_internal.h',
539           ],
540           'defines': [
541             'MOJO_VIEWS_IMPLEMENTATION',
542           ],
543         },
544       ],
545     }],
546     ['component!="shared_library" and OS=="linux"', {
547       'targets': [
548         {
549           'target_name': 'mojo_python_system',
550           'variables': {
551             'python_base_module': 'mojo',
552             'python_cython_module': 'system',
553           },
554           'sources': [
555             'public/python/mojo/c_core.pxd',
556             'public/python/mojo/system.pyx',
557           ],
558           'dependencies': [
559             'mojo_base.gyp:mojo_system',
560           ],
561           'includes': [ '../third_party/cython/cython_compiler.gypi' ],
562         },
563         {
564           'target_name': 'mojo_python_embedder',
565           'type': 'loadable_module',
566           'variables': {
567             'python_base_module': 'mojo',
568             'python_cython_module': 'embedder',
569           },
570           'sources': [
571             'python/system/mojo/embedder.pyx',
572           ],
573           'dependencies': [
574             'mojo_base.gyp:mojo_system_impl',
575           ],
576           'includes': [ '../third_party/cython/cython_compiler.gypi' ],
577         },
578         {
579           'target_name': 'mojo_python',
580           'type': 'none',
581           'variables': {
582             'python_base_module': 'mojo',
583           },
584           'sources': [
585             'public/python/mojo/__init__.py',
586           ],
587           'dependencies': [
588             'mojo_python_embedder',
589             'mojo_python_system',
590           ],
591           'includes': [ '../third_party/cython/python_module.gypi' ],
592         },
593         {
594           'target_name': 'mojo_python_unittests',
595           'type': 'none',
596           'actions': [
597             {
598               'action_name': 'run_mojo_python_unittests',
599               'inputs': [
600                 'python/tests/test_core.py',
601                 '<(SHARED_INTERMEDIATE_DIR)/mojo_python_py_module.stamp',
602                 '<(PRODUCT_DIR)/python/mojo/__init__.py',
603               ],
604               'outputs': [
605                 'none',
606               ],
607               'action': [
608                 'python', '<@(_inputs)', '<(PRODUCT_DIR)/python',
609               ],
610             },
611           ],
612           'dependency': [
613             'mojo_python',
614           ],
615         },
616       ],
617     }],
618   ],