Decouple script URL from ServiceWorkerRegistration
[chromium-blink-merge.git] / mojo / mojo_public.gypi
blob9e59b97a1c2c94f3bcdb4aa84f119404369c7e01
1 # Copyright 2014 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   'targets': [
7     {
8       # GN version: //mojo/public/c/system
9       'target_name': 'mojo_system',
10       'type': 'static_library',
11       'defines': [
12         'MOJO_SYSTEM_IMPLEMENTATION',
13       ],
14       'include_dirs': [
15         '..',
16       ],
17       'direct_dependent_settings': {
18         'include_dirs': [
19           '..',
20         ],
21       },
22       'all_dependent_settings': {
23         'conditions': [
24           # We need to be able to call the MojoSetSystemThunks() function in
25           # system_thunks.cc
26           ['OS=="android"', {
27             'ldflags!': [
28               '-Wl,--exclude-libs=ALL',
29             ],
30           }],
31         ],
32       },
33       'sources': [
34         'public/c/system/buffer.h',
35         'public/c/system/core.h',
36         'public/c/system/data_pipe.h',
37         'public/c/system/functions.h',
38         'public/c/system/macros.h',
39         'public/c/system/message_pipe.h',
40         'public/c/system/system_export.h',
41         'public/c/system/types.h',
42         'public/platform/native/system_thunks.cc',
43         'public/platform/native/system_thunks.h',
44       ],
45     },
46     {
47       # GN version: //mojo/public/gles2
48       'target_name': 'mojo_gles2',
49       'type': 'static_library',
50       'defines': [
51         'MOJO_GLES2_IMPLEMENTATION',
52         'GLES2_USE_MOJO',
53       ],
54       'include_dirs': [
55         '..',
56       ],
57       'dependencies': [
58         '../third_party/khronos/khronos.gyp:khronos_headers'
59       ],
60       'direct_dependent_settings': {
61         'include_dirs': [
62           '..',
63         ],
64         'defines': [
65           'GLES2_USE_MOJO',
66         ],
67       },
68       'all_dependent_settings': {
69         'conditions': [
70           # We need to be able to call the MojoSetGLES2Thunks() function in
71           # gles2_thunks.cc
72           ['OS=="android"', {
73             'ldflags!': [
74               '-Wl,--exclude-libs=ALL',
75             ],
76           }],
77         ],
78       },
79       'sources': [
80         'public/c/gles2/gles2.h',
81         'public/c/gles2/gles2_export.h',
82         'public/platform/native/gles2_thunks.cc',
83         'public/platform/native/gles2_thunks.h',
84         'public/platform/native/gles2_impl_thunks.cc',
85         'public/platform/native/gles2_impl_thunks.h',
86         'public/platform/native/gles2_impl_chromium_texture_mailbox_thunks.cc',
87         'public/platform/native/gles2_impl_chromium_texture_mailbox_thunks.h',
88         'public/platform/native/gles2_impl_chromium_sync_point_thunks.cc',
89         'public/platform/native/gles2_impl_chromium_sync_point_thunks.h',
90       ],
91     },
92     {
93       # GN version: //mojo/public/cpp/bindings
94       'target_name': 'mojo_cpp_bindings',
95       'type': 'static_library',
96       'include_dirs': [
97         '..'
98       ],
99       'sources': [
100         'public/cpp/bindings/array.h',
101         'public/cpp/bindings/callback.h',
102         'public/cpp/bindings/error_handler.h',
103         'public/cpp/bindings/interface_impl.h',
104         'public/cpp/bindings/interface_ptr.h',
105         'public/cpp/bindings/interface_request.h',
106         'public/cpp/bindings/message.h',
107         'public/cpp/bindings/message_filter.h',
108         'public/cpp/bindings/no_interface.h',
109         'public/cpp/bindings/string.h',
110         'public/cpp/bindings/type_converter.h',
111         'public/cpp/bindings/lib/array_internal.h',
112         'public/cpp/bindings/lib/array_internal.cc',
113         'public/cpp/bindings/lib/array_serialization.h',
114         'public/cpp/bindings/lib/bindings_internal.h',
115         'public/cpp/bindings/lib/bindings_serialization.cc',
116         'public/cpp/bindings/lib/bindings_serialization.h',
117         'public/cpp/bindings/lib/bounds_checker.cc',
118         'public/cpp/bindings/lib/bounds_checker.h',
119         'public/cpp/bindings/lib/buffer.h',
120         'public/cpp/bindings/lib/callback_internal.h',
121         'public/cpp/bindings/lib/connector.cc',
122         'public/cpp/bindings/lib/connector.h',
123         'public/cpp/bindings/lib/filter_chain.cc',
124         'public/cpp/bindings/lib/filter_chain.h',
125         'public/cpp/bindings/lib/fixed_buffer.cc',
126         'public/cpp/bindings/lib/fixed_buffer.h',
127         'public/cpp/bindings/lib/interface_impl_internal.h',
128         'public/cpp/bindings/lib/interface_ptr_internal.h',
129         'public/cpp/bindings/lib/message.cc',
130         'public/cpp/bindings/lib/message_builder.cc',
131         'public/cpp/bindings/lib/message_builder.h',
132         'public/cpp/bindings/lib/message_filter.cc',
133         'public/cpp/bindings/lib/message_header_validator.cc',
134         'public/cpp/bindings/lib/message_header_validator.h',
135         'public/cpp/bindings/lib/message_internal.h',
136         'public/cpp/bindings/lib/message_queue.cc',
137         'public/cpp/bindings/lib/message_queue.h',
138         'public/cpp/bindings/lib/no_interface.cc',
139         'public/cpp/bindings/lib/router.cc',
140         'public/cpp/bindings/lib/router.h',
141         'public/cpp/bindings/lib/shared_data.h',
142         'public/cpp/bindings/lib/shared_ptr.h',
143         'public/cpp/bindings/lib/string_serialization.h',
144         'public/cpp/bindings/lib/string_serialization.cc',
145         'public/cpp/bindings/lib/validation_errors.cc',
146         'public/cpp/bindings/lib/validation_errors.h',
147       ],
148     },
149     {
150       # GN version: //mojo/public/js/bindings
151       'target_name': 'mojo_js_bindings',
152       'type': 'static_library',
153       'include_dirs': [
154         '..'
155       ],
156       'sources': [
157         'public/js/bindings/constants.cc',
158         'public/js/bindings/constants.h',
159       ],
160     },
161     {
162       # GN version: //mojo/public/cpp/environment:standalone
163       'target_name': 'mojo_environment_standalone',
164       'type': 'static_library',
165       'sources': [
166         'public/c/environment/async_waiter.h',
167         'public/c/environment/logger.h',
168         'public/cpp/environment/environment.h',
169         'public/cpp/environment/lib/default_async_waiter.cc',
170         'public/cpp/environment/lib/default_async_waiter.h',
171         'public/cpp/environment/lib/default_logger.cc',
172         'public/cpp/environment/lib/default_logger.h',
173         'public/cpp/environment/lib/environment.cc',
174         'public/cpp/environment/lib/logging.cc',
175         'public/cpp/environment/logging.h',
176       ],
177       'include_dirs': [
178         '..',
179       ],
180     },
181     {
182       # GN version: //mojo/public/cpp/utility
183       'target_name': 'mojo_utility',
184       'type': 'static_library',
185       'sources': [
186         'public/cpp/utility/mutex.h',
187         'public/cpp/utility/run_loop.h',
188         'public/cpp/utility/run_loop_handler.h',
189         'public/cpp/utility/thread.h',
190         'public/cpp/utility/lib/mutex.cc',
191         'public/cpp/utility/lib/run_loop.cc',
192         'public/cpp/utility/lib/thread.cc',
193         'public/cpp/utility/lib/thread_local.h',
194         'public/cpp/utility/lib/thread_local_posix.cc',
195         'public/cpp/utility/lib/thread_local_win.cc',
196       ],
197       'conditions': [
198         # See crbug.com/342893:
199         ['OS=="win"', {
200           'sources!': [
201             'public/cpp/utility/mutex.h',
202             'public/cpp/utility/thread.h',
203             'public/cpp/utility/lib/mutex.cc',
204             'public/cpp/utility/lib/thread.cc',
205           ],
206         }],
207       ],
208       'include_dirs': [
209         '..',
210       ],
211     },
212     {
213       # GN version: //mojo/public/interfaces/application:application
214       'target_name': 'mojo_application_bindings',
215       'type': 'static_library',
216       'sources': [
217         'public/interfaces/application/application.mojom',
218         'public/interfaces/application/service_provider.mojom',
219         'public/interfaces/application/shell.mojom',
220       ],
221       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
222       'dependencies': [
223         'mojo_cpp_bindings',
224       ],
225       'export_dependent_settings': [
226         'mojo_cpp_bindings',
227       ],
228     },
229     {
230       # GN version: //mojo/public/cpp/application
231       'target_name': 'mojo_application_base',
232       'type': 'static_library',
233       'sources': [
234         'public/cpp/application/application_connection.h',
235         'public/cpp/application/application_delegate.h',
236         'public/cpp/application/application_impl.h',
237         'public/cpp/application/connect.h',
238         'public/cpp/application/service_provider_impl.h',
239         'public/cpp/application/interface_factory.h',
240         'public/cpp/application/interface_factory_impl.h',
241         'public/cpp/application/lib/application_connection.cc',
242         'public/cpp/application/lib/application_delegate.cc',
243         'public/cpp/application/lib/application_impl.cc',
244         'public/cpp/application/lib/service_provider_impl.cc',
245         'public/cpp/application/lib/service_connector.cc',
246         'public/cpp/application/lib/service_connector.h',
247         'public/cpp/application/lib/service_registry.cc',
248         'public/cpp/application/lib/service_registry.h',
249         'public/cpp/application/lib/weak_service_provider.cc',
250         'public/cpp/application/lib/weak_service_provider.h',
251       ],
252       'dependencies': [
253         'mojo_application_bindings',
254       ],
255       'export_dependent_settings': [
256         'mojo_application_bindings',
257       ],
258     },
259     {
260       # GN version: //mojo/public/cpp/application:standalone"
261       'target_name': 'mojo_application_standalone',
262       'type': 'static_library',
263       'sources': [
264         'public/cpp/application/lib/application_runner.cc',
265         'public/cpp/application/application_runner.h',
266       ],
267       'dependencies': [
268         'mojo_application_base',
269         'mojo_environment_standalone',
270       ],
271       'export_dependent_settings': [
272         'mojo_application_base',
273       ],
274     },
275   ],
276   'conditions': [
277     ['OS == "android"', {
278       'targets': [
279         {
280           # GN version: //mojo/public/java_system
281           'target_name': 'mojo_public_java',
282           'type': 'none',
283           'variables': {
284             'java_in_dir': 'public/java/system',
285           },
286           'includes': [ '../build/java.gypi' ],
287         },
288         {
289           # GN version: //mojo/public/java_bindings
290           'target_name': 'mojo_bindings_java',
291           'type': 'none',
292           'variables': {
293             'java_in_dir': 'public/java/bindings',
294           },
295           'dependencies': [
296             'mojo_public_java',
297           ],
298           'includes': [ '../build/java.gypi' ],
299         },
300       ],
301     }],
302   ],