Have pretty_print.py find histograms.xml.
[chromium-blink-merge.git] / mojo / mojo.gyp
blob2691f1b97b20e0889198582d2905c6a1fcaa0ce4
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   'variables': {
7     'chromium_code': 1,
8   },
9   'includes': [
10     'mojo_apps.gypi',
11     'mojo_examples.gypi',
12     'mojo_public.gypi',
13     'mojo_services.gypi',
14   ],
15   'targets': [
16     {
17       'target_name': 'mojo',
18       'type': 'none',
19       'dependencies': [
20         'mojo_bindings',
21         'mojo_bindings_unittests',
22         'mojo_common_lib',
23         'mojo_common_unittests',
24         'mojo_hello_world_service',
25         'mojo_js',
26         'mojo_js_unittests',
27         'mojo_public_perftests',
28         'mojo_public_test_support',
29         'mojo_public_unittests',
30         'mojo_sample_app',
31         'mojo_shell',
32         'mojo_shell_lib',
33         'mojo_shell_unittests',
34         'mojo_system',
35         'mojo_system_impl',
36         'mojo_system_unittests',
37         'mojo_utility',
38         'mojo_utility_unittests',
39       ],
40     },
41     {
42       'target_name': 'mojo_run_all_unittests',
43       'type': 'static_library',
44       'dependencies': [
45         '../base/base.gyp:base',
46         '../base/base.gyp:test_support_base',
47         '../testing/gtest.gyp:gtest',
48         'mojo_system',
49         'mojo_system_impl',
50       ],
51       'sources': [
52         'common/test/run_all_unittests.cc',
53       ],
54     },
55     {
56       'target_name': 'mojo_run_all_perftests',
57       'type': 'static_library',
58       'dependencies': [
59         '../base/base.gyp:test_support_base',
60         'mojo_system',
61         'mojo_system_impl',
62       ],
63       'sources': [
64         'common/test/run_all_perftests.cc',
65       ],
66     },
67     {
68       'target_name': 'mojo_system_impl',
69       'type': '<(component)',
70       'dependencies': [
71         'mojo_system',
72         '../base/base.gyp:base',
73       ],
74       'defines': [
75         'MOJO_SYSTEM_IMPL_IMPLEMENTATION',
76       ],
77       'sources': [
78         'system/channel.cc',
79         'system/channel.h',
80         'system/constants.h',
81         'system/core_impl.cc',
82         'system/core_impl.h',
83         'system/data_pipe.cc',
84         'system/data_pipe.h',
85         'system/data_pipe_consumer_dispatcher.cc',
86         'system/data_pipe_consumer_dispatcher.h',
87         'system/data_pipe_producer_dispatcher.cc',
88         'system/data_pipe_producer_dispatcher.h',
89         'system/dispatcher.cc',
90         'system/dispatcher.h',
91         'system/local_data_pipe.cc',
92         'system/local_data_pipe.h',
93         'system/local_message_pipe_endpoint.cc',
94         'system/local_message_pipe_endpoint.h',
95         'system/memory.cc',
96         'system/memory.h',
97         'system/message_in_transit.cc',
98         'system/message_in_transit.h',
99         'system/message_pipe.cc',
100         'system/message_pipe.h',
101         'system/message_pipe_dispatcher.cc',
102         'system/message_pipe_dispatcher.h',
103         'system/message_pipe_endpoint.cc',
104         'system/message_pipe_endpoint.h',
105         'system/platform_channel.cc',
106         'system/platform_channel.h',
107         'system/platform_channel_handle.cc',
108         'system/platform_channel_handle.h',
109         'system/platform_channel_posix.cc',
110         'system/proxy_message_pipe_endpoint.cc',
111         'system/proxy_message_pipe_endpoint.h',
112         'system/raw_channel.h',
113         'system/raw_channel_posix.cc',
114         'system/raw_channel_win.cc',
115         'system/simple_dispatcher.cc',
116         'system/simple_dispatcher.h',
117         'system/waiter.cc',
118         'system/waiter.h',
119         'system/waiter_list.cc',
120         'system/waiter_list.h',
121       ],
122     },
123     {
124       'target_name': 'mojo_system_unittests',
125       'type': 'executable',
126       'dependencies': [
127         '../base/base.gyp:run_all_unittests',
128         '../testing/gtest.gyp:gtest',
129         'mojo_common_test_support',
130         'mojo_system',
131         'mojo_system_impl',
132       ],
133       'sources': [
134         'system/core_impl_unittest.cc',
135         'system/core_test_base.cc',
136         'system/core_test_base.h',
137         'system/data_pipe_unittest.cc',
138         'system/dispatcher_unittest.cc',
139         'system/local_data_pipe_unittest.cc',
140         'system/message_pipe_dispatcher_unittest.cc',
141         'system/message_pipe_unittest.cc',
142         'system/multiprocess_message_pipe_unittest.cc',
143         'system/raw_channel_posix_unittest.cc',
144         'system/remote_message_pipe_posix_unittest.cc',
145         'system/simple_dispatcher_unittest.cc',
146         'system/test_utils.cc',
147         'system/test_utils.h',
148         'system/waiter_list_unittest.cc',
149         'system/waiter_test_utils.cc',
150         'system/waiter_test_utils.h',
151         'system/waiter_unittest.cc',
152       ],
153     },
154     {
155       'target_name': 'mojo_gles2',
156       'type': '<(component)',
157       'dependencies': [
158         '../gpu/gpu.gyp:gles2_c_lib',
159       ],
160       'defines': [
161         'MOJO_GLES2_IMPLEMENTATION',
162       ],
163       'sources': [
164         'gles2/gles2.cc',
165       ],
166     },
167     {
168       'target_name': 'mojo_common_lib',
169       'type': '<(component)',
170       'defines': [
171         'MOJO_COMMON_IMPLEMENTATION',
172       ],
173       'dependencies': [
174         '../base/base.gyp:base',
175         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
176         'mojo_system',
177       ],
178       'sources': [
179         'common/bindings_support_impl.cc',
180         'common/bindings_support_impl.h',
181         'common/common_type_converters.cc',
182         'common/common_type_converters.h',
183         'common/handle_watcher.cc',
184         'common/handle_watcher.h',
185         'common/message_pump_mojo.cc',
186         'common/message_pump_mojo.h',
187         'common/message_pump_mojo_handler.h',
188       ],
189       'conditions': [
190         ['OS == "win"', {
191           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
192           'msvs_disabled_warnings': [
193             4267,
194           ],
195         }],
196       ],
197     },
198     {
199       'target_name': 'mojo_common_test_support',
200       'type': 'static_library',
201       'dependencies': [
202         '../base/base.gyp:base',
203         '../base/base.gyp:test_support_base',
204         '../testing/gtest.gyp:gtest',
205         'mojo_system',
206         'mojo_system_impl',
207       ],
208       'sources': [
209         'common/test/multiprocess_test_base.cc',
210         'common/test/multiprocess_test_base.h',
211       ],
212     },
213     {
214       'target_name': 'mojo_common_unittests',
215       'type': 'executable',
216       'dependencies': [
217         '../base/base.gyp:base',
218         '../base/base.gyp:base_message_loop_tests',
219         '../testing/gtest.gyp:gtest',
220         'mojo_bindings',
221         'mojo_common_lib',
222         'mojo_common_test_support',
223         'mojo_public_test_support',
224         'mojo_run_all_unittests',
225         'mojo_system',
226         'mojo_system_impl',
227       ],
228       'sources': [
229         'common/common_type_converters_unittest.cc',
230         'common/handle_watcher_unittest.cc',
231         'common/message_pump_mojo_unittest.cc',
232         'common/test/multiprocess_test_base_unittest.cc',
233       ],
234       'conditions': [
235         ['OS == "win"', {
236           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
237           'msvs_disabled_warnings': [
238             4267,
239           ],
240         }],
241       ],
242     },
243     {
244       'target_name': 'mojo_shell_lib',
245       'type': 'static_library',
246       'dependencies': [
247         '../base/base.gyp:base',
248         '../net/net.gyp:net',
249         '../url/url.gyp:url_lib',
250         'mojo_shell_bindings',
251         'mojo_system',
252         'mojo_system_impl',
253         'mojo_native_viewport_service',
254       ],
255       'sources': [
256         'shell/context.cc',
257         'shell/context.h',
258         'shell/dynamic_service_loader.cc',
259         'shell/dynamic_service_loader.h',
260         'shell/init.cc',
261         'shell/init.h',
262         'shell/loader.cc',
263         'shell/loader.h',
264         'shell/network_delegate.cc',
265         'shell/network_delegate.h',
266         'shell/run.cc',
267         'shell/run.h',
268         'shell/service_manager.cc',
269         'shell/service_manager.h',
270         'shell/storage.cc',
271         'shell/storage.h',
272         'shell/switches.cc',
273         'shell/switches.h',
274         'shell/task_runners.cc',
275         'shell/task_runners.h',
276         'shell/url_request_context_getter.cc',
277         'shell/url_request_context_getter.h',
278       ],
279       'conditions': [
280         ['OS == "win"', {
281           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
282           'msvs_disabled_warnings': [
283             4267,
284           ],
285         }],
286       ],
287     },
288     {
289       'target_name': 'mojo_shell_bindings',
290       'type': 'static_library',
291       'sources': [
292         'shell/shell.mojom',
293       ],
294       'includes': [ 'public/bindings/mojom_bindings_generator.gypi' ],
295       'export_dependent_settings': [
296         'mojo_bindings',
297         'mojo_system',
298       ],
299     },
300     {
301       'target_name': 'mojo_shell',
302       'type': 'executable',
303       'dependencies': [
304         '../base/base.gyp:base',
305         '../ui/gl/gl.gyp:gl',
306         '../url/url.gyp:url_lib',
307         'mojo_common_lib',
308         'mojo_shell_lib',
309         'mojo_system',
310         'mojo_system_impl',
311       ],
312       'sources': [
313         'shell/desktop/mojo_main.cc',
314       ],
315       'conditions': [
316         ['OS == "win"', {
317           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
318           'msvs_disabled_warnings': [
319             4267,
320           ],
321         }],
322       ],
323     },
324     {
325       'target_name': 'mojo_shell_unittests',
326       'type': 'executable',
327       'dependencies': [
328         '../base/base.gyp:base',
329         '../testing/gtest.gyp:gtest',
330         'mojo_common_lib',
331         'mojo_run_all_unittests',
332         'mojo_shell_lib',
333       ],
334       'includes': [ 'public/bindings/mojom_bindings_generator.gypi' ],
335       'sources': [
336         'shell/service_manager_unittest.cc',
337         'shell/test.mojom',
338       ],
339     },
340   ],
341   'conditions': [
342     ['OS=="android"', {
343       'targets': [
344         {
345           'target_name': 'mojo_native_viewport_java',
346           'type': 'none',
347           'dependencies': [
348             '../base/base.gyp:base_java',
349           ],
350           'variables': {
351             'java_in_dir': '<(DEPTH)/mojo/services/native_viewport/android',
352           },
353           'includes': [ '../build/java.gypi' ],
354         },
355         {
356           'target_name': 'mojo_java_set_jni_headers',
357           'type': 'none',
358           'variables': {
359             'jni_gen_package': 'mojo',
360             'input_java_class': 'java/util/HashSet.class',
361           },
362           'includes': [ '../build/jar_file_jni_generator.gypi' ],
363         },
364         {
365           'target_name': 'mojo_jni_headers',
366           'type': 'none',
367           'dependencies': [
368             'mojo_java_set_jni_headers',
369           ],
370           'sources': [
371             'services/native_viewport/android/src/org/chromium/mojo/NativeViewportAndroid.java',
372             'shell/android/apk/src/org/chromium/mojo_shell_apk/MojoMain.java',
373           ],
374           'variables': {
375             'jni_gen_package': 'mojo'
376           },
377           'includes': [ '../build/jni_generator.gypi' ],
378         },
379         {
380           'target_name': 'libmojo_shell',
381           'type': 'shared_library',
382           'dependencies': [
383             '../base/base.gyp:base',
384             '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
385             '../ui/gfx/gfx.gyp:gfx',
386             '../ui/gfx/gfx.gyp:gfx_geometry',
387             '../ui/gl/gl.gyp:gl',
388             'mojo_common_lib',
389             'mojo_jni_headers',
390             'mojo_shell_bindings',
391             'mojo_shell_lib',
392           ],
393           'sources': [
394             'shell/android/library_loader.cc',
395             'shell/android/mojo_main.cc',
396             'shell/android/mojo_main.h',
397           ],
398         },
399         {
400           'target_name': 'mojo_shell_apk',
401           'type': 'none',
402           'dependencies': [
403             '../base/base.gyp:base_java',
404             '../net/net.gyp:net_java',
405             'mojo_native_viewport_java',
406             'libmojo_shell',
407           ],
408           'variables': {
409             'apk_name': 'MojoShell',
410             'java_in_dir': '<(DEPTH)/mojo/shell/android/apk',
411             'resource_dir': '<(DEPTH)/mojo/shell/android/apk/res',
412             'native_lib_target': 'libmojo_shell',
413           },
414           'includes': [ '../build/java_apk.gypi' ],
415         }
416       ],
417     }],
418   ],