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