• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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/buffer.h',
30        'public/c/system/core.h',
31        'public/c/system/data_pipe.h',
32        'public/c/system/functions.h',
33        'public/c/system/macros.h',
34        'public/c/system/message_pipe.h',
35        'public/c/system/system_export.h',
36        'public/c/system/types.h',
37        'public/platform/native/system_thunks.cc',
38        'public/platform/native/system_thunks.h',
39      ],
40    },
41    {
42      'target_name': 'mojo_gles2',
43      'type': 'shared_library',
44      'defines': [
45        'MOJO_GLES2_IMPLEMENTATION',
46        'GLES2_USE_MOJO',
47      ],
48      'include_dirs': [
49        '..',
50      ],
51      'dependencies': [
52        '../third_party/khronos/khronos.gyp:khronos_headers'
53      ],
54      'direct_dependent_settings': {
55        'include_dirs': [
56          '..',
57        ],
58        'defines': [
59          'GLES2_USE_MOJO',
60        ],
61      },
62      'sources': [
63        'public/c/gles2/gles2.h',
64        'public/c/gles2/gles2_export.h',
65        'public/gles2/gles2_private.cc',
66        'public/gles2/gles2_private.h',
67      ],
68      'conditions': [
69        ['OS=="mac"', {
70          'xcode_settings': {
71            # Make it a run-path dependent library.
72            'DYLIB_INSTALL_NAME_BASE': '@loader_path',
73          },
74        }],
75      ],
76    },
77    {
78      'target_name': 'mojo_test_support',
79      'type': 'shared_library',
80      'defines': [
81        'MOJO_TEST_SUPPORT_IMPLEMENTATION',
82      ],
83      'include_dirs': [
84        '..',
85      ],
86      'direct_dependent_settings': {
87        'include_dirs': [
88          '..',
89        ],
90      },
91      'sources': [
92        'public/c/test_support/test_support.h',
93        'public/c/test_support/test_support_export.h',
94        'public/tests/test_support_private.cc',
95        'public/tests/test_support_private.h',
96      ],
97      'conditions': [
98        ['OS=="mac"', {
99          'xcode_settings': {
100            # Make it a run-path dependent library.
101            'DYLIB_INSTALL_NAME_BASE': '@loader_path',
102          },
103        }],
104      ],
105    },
106    {
107      'target_name': 'mojo_public_test_utils',
108      'type': 'static_library',
109      'dependencies': [
110        '../base/base.gyp:base',
111        '../testing/gtest.gyp:gtest',
112        'mojo_test_support',
113      ],
114      'sources': [
115        'public/cpp/test_support/lib/test_support.cc',
116        'public/cpp/test_support/lib/test_utils.cc',
117        'public/cpp/test_support/test_utils.h',
118      ],
119    },
120    # TODO(vtl): Reorganize the mojo_public_*_unittests.
121    {
122      'target_name': 'mojo_public_bindings_unittests',
123      'type': 'executable',
124      'dependencies': [
125        '../testing/gtest.gyp:gtest',
126        'mojo_cpp_bindings',
127        'mojo_environment_standalone',
128        'mojo_public_test_utils',
129        'mojo_run_all_unittests',
130        'mojo_public_test_interfaces',
131        'mojo_utility',
132      ],
133      'sources': [
134        'public/cpp/bindings/tests/array_unittest.cc',
135        'public/cpp/bindings/tests/bounds_checker_unittest.cc',
136        'public/cpp/bindings/tests/buffer_unittest.cc',
137        'public/cpp/bindings/tests/connector_unittest.cc',
138        'public/cpp/bindings/tests/handle_passing_unittest.cc',
139        'public/cpp/bindings/tests/interface_ptr_unittest.cc',
140        'public/cpp/bindings/tests/request_response_unittest.cc',
141        'public/cpp/bindings/tests/router_unittest.cc',
142        'public/cpp/bindings/tests/sample_service_unittest.cc',
143        'public/cpp/bindings/tests/string_unittest.cc',
144        'public/cpp/bindings/tests/struct_unittest.cc',
145        'public/cpp/bindings/tests/type_conversion_unittest.cc',
146        'public/cpp/bindings/tests/validation_test_input_parser.cc',
147        'public/cpp/bindings/tests/validation_test_input_parser.h',
148        'public/cpp/bindings/tests/validation_unittest.cc',
149      ],
150    },
151    {
152      'target_name': 'mojo_public_environment_unittests',
153      'type': 'executable',
154      'dependencies': [
155        '../base/base.gyp:base',
156        '../testing/gtest.gyp:gtest',
157        'mojo_environment_standalone',
158        'mojo_public_test_utils',
159        'mojo_run_all_unittests',
160        'mojo_utility',
161      ],
162      'sources': [
163        'public/cpp/environment/tests/async_waiter_unittest.cc',
164        'public/cpp/environment/tests/logger_unittest.cc',
165        'public/cpp/environment/tests/logging_unittest.cc',
166      ],
167    },
168    {
169      'target_name': 'mojo_public_system_unittests',
170      'type': 'executable',
171      'dependencies': [
172        '../base/base.gyp:base',
173        '../testing/gtest.gyp:gtest',
174        'mojo_cpp_bindings',
175        'mojo_public_test_utils',
176        'mojo_run_all_unittests',
177      ],
178      'sources': [
179        'public/c/system/tests/core_unittest.cc',
180        'public/c/system/tests/core_unittest_pure_c.c',
181        'public/c/system/tests/macros_unittest.cc',
182        'public/cpp/system/tests/core_unittest.cc',
183        'public/cpp/system/tests/macros_unittest.cc',
184      ],
185    },
186    {
187      'target_name': 'mojo_public_utility_unittests',
188      'type': 'executable',
189      'dependencies': [
190        '../base/base.gyp:base',
191        '../testing/gtest.gyp:gtest',
192        'mojo_cpp_bindings',
193        'mojo_public_test_utils',
194        'mojo_run_all_unittests',
195        'mojo_utility',
196      ],
197      'sources': [
198        'public/cpp/utility/tests/mutex_unittest.cc',
199        'public/cpp/utility/tests/run_loop_unittest.cc',
200        'public/cpp/utility/tests/thread_unittest.cc',
201      ],
202      'conditions': [
203        # See crbug.com/342893:
204        ['OS=="win"', {
205          'sources!': [
206            'public/cpp/utility/tests/mutex_unittest.cc',
207            'public/cpp/utility/tests/thread_unittest.cc',
208          ],
209        }],
210      ],
211    },
212    {
213      'target_name': 'mojo_public_system_perftests',
214      'type': 'executable',
215      'dependencies': [
216        '../base/base.gyp:base',
217        '../testing/gtest.gyp:gtest',
218        'mojo_public_test_utils',
219        'mojo_run_all_perftests',
220        'mojo_utility',
221      ],
222      'sources': [
223        'public/c/system/tests/core_perftest.cc',
224      ],
225    },
226    {
227      # GN version: //mojo/public/cpp/bindings
228      'target_name': 'mojo_cpp_bindings',
229      'type': 'static_library',
230      'include_dirs': [
231        '..'
232      ],
233      'sources': [
234        'public/cpp/bindings/array.h',
235        'public/cpp/bindings/callback.h',
236        'public/cpp/bindings/error_handler.h',
237        'public/cpp/bindings/interface_impl.h',
238        'public/cpp/bindings/interface_ptr.h',
239        'public/cpp/bindings/interface_request.h',
240        'public/cpp/bindings/message.h',
241        'public/cpp/bindings/message_filter.h',
242        'public/cpp/bindings/no_interface.h',
243        'public/cpp/bindings/string.h',
244        'public/cpp/bindings/sync_dispatcher.h',
245        'public/cpp/bindings/type_converter.h',
246        'public/cpp/bindings/lib/array_internal.h',
247        'public/cpp/bindings/lib/array_internal.cc',
248        'public/cpp/bindings/lib/array_serialization.h',
249        'public/cpp/bindings/lib/bindings_internal.h',
250        'public/cpp/bindings/lib/bindings_serialization.cc',
251        'public/cpp/bindings/lib/bindings_serialization.h',
252        'public/cpp/bindings/lib/bounds_checker.cc',
253        'public/cpp/bindings/lib/bounds_checker.h',
254        'public/cpp/bindings/lib/buffer.h',
255        'public/cpp/bindings/lib/callback_internal.h',
256        'public/cpp/bindings/lib/connector.cc',
257        'public/cpp/bindings/lib/connector.h',
258        'public/cpp/bindings/lib/filter_chain.cc',
259        'public/cpp/bindings/lib/filter_chain.h',
260        'public/cpp/bindings/lib/fixed_buffer.cc',
261        'public/cpp/bindings/lib/fixed_buffer.h',
262        'public/cpp/bindings/lib/interface_impl_internal.h',
263        'public/cpp/bindings/lib/interface_ptr_internal.h',
264        'public/cpp/bindings/lib/message.cc',
265        'public/cpp/bindings/lib/message_builder.cc',
266        'public/cpp/bindings/lib/message_builder.h',
267        'public/cpp/bindings/lib/message_filter.cc',
268        'public/cpp/bindings/lib/message_header_validator.cc',
269        'public/cpp/bindings/lib/message_header_validator.h',
270        'public/cpp/bindings/lib/message_internal.h',
271        'public/cpp/bindings/lib/message_queue.cc',
272        'public/cpp/bindings/lib/message_queue.h',
273        'public/cpp/bindings/lib/no_interface.cc',
274        'public/cpp/bindings/lib/router.cc',
275        'public/cpp/bindings/lib/router.h',
276        'public/cpp/bindings/lib/shared_data.h',
277        'public/cpp/bindings/lib/shared_ptr.h',
278        'public/cpp/bindings/lib/string_serialization.h',
279        'public/cpp/bindings/lib/string_serialization.cc',
280        'public/cpp/bindings/lib/sync_dispatcher.cc',
281        'public/cpp/bindings/lib/validation_errors.cc',
282        'public/cpp/bindings/lib/validation_errors.h',
283      ],
284    },
285    {
286      # GN version: //mojo/public/js/bindings
287      'target_name': 'mojo_js_bindings',
288      'type': 'static_library',
289      'include_dirs': [
290        '..'
291      ],
292      'sources': [
293        'public/js/bindings/constants.cc',
294        'public/js/bindings/constants.h',
295      ],
296    },
297    {
298      'target_name': 'mojo_public_test_interfaces',
299      'type': 'static_library',
300      'sources': [
301        'public/interfaces/bindings/tests/math_calculator.mojom',
302        'public/interfaces/bindings/tests/sample_factory.mojom',
303        'public/interfaces/bindings/tests/sample_import.mojom',
304        'public/interfaces/bindings/tests/sample_import2.mojom',
305        'public/interfaces/bindings/tests/sample_interfaces.mojom',
306        'public/interfaces/bindings/tests/sample_service.mojom',
307        'public/interfaces/bindings/tests/test_structs.mojom',
308        'public/interfaces/bindings/tests/validation_test_interfaces.mojom',
309      ],
310      'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
311      'export_dependent_settings': [
312        'mojo_cpp_bindings',
313      ],
314      'dependencies': [
315        'mojo_cpp_bindings',
316      ],
317    },
318    {
319      'target_name': 'mojo_environment_standalone',
320      'type': 'static_library',
321      'sources': [
322        'public/c/environment/async_waiter.h',
323        'public/c/environment/logger.h',
324        'public/c/environment/logging.h',
325        'public/cpp/environment/environment.h',
326        'public/cpp/environment/lib/default_async_waiter.cc',
327        'public/cpp/environment/lib/default_async_waiter.h',
328        'public/cpp/environment/lib/default_logger.cc',
329        'public/cpp/environment/lib/default_logger.h',
330        'public/cpp/environment/lib/environment.cc',
331        'public/cpp/environment/lib/logging.cc',
332      ],
333      'include_dirs': [
334        '..',
335      ],
336    },
337    {
338      'target_name': 'mojo_utility',
339      'type': 'static_library',
340      'sources': [
341        'public/cpp/utility/mutex.h',
342        'public/cpp/utility/run_loop.h',
343        'public/cpp/utility/run_loop_handler.h',
344        'public/cpp/utility/thread.h',
345        'public/cpp/utility/lib/mutex.cc',
346        'public/cpp/utility/lib/run_loop.cc',
347        'public/cpp/utility/lib/thread.cc',
348        'public/cpp/utility/lib/thread_local.h',
349        'public/cpp/utility/lib/thread_local_posix.cc',
350        'public/cpp/utility/lib/thread_local_win.cc',
351      ],
352      'conditions': [
353        # See crbug.com/342893:
354        ['OS=="win"', {
355          'sources!': [
356            'public/cpp/utility/mutex.h',
357            'public/cpp/utility/thread.h',
358            'public/cpp/utility/lib/mutex.cc',
359            'public/cpp/utility/lib/thread.cc',
360          ],
361        }],
362      ],
363      'include_dirs': [
364        '..',
365      ],
366    },
367    {
368      # GN version: //mojo/public/interfaces/interface_provider:interface_provider
369      'target_name': 'mojo_interface_provider_bindings',
370      'type': 'static_library',
371      'sources': [
372        'public/interfaces/interface_provider/interface_provider.mojom',
373      ],
374      'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
375      'dependencies': [
376        'mojo_cpp_bindings',
377      ],
378      'export_dependent_settings': [
379        'mojo_cpp_bindings',
380      ],
381    },
382    {
383      # GN version: //mojo/public/interfaces/service_provider:service_provider
384      'target_name': 'mojo_service_provider_bindings',
385      'type': 'static_library',
386      'sources': [
387        'public/interfaces/service_provider/service_provider.mojom',
388      ],
389      'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
390      'dependencies': [
391        'mojo_cpp_bindings',
392      ],
393      'export_dependent_settings': [
394        'mojo_cpp_bindings',
395      ],
396    },
397    {
398      'target_name': 'mojo_application',
399      'type': 'static_library',
400      'sources': [
401        'public/cpp/application/application.h',
402        'public/cpp/application/connect.h',
403        'public/cpp/application/lib/application.cc',
404        'public/cpp/application/lib/service_connector.cc',
405        'public/cpp/application/lib/service_connector.h',
406        'public/cpp/application/lib/service_registry.cc',
407        'public/cpp/application/lib/service_registry.h',
408      ],
409      'dependencies': [
410        'mojo_service_provider_bindings',
411      ],
412      'export_dependent_settings': [
413        'mojo_service_provider_bindings',
414      ],
415    },
416  ],
417  'conditions': [
418    ['OS == "android"', {
419      'targets': [
420        {
421          'target_name': 'mojo_public_java',
422          'type': 'none',
423          'variables': {
424            'java_in_dir': 'public/java',
425          },
426          'includes': [ '../build/java.gypi' ],
427        },
428        {
429          'target_name': 'mojo_bindings_java',
430          'type': 'none',
431          'variables': {
432            'java_in_dir': 'bindings/java',
433          },
434          'dependencies': [
435            'mojo_public_java',
436          ],
437          'includes': [ '../build/java.gypi' ],
438        },
439      ],
440    }],
441  ],
442}
443