ServiceWorker: Send state change events via SWProviderHost
[chromium-blink-merge.git] / mojo / mojo_base.gyp
blob2000120f4676b5465d40a87021a5e99ac6eaca1a
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     '../third_party/mojo/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       ],
25       'conditions': [
26         ['OS == "android"', {
27           'dependencies': [
28             '../third_party/mojo/mojo_public.gyp:mojo_bindings_java',
29             '../third_party/mojo/mojo_public.gyp:mojo_public_java',
30           ],
31         }],
32       ]
33     },
34     {
35       'target_name': 'mojo_none',
36       'type': 'none',
37     },
38     {
39       # GN version: //mojo/common
40       'target_name': 'mojo_common_lib',
41       'type': '<(component)',
42       'defines': [
43         'MOJO_COMMON_IMPLEMENTATION',
44       ],
45       'dependencies': [
46         '../base/base.gyp:base',
47         '../url/url.gyp:url_lib',
48         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
49         '<(mojo_system_for_component)',
50       ],
51       'export_dependent_settings': [
52         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
53       ],
54       'sources': [
55         'common/common_type_converters.cc',
56         'common/common_type_converters.h',
57         'common/data_pipe_utils.cc',
58         'common/data_pipe_utils.h',
59         'common/handle_watcher.cc',
60         'common/handle_watcher.h',
61         'common/message_pump_mojo.cc',
62         'common/message_pump_mojo.h',
63         'common/message_pump_mojo_handler.h',
64         'common/time_helper.cc',
65         'common/time_helper.h',
66       ],
67     },
68     {
69       # GN version: //mojo/common:mojo_common_unittests
70       'target_name': 'mojo_common_unittests',
71       'type': 'executable',
72       'dependencies': [
73         '../base/base.gyp:base',
74         '../base/base.gyp:test_support_base',
75         '../base/base.gyp:base_message_loop_tests',
76         '../testing/gtest.gyp:gtest',
77         '../url/url.gyp:url_lib',
78         'mojo_common_lib',
79         '../third_party/mojo/mojo_edk.gyp:mojo_system_impl',
80         '../third_party/mojo/mojo_edk.gyp:mojo_common_test_support',
81         '../third_party/mojo/mojo_edk.gyp:mojo_run_all_unittests',
82         'mojo_environment_chromium',
83         '../third_party/mojo/mojo_public.gyp:mojo_cpp_bindings',
84         '../third_party/mojo/mojo_public.gyp:mojo_public_test_utils',
85       ],
86       'sources': [
87         'common/common_type_converters_unittest.cc',
88         'common/handle_watcher_unittest.cc',
89         'common/message_pump_mojo_unittest.cc',
90       ],
91     },
92     {
93       # GN version: //mojo/environment:chromium
94       'target_name': 'mojo_environment_chromium',
95       'type': 'static_library',
96       'dependencies': [
97         'mojo_environment_chromium_impl',
98       ],
99       'sources': [
100         'environment/environment.cc',
101         # TODO(vtl): This is kind of ugly. (See TODO in logging.h.)
102         "../third_party/mojo/src/mojo/public/cpp/environment/logging.h",
103         "../third_party/mojo/src/mojo/public/cpp/environment/lib/logging.cc",
104       ],
105       'include_dirs': [
106         '..',
107         '../third_party/mojo/src',
108       ],
109       'direct_dependent_settings': {
110         'include_dirs': [
111           '../third_party/mojo/src',
112         ],
113       },
114       'export_dependent_settings': [
115         'mojo_environment_chromium_impl',
116       ],
117     },
118     {
119       # GN version: //mojo/environment:chromium_impl
120       'target_name': 'mojo_environment_chromium_impl',
121       'type': '<(component)',
122       'defines': [
123         'MOJO_ENVIRONMENT_IMPL_IMPLEMENTATION',
124       ],
125       'dependencies': [
126         '../base/base.gyp:base',
127         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
128         'mojo_common_lib',
129         '<(mojo_system_for_component)',
130       ],
131       'sources': [
132         'environment/default_async_waiter_impl.cc',
133         'environment/default_async_waiter_impl.h',
134         'environment/default_logger_impl.cc',
135         'environment/default_logger_impl.h',
136         'environment/default_run_loop_impl.cc',
137         'environment/default_run_loop_impl.h',
138       ],
139       'include_dirs': [
140         '..',
141         '../third_party/mojo/src',
142       ],
143       'direct_dependent_settings': {
144         'include_dirs': [
145           '../third_party/mojo/src',
146         ],
147       },
148     },
149     {
150      # GN version: //mojo/application
151      'target_name': 'mojo_application_chromium',
152      'type': 'static_library',
153      'sources': [
154        'application/application_runner_chromium.cc',
155        'application/application_runner_chromium.h',
156       ],
157       'dependencies': [
158         'mojo_common_lib',
159         'mojo_environment_chromium',
160         '../third_party/mojo/mojo_public.gyp:mojo_application_base',
161        ],
162       'export_dependent_settings': [
163         '../third_party/mojo/mojo_public.gyp:mojo_application_base',
164        ],
165     },
166   ],
167   'conditions': [
168     ['OS=="android"', {
169       'targets': [
170         {
171           'target_name': 'mojo_jni_headers',
172           'type': 'none',
173           'dependencies': [
174             'mojo_java_set_jni_headers',
175           ],
176           'sources': [
177             'android/javatests/src/org/chromium/mojo/MojoTestCase.java',
178             'android/javatests/src/org/chromium/mojo/bindings/ValidationTestUtil.java',
179             'android/system/src/org/chromium/mojo/system/impl/CoreImpl.java',
180           ],
181           'variables': {
182             'jni_gen_package': 'mojo',
183           },
184           'includes': [ '../build/jni_generator.gypi' ],
185         },
186         {
187           'target_name': 'libmojo_system_java',
188           'type': 'static_library',
189           'dependencies': [
190             '../base/base.gyp:base',
191             '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
192             'mojo_common_lib',
193             '../third_party/mojo/mojo_edk.gyp:mojo_system_impl',
194             'mojo_environment_chromium',
195             'mojo_jni_headers',
196           ],
197           'sources': [
198             'android/system/core_impl.cc',
199             'android/system/core_impl.h',
200           ],
201         },
202         {
203           'target_name': 'mojo_java_set_jni_headers',
204           'type': 'none',
205           'variables': {
206             'jni_gen_package': 'mojo',
207             'input_java_class': 'java/util/HashSet.class',
208           },
209           'includes': [ '../build/jar_file_jni_generator.gypi' ],
210         },
211         {
212           'target_name': 'mojo_system_java',
213           'type': 'none',
214           'dependencies': [
215             '../base/base.gyp:base_java',
216             'libmojo_system_java',
217             '../third_party/mojo/mojo_public.gyp:mojo_public_java',
218           ],
219           'variables': {
220             'java_in_dir': '<(DEPTH)/mojo/android/system',
221           },
222           'includes': [ '../build/java.gypi' ],
223         },
224       ]
225     }]
226   ]