rAc - revert invalid suggestions to edit mode
[chromium-blink-merge.git] / mojo / mojo.gyp
blob82cd8abb5c21b9a7d8defc6838469ed5f1e6a3dc
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_bindings',
32         'mojo_compositor_app',
33         'mojo_common_lib',
34         'mojo_common_unittests',
35         'mojo_js',
36         'mojo_js_unittests',
37         'mojo_public_test_utils',
38         'mojo_public_bindings_unittests',
39         'mojo_public_environment_unittests',
40         'mojo_public_system_perftests',
41         'mojo_public_system_unittests',
42         'mojo_public_utility_unittests',
43         'mojo_sample_app',
44         'mojo_shell',
45         'mojo_shell_lib',
46         'mojo_shell_unittests',
47         'mojo_system',
48         'mojo_system_impl',
49         'mojo_system_unittests',
50         'mojo_utility',
51       ],
52       'conditions': [
53         ['use_aura==1', {
54           'dependencies': [
55             'mojo_aura_demo',
56             'mojo_launcher',
57             'mojo_view_manager',
58           ],
59         }],
60       ]
61     },
62     {
63       'target_name': 'mojo_run_all_unittests',
64       'type': 'static_library',
65       'dependencies': [
66         '../base/base.gyp:base',
67         '../base/base.gyp:test_support_base',
68         '../testing/gtest.gyp:gtest',
69         'mojo_system',
70         'mojo_system_impl',
71         'mojo_test_support',
72         'mojo_test_support_impl',
73       ],
74       'sources': [
75         'common/test/run_all_unittests.cc',
76       ],
77     },
78     {
79       'target_name': 'mojo_run_all_perftests',
80       'type': 'static_library',
81       'dependencies': [
82         '../base/base.gyp:test_support_base',
83         'mojo_system',
84         'mojo_system_impl',
85         'mojo_test_support',
86         'mojo_test_support_impl',
87       ],
88       'sources': [
89         'common/test/run_all_perftests.cc',
90       ],
91     },
92     {
93       'target_name': 'mojo_system_impl',
94       'type': '<(component)',
95       'dependencies': [
96         'mojo_system',
97         '../base/base.gyp:base',
98       ],
99       'defines': [
100         'MOJO_SYSTEM_IMPL_IMPLEMENTATION',
101       ],
102       'sources': [
103         'system/channel.cc',
104         'system/channel.h',
105         'system/constants.h',
106         'system/core_impl.cc',
107         'system/core_impl.h',
108         'system/data_pipe.cc',
109         'system/data_pipe.h',
110         'system/data_pipe_consumer_dispatcher.cc',
111         'system/data_pipe_consumer_dispatcher.h',
112         'system/data_pipe_producer_dispatcher.cc',
113         'system/data_pipe_producer_dispatcher.h',
114         'system/dispatcher.cc',
115         'system/dispatcher.h',
116         'system/embedder/embedder.cc',
117         'system/embedder/embedder.h',
118         'system/embedder/platform_channel_pair.cc',
119         'system/embedder/platform_channel_pair.h',
120         'system/embedder/platform_channel_pair_posix.cc',
121         'system/embedder/platform_channel_pair_win.cc',
122         'system/embedder/platform_handle.cc',
123         'system/embedder/platform_handle.h',
124         'system/embedder/scoped_platform_handle.h',
125         'system/local_data_pipe.cc',
126         'system/local_data_pipe.h',
127         'system/local_message_pipe_endpoint.cc',
128         'system/local_message_pipe_endpoint.h',
129         'system/memory.cc',
130         'system/memory.h',
131         'system/message_in_transit.cc',
132         'system/message_in_transit.h',
133         'system/message_pipe.cc',
134         'system/message_pipe.h',
135         'system/message_pipe_dispatcher.cc',
136         'system/message_pipe_dispatcher.h',
137         'system/message_pipe_endpoint.cc',
138         'system/message_pipe_endpoint.h',
139         'system/proxy_message_pipe_endpoint.cc',
140         'system/proxy_message_pipe_endpoint.h',
141         'system/raw_channel.h',
142         'system/raw_channel_posix.cc',
143         'system/raw_channel_win.cc',
144         'system/simple_dispatcher.cc',
145         'system/simple_dispatcher.h',
146         'system/waiter.cc',
147         'system/waiter.h',
148         'system/waiter_list.cc',
149         'system/waiter_list.h',
150         # Test-only code:
151         # TODO(vtl): It's a little unfortunate that these end up in the same
152         # component as non-test-only code. In the static build, this code should
153         # hopefully be dead-stripped.
154         'system/embedder/test_embedder.cc',
155         'system/embedder/test_embedder.h',
156       ],
157     },
158     {
159       'target_name': 'mojo_system_unittests',
160       'type': 'executable',
161       'dependencies': [
162         '../base/base.gyp:run_all_unittests',
163         '../testing/gtest.gyp:gtest',
164         'mojo_common_test_support',
165         'mojo_system',
166         'mojo_system_impl',
167       ],
168       'sources': [
169         'system/core_impl_unittest.cc',
170         'system/core_test_base.cc',
171         'system/core_test_base.h',
172         'system/data_pipe_unittest.cc',
173         'system/dispatcher_unittest.cc',
174         'system/embedder/embedder_unittest.cc',
175         'system/local_data_pipe_unittest.cc',
176         'system/message_pipe_dispatcher_unittest.cc',
177         'system/message_pipe_unittest.cc',
178         'system/multiprocess_message_pipe_unittest.cc',
179         'system/raw_channel_posix_unittest.cc',
180         'system/remote_message_pipe_posix_unittest.cc',
181         'system/simple_dispatcher_unittest.cc',
182         'system/test_utils.cc',
183         'system/test_utils.h',
184         'system/waiter_list_unittest.cc',
185         'system/waiter_test_utils.cc',
186         'system/waiter_test_utils.h',
187         'system/waiter_unittest.cc',
188       ],
189     },
190     {
191       'target_name': 'mojo_gles2_impl',
192       'type': '<(component)',
193       'dependencies': [
194         '../base/base.gyp:base',
195         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
196         '../gpu/gpu.gyp:command_buffer_client',
197         '../gpu/gpu.gyp:command_buffer_common',
198         '../gpu/gpu.gyp:gles2_cmd_helper',
199         '../gpu/gpu.gyp:gles2_implementation',
200         'mojo_gles2',
201         'mojo_gles2_bindings',
202         'mojo_environment_chromium',
203       ],
204       'defines': [
205         'MOJO_GLES2_IMPL_IMPLEMENTATION',
206       ],
207       'sources': [
208         'gles2/command_buffer_client_impl.cc',
209         'gles2/command_buffer_client_impl.h',
210         'gles2/gles2_impl_export.h',
211         'gles2/gles2_support_impl.cc',
212         'gles2/gles2_support_impl.h',
213         'gles2/gles2_context.cc',
214         'gles2/gles2_context.h',
215       ],
216     },
217     {
218       'target_name': 'mojo_test_support_impl',
219       'type': 'static_library',
220       'dependencies': [
221         '../base/base.gyp:base',
222       ],
223       'sources': [
224         'common/test/test_support_impl.cc',
225         'common/test/test_support_impl.h',
226       ],
227     },
228     {
229       'target_name': 'mojo_common_lib',
230       'type': '<(component)',
231       'defines': [
232         'MOJO_COMMON_IMPLEMENTATION',
233       ],
234       'dependencies': [
235         '../base/base.gyp:base',
236         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
237         'mojo_system',
238       ],
239       'sources': [
240         'common/common_type_converters.cc',
241         'common/common_type_converters.h',
242         'common/handle_watcher.cc',
243         'common/handle_watcher.h',
244         'common/message_pump_mojo.cc',
245         'common/message_pump_mojo.h',
246         'common/message_pump_mojo_handler.h',
247       ],
248     },
249     {
250       'target_name': 'mojo_common_test_support',
251       'type': 'static_library',
252       'dependencies': [
253         '../base/base.gyp:base',
254         '../base/base.gyp:test_support_base',
255         '../testing/gtest.gyp:gtest',
256         'mojo_system',
257         'mojo_system_impl',
258       ],
259       'sources': [
260         'common/test/multiprocess_test_base.cc',
261         'common/test/multiprocess_test_base.h',
262         'common/test/test_utils.h',
263         'common/test/test_utils_posix.cc',
264         'common/test/test_utils_win.cc',
265       ],
266     },
267     {
268       'target_name': 'mojo_common_unittests',
269       'type': 'executable',
270       'dependencies': [
271         '../base/base.gyp:base',
272         '../base/base.gyp:base_message_loop_tests',
273         '../testing/gtest.gyp:gtest',
274         'mojo_bindings',
275         'mojo_environment_chromium',
276         'mojo_common_lib',
277         'mojo_common_test_support',
278         'mojo_public_test_utils',
279         'mojo_run_all_unittests',
280         'mojo_system',
281         'mojo_system_impl',
282       ],
283       'sources': [
284         'common/common_type_converters_unittest.cc',
285         'common/handle_watcher_unittest.cc',
286         'common/message_pump_mojo_unittest.cc',
287         'common/test/multiprocess_test_base_unittest.cc',
288       ],
289     },
290     {
291       'target_name': 'mojo_environment_chromium',
292       'type': 'static_library',
293       'dependencies': [
294         'mojo_environment_chromium_impl',
295       ],
296       'sources': [
297         'environment/default_async_waiter.cc',
298         'environment/buffer_tls.cc',
299         'environment/environment.cc',
300       ],
301       'include_dirs': [
302         '..',
303       ],
304       'export_dependent_settings': [
305         'mojo_environment_chromium_impl',
306       ],
307     },
308     {
309       'target_name': 'mojo_environment_chromium_impl',
310       'type': '<(component)',
311       'defines': [
312         'MOJO_ENVIRONMENT_IMPL_IMPLEMENTATION',
313       ],
314       'dependencies': [
315         '../base/base.gyp:base',
316         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
317         'mojo_common_lib'
318       ],
319       'sources': [
320         'environment/default_async_waiter_impl.cc',
321         'environment/default_async_waiter_impl.h',
322         'environment/buffer_tls_impl.cc',
323         'environment/buffer_tls_impl.h',
324       ],
325       'include_dirs': [
326         '..',
327       ],
328     },
329     {
330       'target_name': 'mojo_shell_lib',
331       'type': 'static_library',
332       'dependencies': [
333         '../base/base.gyp:base',
334         '../net/net.gyp:net',
335         '../url/url.gyp:url_lib',
336         'mojo_gles2_impl',
337         'mojo_shell_bindings',
338         'mojo_system',
339         'mojo_system_impl',
340         'mojo_native_viewport_service',
341       ],
342       'sources': [
343         'shell/context.cc',
344         'shell/context.h',
345         'shell/dynamic_service_loader.cc',
346         'shell/dynamic_service_loader.h',
347         'shell/init.cc',
348         'shell/init.h',
349         'shell/keep_alive.cc',
350         'shell/keep_alive.h',
351         'shell/loader.cc',
352         'shell/loader.h',
353         'shell/network_delegate.cc',
354         'shell/network_delegate.h',
355         'shell/run.cc',
356         'shell/run.h',
357         'shell/service_manager.cc',
358         'shell/service_manager.h',
359         'shell/storage.cc',
360         'shell/storage.h',
361         'shell/switches.cc',
362         'shell/switches.h',
363         'shell/task_runners.cc',
364         'shell/task_runners.h',
365         'shell/url_request_context_getter.cc',
366         'shell/url_request_context_getter.h',
367       ],
368     },
369     {
370       'target_name': 'mojo_shell',
371       'type': 'executable',
372       'dependencies': [
373         '../base/base.gyp:base',
374         '../ui/gl/gl.gyp:gl',
375         '../url/url.gyp:url_lib',
376         'mojo_common_lib',
377         'mojo_environment_chromium',
378         'mojo_shell_bindings',
379         'mojo_shell_lib',
380         'mojo_system',
381         'mojo_system_impl',
382       ],
383       'sources': [
384         'shell/desktop/mojo_main.cc',
385       ],
386     },
387     {
388       'target_name': 'mojo_shell_unittests',
389       'type': 'executable',
390       'dependencies': [
391         '../base/base.gyp:base',
392         '../testing/gtest.gyp:gtest',
393         'mojo_environment_standalone',
394         'mojo_run_all_unittests',
395         'mojo_utility',
396         'mojo_shell_lib',
397       ],
398       'includes': [ 'public/bindings/mojom_bindings_generator.gypi' ],
399       'sources': [
400         'shell/service_manager_unittest.cc',
401         'shell/test.mojom',
402       ],
403     },
404   ],
405   'conditions': [
406     ['OS=="android"', {
407       'targets': [
408         {
409           'target_name': 'mojo_native_viewport_java',
410           'type': 'none',
411           'dependencies': [
412             '../base/base.gyp:base_java',
413           ],
414           'variables': {
415             'java_in_dir': '<(DEPTH)/mojo/services/native_viewport/android',
416           },
417           'includes': [ '../build/java.gypi' ],
418         },
419         {
420           'target_name': 'mojo_java_set_jni_headers',
421           'type': 'none',
422           'variables': {
423             'jni_gen_package': 'mojo',
424             'jni_generator_ptr_type': 'long',
425             'input_java_class': 'java/util/HashSet.class',
426           },
427           'includes': [ '../build/jar_file_jni_generator.gypi' ],
428         },
429         {
430           'target_name': 'mojo_jni_headers',
431           'type': 'none',
432           'dependencies': [
433             'mojo_java_set_jni_headers',
434           ],
435           'sources': [
436             'services/native_viewport/android/src/org/chromium/mojo/NativeViewportAndroid.java',
437             'shell/android/apk/src/org/chromium/mojo_shell_apk/MojoMain.java',
438           ],
439           'variables': {
440             'jni_gen_package': 'mojo',
441             'jni_generator_ptr_type': 'long',
442          },
443           'includes': [ '../build/jni_generator.gypi' ],
444         },
445         {
446           'target_name': 'libmojo_shell',
447           'type': 'shared_library',
448           'dependencies': [
449             '../base/base.gyp:base',
450             '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
451             '../ui/gfx/gfx.gyp:gfx',
452             '../ui/gfx/gfx.gyp:gfx_geometry',
453             '../ui/gl/gl.gyp:gl',
454             'mojo_common_lib',
455             'mojo_environment_chromium',
456             'mojo_jni_headers',
457             'mojo_shell_bindings',
458             'mojo_shell_lib',
459           ],
460           'sources': [
461             'shell/android/library_loader.cc',
462             'shell/android/mojo_main.cc',
463             'shell/android/mojo_main.h',
464           ],
465         },
466         {
467           'target_name': 'mojo_shell_apk',
468           'type': 'none',
469           'dependencies': [
470             '../base/base.gyp:base_java',
471             '../net/net.gyp:net_java',
472             'mojo_native_viewport_java',
473             'libmojo_shell',
474           ],
475           'variables': {
476             'apk_name': 'MojoShell',
477             'java_in_dir': '<(DEPTH)/mojo/shell/android/apk',
478             'resource_dir': '<(DEPTH)/mojo/shell/android/apk/res',
479             'native_lib_target': 'libmojo_shell',
480           },
481           'includes': [ '../build/java_apk.gypi' ],
482         }
483       ],
484     }],
485   ],