move build flags into chrome's SkUserConfig
[chromium-blink-merge.git] / mojo / mojo_public.gypi
blobcc7fc1557e10d693694c75a8510adfdc16297557
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/cpp/bindings
48       'target_name': 'mojo_cpp_bindings',
49       'type': 'static_library',
50       'include_dirs': [
51         '..'
52       ],
53       'sources': [
54         'public/cpp/bindings/array.h',
55         'public/cpp/bindings/callback.h',
56         'public/cpp/bindings/error_handler.h',
57         'public/cpp/bindings/interface_impl.h',
58         'public/cpp/bindings/interface_ptr.h',
59         'public/cpp/bindings/interface_request.h',
60         'public/cpp/bindings/message.h',
61         'public/cpp/bindings/message_filter.h',
62         'public/cpp/bindings/no_interface.h',
63         'public/cpp/bindings/string.h',
64         'public/cpp/bindings/type_converter.h',
65         'public/cpp/bindings/lib/array_internal.h',
66         'public/cpp/bindings/lib/array_internal.cc',
67         'public/cpp/bindings/lib/array_serialization.h',
68         'public/cpp/bindings/lib/bindings_internal.h',
69         'public/cpp/bindings/lib/bindings_serialization.cc',
70         'public/cpp/bindings/lib/bindings_serialization.h',
71         'public/cpp/bindings/lib/bounds_checker.cc',
72         'public/cpp/bindings/lib/bounds_checker.h',
73         'public/cpp/bindings/lib/buffer.h',
74         'public/cpp/bindings/lib/callback_internal.h',
75         'public/cpp/bindings/lib/connector.cc',
76         'public/cpp/bindings/lib/connector.h',
77         'public/cpp/bindings/lib/filter_chain.cc',
78         'public/cpp/bindings/lib/filter_chain.h',
79         'public/cpp/bindings/lib/fixed_buffer.cc',
80         'public/cpp/bindings/lib/fixed_buffer.h',
81         'public/cpp/bindings/lib/interface_impl_internal.h',
82         'public/cpp/bindings/lib/interface_ptr_internal.h',
83         'public/cpp/bindings/lib/message.cc',
84         'public/cpp/bindings/lib/message_builder.cc',
85         'public/cpp/bindings/lib/message_builder.h',
86         'public/cpp/bindings/lib/message_filter.cc',
87         'public/cpp/bindings/lib/message_header_validator.cc',
88         'public/cpp/bindings/lib/message_header_validator.h',
89         'public/cpp/bindings/lib/message_internal.h',
90         'public/cpp/bindings/lib/message_queue.cc',
91         'public/cpp/bindings/lib/message_queue.h',
92         'public/cpp/bindings/lib/no_interface.cc',
93         'public/cpp/bindings/lib/router.cc',
94         'public/cpp/bindings/lib/router.h',
95         'public/cpp/bindings/lib/shared_data.h',
96         'public/cpp/bindings/lib/shared_ptr.h',
97         'public/cpp/bindings/lib/string_serialization.h',
98         'public/cpp/bindings/lib/string_serialization.cc',
99         'public/cpp/bindings/lib/validation_errors.cc',
100         'public/cpp/bindings/lib/validation_errors.h',
101       ],
102     },
103     {
104       # GN version: //mojo/public/js/bindings
105       'target_name': 'mojo_js_bindings',
106       'type': 'static_library',
107       'include_dirs': [
108         '..'
109       ],
110       'sources': [
111         'public/js/bindings/constants.cc',
112         'public/js/bindings/constants.h',
113       ],
114     },
115     {
116       # GN version: //mojo/public/cpp/environment:standalone
117       'target_name': 'mojo_environment_standalone',
118       'type': 'static_library',
119       'sources': [
120         'public/c/environment/async_waiter.h',
121         'public/c/environment/logger.h',
122         'public/cpp/environment/environment.h',
123         'public/cpp/environment/lib/default_async_waiter.cc',
124         'public/cpp/environment/lib/default_async_waiter.h',
125         'public/cpp/environment/lib/default_logger.cc',
126         'public/cpp/environment/lib/default_logger.h',
127         'public/cpp/environment/lib/environment.cc',
128         'public/cpp/environment/lib/logging.cc',
129         'public/cpp/environment/logging.h',
130       ],
131       'include_dirs': [
132         '..',
133       ],
134     },
135     {
136       # GN version: //mojo/public/cpp/utility
137       'target_name': 'mojo_utility',
138       'type': 'static_library',
139       'sources': [
140         'public/cpp/utility/mutex.h',
141         'public/cpp/utility/run_loop.h',
142         'public/cpp/utility/run_loop_handler.h',
143         'public/cpp/utility/thread.h',
144         'public/cpp/utility/lib/mutex.cc',
145         'public/cpp/utility/lib/run_loop.cc',
146         'public/cpp/utility/lib/thread.cc',
147         'public/cpp/utility/lib/thread_local.h',
148         'public/cpp/utility/lib/thread_local_posix.cc',
149         'public/cpp/utility/lib/thread_local_win.cc',
150       ],
151       'conditions': [
152         # See crbug.com/342893:
153         ['OS=="win"', {
154           'sources!': [
155             'public/cpp/utility/mutex.h',
156             'public/cpp/utility/thread.h',
157             'public/cpp/utility/lib/mutex.cc',
158             'public/cpp/utility/lib/thread.cc',
159           ],
160         }],
161       ],
162       'include_dirs': [
163         '..',
164       ],
165     },
166     {
167       # GN version: //mojo/public/interfaces/application:application
168       'target_name': 'mojo_application_bindings',
169       'type': 'static_library',
170       'sources': [
171         'public/interfaces/application/application.mojom',
172         'public/interfaces/application/service_provider.mojom',
173         'public/interfaces/application/shell.mojom',
174       ],
175       'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
176       'dependencies': [
177         'mojo_cpp_bindings',
178       ],
179       'export_dependent_settings': [
180         'mojo_cpp_bindings',
181       ],
182     },
183     {
184       # GN version: //mojo/public/cpp/application
185       'target_name': 'mojo_application_base',
186       'type': 'static_library',
187       'sources': [
188         'public/cpp/application/application_connection.h',
189         'public/cpp/application/application_delegate.h',
190         'public/cpp/application/application_impl.h',
191         'public/cpp/application/connect.h',
192         'public/cpp/application/service_provider_impl.h',
193         'public/cpp/application/interface_factory.h',
194         'public/cpp/application/interface_factory_impl.h',
195         'public/cpp/application/lib/application_connection.cc',
196         'public/cpp/application/lib/application_delegate.cc',
197         'public/cpp/application/lib/application_impl.cc',
198         'public/cpp/application/lib/service_provider_impl.cc',
199         'public/cpp/application/lib/service_connector.cc',
200         'public/cpp/application/lib/service_connector.h',
201         'public/cpp/application/lib/service_registry.cc',
202         'public/cpp/application/lib/service_registry.h',
203         'public/cpp/application/lib/weak_service_provider.cc',
204         'public/cpp/application/lib/weak_service_provider.h',
205       ],
206       'dependencies': [
207         'mojo_application_bindings',
208       ],
209       'export_dependent_settings': [
210         'mojo_application_bindings',
211       ],
212     },
213     {
214       # GN version: //mojo/public/cpp/application:standalone"
215       'target_name': 'mojo_application_standalone',
216       'type': 'static_library',
217       'sources': [
218         'public/cpp/application/lib/application_runner.cc',
219         'public/cpp/application/application_runner.h',
220       ],
221       'dependencies': [
222         'mojo_application_base',
223         'mojo_environment_standalone',
224       ],
225       'export_dependent_settings': [
226         'mojo_application_base',
227       ],
228     },
229   ],
230   'conditions': [
231     ['OS == "android"', {
232       'targets': [
233         {
234           # GN version: //mojo/public/java_system
235           'target_name': 'mojo_public_java',
236           'type': 'none',
237           'variables': {
238             'java_in_dir': 'public/java/system',
239           },
240           'includes': [ '../build/java.gypi' ],
241         },
242         {
243           # GN version: //mojo/public/java_bindings
244           'target_name': 'mojo_bindings_java',
245           'type': 'none',
246           'variables': {
247             'java_in_dir': 'public/java/bindings',
248           },
249           'dependencies': [
250             'mojo_public_java',
251           ],
252           'includes': [ '../build/java.gypi' ],
253         },
254       ],
255     }],
256   ],