Print author email address instead of author name under CL info.
[chromium-blink-merge.git] / mojo / mojo.gyp
blob6fd87331125f72bad3b506c30b691529778977d1
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_converters.gypi',
19     'mojo_services.gypi',
20     'mojo_variables.gypi',
21   ],
22   'targets': [
23     {
24       # GN version: //mojo
25       'target_name': 'mojo',
26       'type': 'none',
27       'dependencies': [
28         'edk/mojo_edk.gyp:mojo_edk',
29         'mojo_application_manager',
30         'mojo_application_manager_unittests',
31         'mojo_apps_js_unittests',
32         'mojo_base.gyp:mojo_base',
33         'mojo_clipboard',
34         'mojo_clipboard_unittests',
35         'mojo_geometry_lib',
36         'mojo_input_events_lib',
37         'mojo_js_content_handler',
38         'mojo_js_standalone',
39         'mojo_js_unittests',
40         'mojo_native_viewport_service',
41         'mojo_network_service',
42         'mojo_shell',
43         'mojo_shell_lib',
44         'mojo_shell_tests',
45         'mojo_surfaces_lib',
46         'mojo_surfaces_lib_unittests',
47         'mojo_surfaces_service',
48         'mojo_test_app',
49         'mojo_test_request_tracker_app',
50         'services/public/mojo_services_public.gyp:mojo_services_public',
51         'public/mojo_public.gyp:mojo_public',
52       ],
53       'conditions': [
54         ['OS == "linux"', {
55           'dependencies': [
56             'mojo_external_application_tests',
57           ],
58         }],
59       ]
60     },
61     {
62       # GN version: //mojo/shell:external_service_bindings
63       'target_name': 'mojo_external_service_bindings',
64       'type': 'static_library',
65       'sources': [
66         'shell/external_service.mojom',
67       ],
68       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
69       'export_dependent_settings': [
70         'public/mojo_public.gyp:mojo_cpp_bindings',
71       ],
72       'dependencies': [
73         'public/mojo_public.gyp:mojo_cpp_bindings',
74       ],
75     },
76     {
77       # GN version: //mojo/spy
78       'target_name': 'mojo_spy',
79       'type': 'static_library',
80       'dependencies': [
81         '../base/base.gyp:base',
82         '../net/net.gyp:http_server',
83         '../url/url.gyp:url_lib',
84         'mojo_application_manager',
85       ],
86       'variables': {
87         'mojom_base_output_dir': 'mojo',
88       },
89       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
90       'sources': [
91         'spy/public/spy.mojom',
92         'spy/common.h',
93         'spy/spy.cc',
94         'spy/spy.h',
95         'spy/spy_server_impl.h',
96         'spy/spy_server_impl.cc',
97         'spy/websocket_server.cc',
98         'spy/websocket_server.h',
99       ],
100     },
101     {
102       # GN version: //mojo/shell:lib
103       'target_name': 'mojo_shell_lib',
104       'type': 'static_library',
105       'dependencies': [
106         '../base/base.gyp:base',
107         '../base/base.gyp:base_static',
108         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
109         'edk/mojo_edk.gyp:mojo_system_impl',
110         'mojo_application_manager',
111         'mojo_base.gyp:mojo_application_chromium',
112         'mojo_base.gyp:mojo_common_lib',
113         'mojo_external_service_bindings',
114         'mojo_gles2_impl',
115         'services/public/mojo_services_public.gyp:mojo_network_bindings',
116         'mojo_spy',
117         'public/mojo_public.gyp:mojo_application_bindings',
118       ],
119       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
120       'sources': [
121         'shell/app_child_process.cc',
122         'shell/app_child_process.h',
123         'shell/app_child_process.mojom',
124         'shell/app_child_process_host.cc',
125         'shell/app_child_process_host.h',
126         'shell/child_process.cc',
127         'shell/child_process.h',
128         'shell/child_process_host.cc',
129         'shell/child_process_host.h',
130         'shell/context.cc',
131         'shell/context.h',
132         'shell/dynamic_application_loader.cc',
133         'shell/dynamic_application_loader.h',
134         'shell/dynamic_service_runner.h',
135         'shell/external_application_listener.h',
136         'shell/external_application_listener_posix.cc',
137         'shell/external_application_listener_win.cc',
138         'shell/external_application_registrar.mojom',
139         'shell/filename_util.cc',
140         'shell/filename_util.h',
141         'shell/in_process_dynamic_service_runner.cc',
142         'shell/in_process_dynamic_service_runner.h',
143         'shell/incoming_connection_listener_posix.cc',
144         'shell/incoming_connection_listener_posix.h',
145         'shell/init.cc',
146         'shell/init.h',
147         'shell/mojo_url_resolver.cc',
148         'shell/mojo_url_resolver.h',
149         'shell/out_of_process_dynamic_service_runner.cc',
150         'shell/out_of_process_dynamic_service_runner.h',
151         'shell/switches.cc',
152         'shell/switches.h',
153         'shell/task_runners.cc',
154         'shell/task_runners.h',
155         'shell/test_child_process.cc',
156         'shell/test_child_process.h',
157         'shell/ui_application_loader_android.cc',
158         'shell/ui_application_loader_android.h',
159       ],
160       'conditions': [
161         ['component=="shared_library"', {
162           'dependencies': [
163             '../ui/gl/gl.gyp:gl',
164           ],
165         }],
166         ['OS=="linux"', {
167           'sources': [
168             'shell/external_application_registrar_connection.cc',
169             'shell/external_application_registrar_connection.h',
170           ],
171         }],
172         ['OS=="android"', {
173           'dependencies': [
174             'mojo_network_service_lib',
175             'mojo_native_viewport_service_lib',
176           ],
177           'sources': [
178             'shell/network_application_loader.cc',
179             'shell/network_application_loader.h',
180           ],
181         }],
182       ],
183     },
184     {
185       # GN version: //mojo/shell:test_support
186       'target_name': 'mojo_shell_test_support',
187       'type': 'static_library',
188       'dependencies': [
189         'edk/mojo_edk.gyp:mojo_system_impl',
190         'mojo_shell_lib',
191       ],
192       'sources': [
193         'shell/shell_test_helper.cc',
194         'shell/shell_test_helper.h',
195       ],
196     },
197     {
198       # GN version: //mojo/shell
199       'target_name': 'mojo_shell',
200       'type': 'executable',
201       'dependencies': [
202         '../base/base.gyp:base',
203         'mojo_base.gyp:mojo_common_lib',
204         'mojo_base.gyp:mojo_environment_chromium',
205         'mojo_shell_lib',
206       ],
207       'sources': [
208         'shell/desktop/mojo_main.cc',
209       ],
210       'conditions': [
211         ['component=="shared_library"', {
212           'dependencies': [
213             '../ui/gfx/gfx.gyp:gfx',
214           ],
215         }],
216       ],
217     },
218     {
219       # GN version: //mojo/shell:mojo_shell_tests
220       'target_name': 'mojo_shell_tests',
221       'type': '<(gtest_target_type)',
222       'dependencies': [
223         '../base/base.gyp:base',
224         '../base/base.gyp:base_i18n',
225         '../base/base.gyp:test_support_base',
226         '../testing/gtest.gyp:gtest',
227         '../net/net.gyp:net_test_support',
228         '../url/url.gyp:url_lib',
229         'edk/mojo_edk.gyp:mojo_system_impl',
230         'mojo_application_manager',
231         'mojo_base.gyp:mojo_common_lib',
232         'mojo_base.gyp:mojo_environment_chromium',
233         'mojo_shell_lib',
234         'mojo_test_app',
235         'mojo_test_request_tracker_app',
236         'mojo_test_service_bindings',
237       ],
238       'sources': [
239         'shell/child_process_host_unittest.cc',
240         'shell/dynamic_application_loader_unittest.cc',
241         'shell/in_process_dynamic_service_runner_unittest.cc',
242         'shell/mojo_url_resolver_unittest.cc',
243         'shell/shell_test_base.cc',
244         'shell/shell_test_base.h',
245         'shell/shell_test_base_unittest.cc',
246         'shell/shell_test_main.cc',
247       ],
248       'conditions': [
249         ['OS == "android"', {
250           'dependencies': [
251             '../testing/android/native_test.gyp:native_test_native_code',
252           ],
253         }],
254       ],
255     },
256     {
257       # GN version: //mojo/application_manager
258       'target_name': 'mojo_application_manager',
259       'type': '<(component)',
260       'defines': [
261         'MOJO_APPLICATION_MANAGER_IMPLEMENTATION',
262       ],
263       'dependencies': [
264         '../base/base.gyp:base',
265         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
266         '../url/url.gyp:url_lib',
267         'services/public/mojo_services_public.gyp:mojo_content_handler_bindings',
268         'services/public/mojo_services_public.gyp:mojo_network_bindings',
269         'mojo_base.gyp:mojo_common_lib',
270         'mojo_base.gyp:mojo_environment_chromium',
271         'public/mojo_public.gyp:mojo_application_bindings',
272         '<(mojo_system_for_component)',
273       ],
274       'sources': [
275         'application_manager/application_loader.cc',
276         'application_manager/application_loader.h',
277         'application_manager/application_manager.cc',
278         'application_manager/application_manager.h',
279         'application_manager/application_manager_export.h',
280         'application_manager/background_shell_application_loader.cc',
281         'application_manager/background_shell_application_loader.h',
282       ],
283       'export_dependent_settings': [
284         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
285         'public/mojo_public.gyp:mojo_application_bindings',
286         'services/public/mojo_services_public.gyp:mojo_network_bindings',
287       ],
288     },
289     {
290       # GN version: //mojo/application_manager:mojo_application_manager_unittests
291       'target_name': 'mojo_application_manager_unittests',
292       'type': 'executable',
293       'dependencies': [
294         '../base/base.gyp:base',
295         '../testing/gtest.gyp:gtest',
296         '../url/url.gyp:url_lib',
297         'edk/mojo_edk.gyp:mojo_run_all_unittests',
298         'mojo_application_manager',
299         'mojo_base.gyp:mojo_application_chromium',
300         'mojo_base.gyp:mojo_common_lib',
301         'mojo_base.gyp:mojo_environment_chromium',
302         'public/mojo_public.gyp:mojo_cpp_bindings',
303       ],
304       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
305       'sources': [
306         'application_manager/application_manager_unittest.cc',
307         'application_manager/background_shell_application_loader_unittest.cc',
308         'application_manager/test.mojom',
309       ],
310     },
311     {
312       # GN version: //mojo/cc
313       'target_name': 'mojo_cc_support',
314       'type': 'static_library',
315       'dependencies': [
316         '../base/base.gyp:base',
317         '../cc/cc.gyp:cc',
318         '../cc/cc.gyp:cc_surfaces',
319         '../skia/skia.gyp:skia',
320         '../gpu/gpu.gyp:gles2_implementation',
321         'mojo_geometry_lib',
322         'mojo_surfaces_lib',
323         'services/public/mojo_services_public.gyp:mojo_surfaces_bindings',
324       ],
325       'includes': [
326         'mojo_public_gles2_for_loadable_module.gypi',
327       ],
328       'export_dependent_settings': [
329         'services/public/mojo_services_public.gyp:mojo_surfaces_bindings',
330       ],
331       'sources': [
332         'cc/context_provider_mojo.cc',
333         'cc/context_provider_mojo.h',
334         'cc/direct_output_surface.cc',
335         'cc/direct_output_surface.h',
336         'cc/output_surface_mojo.cc',
337         'cc/output_surface_mojo.h',
338       ],
339     },
340     {
341       # GN version: //mojo/gles2
342       'target_name': 'mojo_gles2_impl',
343       'type': '<(component)',
344       'dependencies': [
345         '../base/base.gyp:base',
346         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
347         '../gpu/gpu.gyp:command_buffer_client',
348         '../gpu/gpu.gyp:command_buffer_common',
349         '../gpu/gpu.gyp:gles2_cmd_helper',
350         '../gpu/gpu.gyp:gles2_implementation',
351         'mojo_base.gyp:mojo_environment_chromium',
352         'mojo_gles2_lib',
353         'services/public/mojo_services_public.gyp:mojo_gpu_bindings',
354         '<(mojo_system_for_component)',
355       ],
356       'defines': [
357         'GLES2_USE_MOJO',
358         'GL_GLEXT_PROTOTYPES',
359         'MOJO_GLES2_IMPLEMENTATION',
360         'MOJO_GLES2_IMPL_IMPLEMENTATION',
361         'MOJO_USE_GLES2_IMPL'
362       ],
363       'direct_dependent_settings': {
364         'defines': [
365           'GLES2_USE_MOJO',
366         ],
367       },
368       'export_dependent_settings': [
369         'services/public/mojo_services_public.gyp:mojo_gpu_bindings',
370       ],
371       'sources': [
372         'gles2/command_buffer_client_impl.cc',
373         'gles2/command_buffer_client_impl.h',
374         'gles2/gles2_impl_export.h',
375         'gles2/gles2_impl.cc',
376         'gles2/gles2_context.cc',
377         'gles2/gles2_context.h',
378       ],
379       'all_dependent_settings': {
380         # Ensures that dependent projects import the core functions on Windows.
381         'defines': ['MOJO_USE_GLES2_IMPL'],
382       }
383     },
384     {
385       # GN version: //mojo/bindings/js/tests:mojo_js_unittests
386       'target_name': 'mojo_js_unittests',
387       'type': 'executable',
388       'dependencies': [
389         '../gin/gin.gyp:gin_test',
390         'edk/mojo_edk.gyp:mojo_common_test_support',
391         'edk/mojo_edk.gyp:mojo_run_all_unittests',
392         'mojo_base.gyp:mojo_js_bindings_lib',
393         'public/mojo_public.gyp:mojo_environment_standalone',
394         'public/mojo_public.gyp:mojo_public_test_interfaces',
395         'public/mojo_public.gyp:mojo_utility',
396       ],
397       'sources': [
398         'bindings/js/tests/run_js_tests.cc',
399       ],
400     },
401   ],
402   'conditions': [
403     ['OS=="android"', {
404       'targets': [
405         {
406           'target_name': 'mojo_native_viewport_java',
407           'type': 'none',
408           'dependencies': [
409             '../base/base.gyp:base_java',
410           ],
411           'variables': {
412             'java_in_dir': '<(DEPTH)/mojo/services/native_viewport/android',
413           },
414           'includes': [ '../build/java.gypi' ],
415         },
416         {
417           'target_name': 'libmojo_shell',
418           'type': 'shared_library',
419           'dependencies': [
420             '../base/base.gyp:base',
421             '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
422             '../ui/gfx/gfx.gyp:gfx',
423             '../ui/gfx/gfx.gyp:gfx_geometry',
424             '../ui/gl/gl.gyp:gl',
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             'public/mojo_public.gyp:mojo_application_bindings',
430           ],
431           'sources': [
432             'shell/android/library_loader.cc',
433             'shell/android/mojo_main.cc',
434             'shell/android/mojo_main.h',
435           ],
436         },
437         {
438           'target_name': 'mojo_shell_apk',
439           'type': 'none',
440           'dependencies': [
441             '../base/base.gyp:base_java',
442             '../net/net.gyp:net_java',
443             'mojo_native_viewport_java',
444             'libmojo_shell',
445           ],
446           'variables': {
447             'apk_name': 'MojoShell',
448             'java_in_dir': '<(DEPTH)/mojo/shell/android/apk',
449             'resource_dir': '<(DEPTH)/mojo/shell/android/apk/res',
450             'native_lib_target': 'libmojo_shell',
451           },
452           'includes': [ '../build/java_apk.gypi' ],
453         }
454       ],
455     }],
456     ['OS=="linux"', {
457       'targets': [
458         {
459           # GN version: //mojo/shell:mojo_external_application_tests
460           'target_name': 'mojo_external_application_tests',
461           'type': '<(gtest_target_type)',
462           'dependencies': [
463             '../base/base.gyp:base',
464             '../base/base.gyp:test_support_base',
465             '../testing/gtest.gyp:gtest',
466             '../net/net.gyp:net_test_support',
467             '../url/url.gyp:url_lib',
468             'edk/mojo_edk.gyp:mojo_system_impl',
469             'mojo_application_manager',
470             'mojo_base.gyp:mojo_common_lib',
471             'mojo_base.gyp:mojo_environment_chromium',
472             'mojo_shell_lib',
473           ],
474           'sources': [
475             'shell/incoming_connection_listener_unittest.cc',
476             'shell/external_application_listener_unittest.cc',
477             'shell/external_application_test_main.cc',
478           ],
479         },
480       ],
481     }],
482     ['test_isolation_mode != "noop"', {
483       'targets': [
484         {
485           'target_name': 'mojo_js_unittests_run',
486           'type': 'none',
487           'dependencies': [
488             'mojo_js_unittests',
489           ],
490           'includes': [
491             '../build/isolate.gypi',
492           ],
493           'sources': [
494             'mojo_js_unittests.isolate',
495           ],
496         },
497       ],
498     }],
499   ],