Remove Network transaction timing histograms.
[chromium-blink-merge.git] / mojo / mojo_base.gyp
blob315bea04ae310b021bc6ff8186447d8ae131be3b
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.
5 # Essential components (and their tests) that are needed to build
6 # Chrome should be here.  Other components that are useful only in
7 # Mojo land like mojo_shell should be in mojo.gyp.
9   'includes': [
10     'mojo_variables.gypi',
11   ],
12   'targets': [
13     {
14       'target_name': 'mojo_base',
15       'type': 'none',
16       'dependencies': [
17         # NOTE: If adding a new dependency here, please consider whether it
18         # should also be added to the list of Mojo-related dependencies of
19         # build/all.gyp:All on iOS, as All cannot depend on the mojo_base
20         # target on iOS due to the presence of the js targets, which cause v8
21         # to be built.
22         'mojo_common_lib',
23         'mojo_common_unittests',
24         'mojo_message_generator',
25       ],
26       'conditions': [
27         ['OS == "android"', {
28           'dependencies': [
29             'public/mojo_public.gyp:mojo_bindings_java',
30             'public/mojo_public.gyp:mojo_public_java',
31           ],
32         }],
33       ]
34     },
35     {
36       'target_name': 'mojo_none',
37       'type': 'none',
38     },
39     {
40       # GN version: //mojo/common
41       'target_name': 'mojo_common_lib',
42       'type': '<(component)',
43       'defines': [
44         'MOJO_COMMON_IMPLEMENTATION',
45       ],
46       'dependencies': [
47         '../base/base.gyp:base',
48         '../url/url.gyp:url_lib',
49         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
50         '<(mojo_system_for_component)',
51       ],
52       'export_dependent_settings': [
53         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
54       ],
55       'sources': [
56         'common/common_type_converters.cc',
57         'common/common_type_converters.h',
58         'common/data_pipe_utils.cc',
59         'common/data_pipe_utils.h',
60         'common/handle_watcher.cc',
61         'common/handle_watcher.h',
62         'common/message_pump_mojo.cc',
63         'common/message_pump_mojo.h',
64         'common/message_pump_mojo_handler.h',
65         'common/time_helper.cc',
66         'common/time_helper.h',
67       ],
68     },
69     {
70       # GN version: //mojo/common:mojo_common_unittests
71       'target_name': 'mojo_common_unittests',
72       'type': 'executable',
73       'dependencies': [
74         '../base/base.gyp:base',
75         '../base/base.gyp:base_message_loop_tests',
76         '../testing/gtest.gyp:gtest',
77         '../url/url.gyp:url_lib',
78         'edk/mojo_edk.gyp:mojo_common_test_support',
79         'edk/mojo_edk.gyp:mojo_run_all_unittests',
80         'mojo_common_lib',
81         'mojo_environment_chromium',
82         'public/mojo_public.gyp:mojo_cpp_bindings',
83         'public/mojo_public.gyp:mojo_public_test_utils',
84       ],
85       'sources': [
86         'common/common_type_converters_unittest.cc',
87         'common/handle_watcher_unittest.cc',
88         'common/message_pump_mojo_unittest.cc',
89         'edk/test/multiprocess_test_helper_unittest.cc',
90       ],
91       'conditions': [
92         ['OS=="ios"', {
93           'sources!': [
94             'edk/test/multiprocess_test_helper_unittest.cc',
95           ],
96         }],
97       ],
98     },
99     {
100       # GN version: //mojo/environment:chromium
101       'target_name': 'mojo_environment_chromium',
102       'type': 'static_library',
103       'dependencies': [
104         'mojo_environment_chromium_impl',
105       ],
106       'sources': [
107         'environment/environment.cc',
108         # TODO(vtl): This is kind of ugly. (See TODO in logging.h.)
109         "public/cpp/environment/logging.h",
110         "public/cpp/environment/lib/logging.cc",
111       ],
112       'include_dirs': [
113         '..',
114       ],
115       'export_dependent_settings': [
116         'mojo_environment_chromium_impl',
117       ],
118     },
119     {
120       # GN version: //mojo/environment:chromium_impl
121       'target_name': 'mojo_environment_chromium_impl',
122       'type': '<(component)',
123       'defines': [
124         'MOJO_ENVIRONMENT_IMPL_IMPLEMENTATION',
125       ],
126       'dependencies': [
127         '../base/base.gyp:base',
128         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
129         'mojo_common_lib',
130         '<(mojo_system_for_component)',
131       ],
132       'sources': [
133         'environment/default_async_waiter_impl.cc',
134         'environment/default_async_waiter_impl.h',
135         'environment/default_logger_impl.cc',
136         'environment/default_logger_impl.h',
137       ],
138       'include_dirs': [
139         '..',
140       ],
141     },
142     {
143      # GN version: //mojo/application
144      'target_name': 'mojo_application_chromium',
145      'type': 'static_library',
146      'sources': [
147        'application/application_runner_chromium.cc',
148        'application/application_runner_chromium.h',
149       ],
150       'dependencies': [
151         'mojo_common_lib',
152         'mojo_environment_chromium',
153         'public/mojo_public.gyp:mojo_application_base',
154        ],
155       'export_dependent_settings': [
156         'public/mojo_public.gyp:mojo_application_base',
157        ],
158     },
159     {
160       # GN version: //mojo/bindings/js
161       'target_name': 'mojo_js_bindings_lib',
162       'type': 'static_library',
163       'dependencies': [
164         '../base/base.gyp:base',
165         '../gin/gin.gyp:gin',
166         '../v8/tools/gyp/v8.gyp:v8',
167         'mojo_common_lib',
168       ],
169       'export_dependent_settings': [
170         '../base/base.gyp:base',
171         '../gin/gin.gyp:gin',
172         'mojo_common_lib',
173       ],
174       'sources': [
175         # Sources list duplicated in GN build.
176         'bindings/js/core.cc',
177         'bindings/js/core.h',
178         'bindings/js/drain_data.cc',
179         'bindings/js/drain_data.h',
180         'bindings/js/handle.cc',
181         'bindings/js/handle.h',
182         'bindings/js/handle_close_observer.h',
183         'bindings/js/support.cc',
184         'bindings/js/support.h',
185         'bindings/js/waiting_callback.cc',
186         'bindings/js/waiting_callback.h',
187       ],
188     },
189     {
190       # GN version: //mojo/tools:message_generator
191       'target_name': 'mojo_message_generator',
192       'type': 'executable',
193       'dependencies': [
194         '../base/base.gyp:base',
195         '../testing/gtest.gyp:gtest',
196         'edk/mojo_edk.gyp:mojo_system_impl',
197         'mojo_common_lib',
198         'mojo_environment_chromium',
199         'public/mojo_public.gyp:mojo_cpp_bindings',
200       ],
201       'sources': [
202         'tools/message_generator.cc',
203       ],
204     },
205   ],
206   'conditions': [
207     ['OS=="android"', {
208       'targets': [
209         {
210           'target_name': 'mojo_jni_headers',
211           'type': 'none',
212           'dependencies': [
213             'mojo_java_set_jni_headers',
214           ],
215           'sources': [
216             'android/javatests/src/org/chromium/mojo/MojoTestCase.java',
217             'android/javatests/src/org/chromium/mojo/bindings/ValidationTestUtil.java',
218             'android/system/src/org/chromium/mojo/system/impl/CoreImpl.java',
219           ],
220           'variables': {
221             'jni_gen_package': 'mojo',
222           },
223           'includes': [ '../build/jni_generator.gypi' ],
224         },
225         {
226           'target_name': 'libmojo_system_java',
227           'type': 'static_library',
228           'dependencies': [
229             '../base/base.gyp:base',
230             '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
231             'edk/mojo_edk.gyp:mojo_system_impl',
232             'mojo_common_lib',
233             'mojo_environment_chromium',
234             'mojo_jni_headers',
235           ],
236           'sources': [
237             'android/system/core_impl.cc',
238             'android/system/core_impl.h',
239           ],
240         },
241         {
242           'target_name': 'mojo_java_set_jni_headers',
243           'type': 'none',
244           'variables': {
245             'jni_gen_package': 'mojo',
246             'input_java_class': 'java/util/HashSet.class',
247           },
248           'includes': [ '../build/jar_file_jni_generator.gypi' ],
249         },
250         {
251           'target_name': 'mojo_system_java',
252           'type': 'none',
253           'dependencies': [
254             '../base/base.gyp:base_java',
255             'libmojo_system_java',
256             'public/mojo_public.gyp:mojo_public_java',
257           ],
258           'variables': {
259             'java_in_dir': '<(DEPTH)/mojo/android/system',
260           },
261           'includes': [ '../build/java.gypi' ],
262         },
263       ]
264     }]
265   ]