Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / mojo / mojo_public.gypi
1 {
2   'targets': [
3     {
4       'target_name': 'mojo_system',
5       'type': 'static_library',
6       'defines': [
7         'MOJO_SYSTEM_IMPLEMENTATION',
8       ],
9       'include_dirs': [
10         '..',
11       ],
12       'direct_dependent_settings': {
13         'include_dirs': [
14           '..',
15         ],
16       },
17       'all_dependent_settings': {
18         'conditions': [
19           # We need to be able to call the MojoSetSystemThunks() function in
20           # system_thunks.cc
21           ['OS=="android"', {
22             'ldflags!': [
23               '-Wl,--exclude-libs=ALL',
24             ],
25           }],
26         ],
27       },
28       'sources': [
29         'public/c/system/core.h',
30         'public/c/system/macros.h',
31         'public/c/system/system_export.h',
32         'public/platform/native/system_thunks.cc',
33         'public/platform/native/system_thunks.h',
34       ],
35     },
36     {
37       'target_name': 'mojo_gles2',
38       'type': 'shared_library',
39       'defines': [
40         'MOJO_GLES2_IMPLEMENTATION',
41         'GLES2_USE_MOJO',
42       ],
43       'include_dirs': [
44         '..',
45       ],
46       'dependencies': [
47         '../third_party/khronos/khronos.gyp:khronos_headers'
48       ],
49       'direct_dependent_settings': {
50         'include_dirs': [
51           '..',
52         ],
53         'defines': [
54           'GLES2_USE_MOJO',
55         ],
56       },
57       'sources': [
58         'public/c/gles2/gles2.h',
59         'public/c/gles2/gles2_export.h',
60         'public/gles2/gles2_private.cc',
61         'public/gles2/gles2_private.h',
62       ],
63       'conditions': [
64         ['OS=="mac"', {
65           'xcode_settings': {
66             # Make it a run-path dependent library.
67             'DYLIB_INSTALL_NAME_BASE': '@loader_path',
68           },
69         }],
70       ],
71     },
72     {
73       'target_name': 'mojo_test_support',
74       'type': 'shared_library',
75       'defines': [
76         'MOJO_TEST_SUPPORT_IMPLEMENTATION',
77       ],
78       'include_dirs': [
79         '..',
80       ],
81       'direct_dependent_settings': {
82         'include_dirs': [
83           '..',
84         ],
85       },
86       'sources': [
87         'public/c/test_support/test_support.h',
88         'public/c/test_support/test_support_export.h',
89         'public/tests/test_support_private.cc',
90         'public/tests/test_support_private.h',
91       ],
92       'conditions': [
93         ['OS=="mac"', {
94           'xcode_settings': {
95             # Make it a run-path dependent library.
96             'DYLIB_INSTALL_NAME_BASE': '@loader_path',
97           },
98         }],
99       ],
100     },
101     {
102       'target_name': 'mojo_public_test_utils',
103       'type': 'static_library',
104       'dependencies': [
105         '../base/base.gyp:base',
106         '../testing/gtest.gyp:gtest',
107         'mojo_test_support',
108       ],
109       'sources': [
110         'public/cpp/test_support/lib/test_support.cc',
111         'public/cpp/test_support/lib/test_utils.cc',
112         'public/cpp/test_support/test_utils.h',
113       ],
114     },
115     # TODO(vtl): Reorganize the mojo_public_*_unittests.
116     {
117       'target_name': 'mojo_public_bindings_unittests',
118       'type': 'executable',
119       'dependencies': [
120         '../testing/gtest.gyp:gtest',
121         'mojo_cpp_bindings',
122         'mojo_environment_standalone',
123         'mojo_public_test_utils',
124         'mojo_run_all_unittests',
125         'mojo_public_test_interfaces',
126         'mojo_utility',
127       ],
128       'sources': [
129         'public/cpp/bindings/tests/array_unittest.cc',
130         'public/cpp/bindings/tests/buffer_unittest.cc',
131         'public/cpp/bindings/tests/connector_unittest.cc',
132         'public/cpp/bindings/tests/handle_passing_unittest.cc',
133         'public/cpp/bindings/tests/interface_ptr_unittest.cc',
134         'public/cpp/bindings/tests/request_response_unittest.cc',
135         'public/cpp/bindings/tests/router_unittest.cc',
136         'public/cpp/bindings/tests/sample_service_unittest.cc',
137         'public/cpp/bindings/tests/type_conversion_unittest.cc',
138         'public/cpp/bindings/tests/validation_unittest.cc',
139       ],
140     },
141     {
142       'target_name': 'mojo_public_environment_unittests',
143       'type': 'executable',
144       'dependencies': [
145         '../base/base.gyp:base',
146         '../testing/gtest.gyp:gtest',
147         'mojo_environment_standalone',
148         'mojo_public_test_utils',
149         'mojo_run_all_unittests',
150         'mojo_utility',
151       ],
152       'sources': [
153         'public/cpp/environment/tests/async_waiter_unittest.cc',
154       ],
155     },
156     {
157       'target_name': 'mojo_public_system_unittests',
158       'type': 'executable',
159       'dependencies': [
160         '../base/base.gyp:base',
161         '../testing/gtest.gyp:gtest',
162         'mojo_cpp_bindings',
163         'mojo_public_test_utils',
164         'mojo_run_all_unittests',
165       ],
166       'sources': [
167         'public/c/system/tests/core_unittest.cc',
168         'public/c/system/tests/core_unittest_pure_c.c',
169         'public/c/system/tests/macros_unittest.cc',
170         'public/cpp/system/tests/core_unittest.cc',
171         'public/cpp/system/tests/macros_unittest.cc',
172       ],
173     },
174     {
175       'target_name': 'mojo_public_utility_unittests',
176       'type': 'executable',
177       'dependencies': [
178         '../base/base.gyp:base',
179         '../testing/gtest.gyp:gtest',
180         'mojo_cpp_bindings',
181         'mojo_public_test_utils',
182         'mojo_run_all_unittests',
183         'mojo_utility',
184       ],
185       'sources': [
186         'public/cpp/utility/tests/mutex_unittest.cc',
187         'public/cpp/utility/tests/run_loop_unittest.cc',
188         'public/cpp/utility/tests/thread_unittest.cc',
189       ],
190       'conditions': [
191         # See crbug.com/342893:
192         ['OS=="win"', {
193           'sources!': [
194             'public/cpp/utility/tests/mutex_unittest.cc',
195             'public/cpp/utility/tests/thread_unittest.cc',
196           ],
197         }],
198       ],
199     },
200     {
201       'target_name': 'mojo_public_system_perftests',
202       'type': 'executable',
203       'dependencies': [
204         '../base/base.gyp:base',
205         '../testing/gtest.gyp:gtest',
206         'mojo_public_test_utils',
207         'mojo_run_all_perftests',
208         'mojo_utility',
209       ],
210       'sources': [
211         'public/c/system/tests/core_perftest.cc',
212       ],
213     },
214     {
215       'target_name': 'mojo_cpp_bindings',
216       'type': 'static_library',
217       'include_dirs': [
218         '..'
219       ],
220       'sources': [
221         'public/cpp/bindings/allocation_scope.h',
222         'public/cpp/bindings/array.h',
223         'public/cpp/bindings/buffer.h',
224         'public/cpp/bindings/callback.h',
225         'public/cpp/bindings/error_handler.h',
226         'public/cpp/bindings/interface_impl.h',
227         'public/cpp/bindings/interface_ptr.h',
228         'public/cpp/bindings/message.h',
229         'public/cpp/bindings/no_interface.h',
230         'public/cpp/bindings/passable.h',
231         'public/cpp/bindings/sync_dispatcher.h',
232         'public/cpp/bindings/type_converter.h',
233         'public/cpp/bindings/lib/array.cc',
234         'public/cpp/bindings/lib/array_internal.h',
235         'public/cpp/bindings/lib/array_internal.cc',
236         'public/cpp/bindings/lib/bindings_internal.h',
237         'public/cpp/bindings/lib/bindings_serialization.cc',
238         'public/cpp/bindings/lib/bindings_serialization.h',
239         'public/cpp/bindings/lib/buffer.cc',
240         'public/cpp/bindings/lib/callback_internal.h',
241         'public/cpp/bindings/lib/connector.cc',
242         'public/cpp/bindings/lib/connector.h',
243         'public/cpp/bindings/lib/fixed_buffer.cc',
244         'public/cpp/bindings/lib/fixed_buffer.h',
245         'public/cpp/bindings/lib/interface_impl_internal.h',
246         'public/cpp/bindings/lib/interface_ptr_internal.h',
247         'public/cpp/bindings/lib/message.cc',
248         'public/cpp/bindings/lib/message_builder.cc',
249         'public/cpp/bindings/lib/message_builder.h',
250         'public/cpp/bindings/lib/message_header_validator.cc',
251         'public/cpp/bindings/lib/message_header_validator.h',
252         'public/cpp/bindings/lib/message_internal.h',
253         'public/cpp/bindings/lib/message_queue.cc',
254         'public/cpp/bindings/lib/message_queue.h',
255         'public/cpp/bindings/lib/no_interface.cc',
256         'public/cpp/bindings/lib/router.cc',
257         'public/cpp/bindings/lib/router.h',
258         'public/cpp/bindings/lib/scratch_buffer.cc',
259         'public/cpp/bindings/lib/scratch_buffer.h',
260         'public/cpp/bindings/lib/shared_data.h',
261         'public/cpp/bindings/lib/shared_ptr.h',
262         'public/cpp/bindings/lib/sync_dispatcher.cc',
263       ],
264     },
265     {
266       'target_name': 'mojo_js_bindings',
267       'type': 'static_library',
268       'include_dirs': [
269         '..'
270       ],
271       'sources': [
272         'public/js/bindings/constants.cc',
273         'public/js/bindings/constants.h',
274       ],
275     },
276     {
277       'target_name': 'mojo_public_test_interfaces',
278       'type': 'static_library',
279       'sources': [
280         'public/interfaces/bindings/tests/math_calculator.mojom',
281         'public/interfaces/bindings/tests/sample_factory.mojom',
282         'public/interfaces/bindings/tests/sample_import.mojom',
283         'public/interfaces/bindings/tests/sample_import2.mojom',
284         'public/interfaces/bindings/tests/sample_interfaces.mojom',
285         'public/interfaces/bindings/tests/sample_service.mojom',
286         'public/interfaces/bindings/tests/test_structs.mojom',
287       ],
288       'variables': {
289         'mojom_base_output_dir': 'mojo',
290       },
291       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
292       'export_dependent_settings': [
293         'mojo_cpp_bindings',
294       ],
295       'dependencies': [
296         'mojo_cpp_bindings',
297       ],
298     },
299     {
300       'target_name': 'mojo_environment_standalone',
301       'type': 'static_library',
302       'sources': [
303         'public/cpp/environment/buffer_tls.h',
304         'public/cpp/environment/default_async_waiter.h',
305         'public/cpp/environment/environment.h',
306         'public/cpp/environment/lib/default_async_waiter.cc',
307         'public/cpp/environment/lib/buffer_tls.cc',
308         'public/cpp/environment/lib/buffer_tls_setup.h',
309         'public/cpp/environment/lib/environment.cc',
310       ],
311       'include_dirs': [
312         '..',
313       ],
314     },
315     {
316       'target_name': 'mojo_utility',
317       'type': 'static_library',
318       'sources': [
319         'public/cpp/utility/mutex.h',
320         'public/cpp/utility/run_loop.h',
321         'public/cpp/utility/run_loop_handler.h',
322         'public/cpp/utility/thread.h',
323         'public/cpp/utility/lib/mutex.cc',
324         'public/cpp/utility/lib/run_loop.cc',
325         'public/cpp/utility/lib/thread.cc',
326         'public/cpp/utility/lib/thread_local.h',
327         'public/cpp/utility/lib/thread_local_posix.cc',
328         'public/cpp/utility/lib/thread_local_win.cc',
329       ],
330       'conditions': [
331         # See crbug.com/342893:
332         ['OS=="win"', {
333           'sources!': [
334             'public/cpp/utility/mutex.h',
335             'public/cpp/utility/thread.h',
336             'public/cpp/utility/lib/mutex.cc',
337             'public/cpp/utility/lib/thread.cc',
338           ],
339         }],
340       ],
341       'include_dirs': [
342         '..',
343       ],
344     },
345     {
346       'target_name': 'mojo_shell_bindings',
347       'type': 'static_library',
348       'sources': [
349         'public/interfaces/shell/shell.mojom',
350       ],
351       'variables': {
352         'mojom_base_output_dir': 'mojo',
353       },
354       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
355       'dependencies': [
356         'mojo_cpp_bindings',
357       ],
358       'export_dependent_settings': [
359         'mojo_cpp_bindings',
360       ],
361     },
362     {
363       'target_name': 'mojo_shell_client',
364       'type': 'static_library',
365       'sources': [
366         'public/cpp/shell/application.h',
367         'public/cpp/shell/service.h',
368         'public/cpp/shell/lib/application.cc',
369         'public/cpp/shell/lib/service.cc',
370       ],
371       'dependencies': [
372         'mojo_shell_bindings',
373       ],
374       'export_dependent_settings': [
375         'mojo_shell_bindings',
376       ],
377     },
378   ],
379   'conditions': [
380     ['OS == "android"', {
381       'targets': [
382         {
383           'target_name': 'mojo_public_java',
384           'type': 'none',
385           'variables': {
386             'java_in_dir': 'public/java',
387           },
388           'includes': [ '../build/java.gypi' ],
389         },
390       ],
391     }],
392   ],
393 }