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