Ensure low-memory renderers retry failed loads correctly.
[chromium-blink-merge.git] / third_party / cacheinvalidation / cacheinvalidation.gyp
blobdea1f54b5338ee78bdbd3cfce45ef7113ca5463a
1 # Copyright 2012 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   'variables': {
7     # This library should build cleanly with the extra warnings turned on
8     # for Chromium.
9     'chromium_code': 1,
10   },
11   'targets': [
12     # The C++ files generated from the cache invalidation protocol buffers.
13     {
14       # GN: //third_party/cacheinvalidation/src/google/cacheinvalidation:cacheinvalidation_proto_cpp (secondary)
15       'target_name': 'cacheinvalidation_proto_cpp',
16       'type': 'static_library',
17       'variables': {
18         # The relative path of the cacheinvalidation proto files from this
19         # gyp-file.
20         # TODO(akalin): Add a RULE_INPUT_DIR predefined variable to gyp so
21         # we don't need this variable.
22         'proto_dir_relpath': 'google/cacheinvalidation',
23         # Where files generated from proto files are put.
24         'proto_in_dir': 'src/<(proto_dir_relpath)',
25         'proto_out_dir': '<(proto_dir_relpath)',
26       },
27       'sources': [
28         '<(proto_in_dir)/android_channel.proto',
29         '<(proto_in_dir)/channel_common.proto',
30         '<(proto_in_dir)/client.proto',
31         '<(proto_in_dir)/client_gateway.proto',
32         '<(proto_in_dir)/client_protocol.proto',
33         '<(proto_in_dir)/client_test_internal.proto',
34         '<(proto_in_dir)/types.proto',
35       ],
36       'includes': [ '../../build/protoc.gypi' ],
37       'direct_dependent_settings': {
38         'include_dirs': [
39           '<(proto_out_dir)',
40         ],
41       },
42       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
43       'msvs_disabled_warnings': [4267, ],
44       # channel_common.proto contains definition of ANDROID constant which on
45       # android build conflicts with compiler option -DANDROID. Remove protos
46       # from android build.
47       'conditions': [
48         ['OS=="android"', {
49           'sources!': [
50             '<(proto_in_dir)/android_channel.proto',
51             '<(proto_in_dir)/channel_common.proto',
52           ],
53         }],
54       ],
55     },
56     # The main cache invalidation library.  External clients should depend
57     # only on this.
58     {
59       # GN: //third_party/cacheinvalidation (secondary)
60       'target_name': 'cacheinvalidation',
61       'type': 'static_library',
62       'sources': [
63         'overrides/google/cacheinvalidation/deps/callback.h',
64         'overrides/google/cacheinvalidation/deps/gmock.h',
65         'overrides/google/cacheinvalidation/deps/googletest.h',
66         'overrides/google/cacheinvalidation/deps/logging.h',
67         'overrides/google/cacheinvalidation/deps/mutex.h',
68         'overrides/google/cacheinvalidation/deps/random.h',
69         'overrides/google/cacheinvalidation/deps/random.cc',
70         'overrides/google/cacheinvalidation/deps/sha1-digest-function.h',
71         'overrides/google/cacheinvalidation/deps/scoped_ptr.h',
72         'overrides/google/cacheinvalidation/deps/stl-namespace.h',
73         'overrides/google/cacheinvalidation/deps/string_util.h',
74         'overrides/google/cacheinvalidation/deps/time.h',
75         'src/google/cacheinvalidation/deps/digest-function.h',
76         'src/google/cacheinvalidation/impl/basic-system-resources.cc',
77         'src/google/cacheinvalidation/impl/basic-system-resources.h',
78         'src/google/cacheinvalidation/impl/checking-invalidation-listener.cc',
79         'src/google/cacheinvalidation/impl/checking-invalidation-listener.h',
80         'src/google/cacheinvalidation/impl/client-protocol-namespace-fix.h',
81         'src/google/cacheinvalidation/impl/constants.cc',
82         'src/google/cacheinvalidation/impl/constants.h',
83         'src/google/cacheinvalidation/impl/digest-store.h',
84         'src/google/cacheinvalidation/impl/exponential-backoff-delay-generator.cc',
85         'src/google/cacheinvalidation/impl/exponential-backoff-delay-generator.h',
86         'src/google/cacheinvalidation/impl/invalidation-client-core.cc',
87         'src/google/cacheinvalidation/impl/invalidation-client-core.h',
88         'src/google/cacheinvalidation/impl/invalidation-client-factory.cc',
89         'src/google/cacheinvalidation/impl/invalidation-client-impl.cc',
90         'src/google/cacheinvalidation/impl/invalidation-client-impl.h',
91         'src/google/cacheinvalidation/impl/invalidation-client-util.h',
92         'src/google/cacheinvalidation/impl/log-macro.h',
93         'src/google/cacheinvalidation/impl/object-id-digest-utils.cc',
94         'src/google/cacheinvalidation/impl/object-id-digest-utils.h',
95         'src/google/cacheinvalidation/impl/persistence-utils.cc',
96         'src/google/cacheinvalidation/impl/persistence-utils.h',
97         'src/google/cacheinvalidation/impl/proto-converter.cc',
98         'src/google/cacheinvalidation/impl/proto-converter.h',
99         'src/google/cacheinvalidation/impl/proto-helpers.h',
100         'src/google/cacheinvalidation/impl/proto-helpers.cc',
101         'src/google/cacheinvalidation/impl/protocol-handler.cc',
102         'src/google/cacheinvalidation/impl/protocol-handler.h',
103         'src/google/cacheinvalidation/impl/recurring-task.cc',
104         'src/google/cacheinvalidation/impl/recurring-task.h',
105         'src/google/cacheinvalidation/impl/registration-manager.cc',
106         'src/google/cacheinvalidation/impl/registration-manager.h',
107         'src/google/cacheinvalidation/impl/repeated-field-namespace-fix.h',
108         'src/google/cacheinvalidation/impl/run-state.h',
109         'src/google/cacheinvalidation/impl/safe-storage.cc',
110         'src/google/cacheinvalidation/impl/safe-storage.h',
111         'src/google/cacheinvalidation/impl/simple-registration-store.cc',
112         'src/google/cacheinvalidation/impl/simple-registration-store.h',
113         'src/google/cacheinvalidation/impl/smearer.h',
114         'src/google/cacheinvalidation/impl/statistics.cc',
115         'src/google/cacheinvalidation/impl/statistics.h',
116         'src/google/cacheinvalidation/impl/throttle.cc',
117         'src/google/cacheinvalidation/impl/throttle.h',
118         'src/google/cacheinvalidation/impl/ticl-message-validator.cc',
119         'src/google/cacheinvalidation/impl/ticl-message-validator.h',
120         'src/google/cacheinvalidation/include/invalidation-client.h',
121         'src/google/cacheinvalidation/include/invalidation-client-factory.h',
122         'src/google/cacheinvalidation/include/invalidation-listener.h',
123         'src/google/cacheinvalidation/include/system-resources.h',
124         'src/google/cacheinvalidation/include/types.h',
125       ],
126       'include_dirs': [
127         './overrides',
128         './src',
129       ],
130       'dependencies': [
131         '../../base/base.gyp:base',
132         'cacheinvalidation_proto_cpp',
133       ],
134       'direct_dependent_settings': {
135         'include_dirs': [
136           './overrides',
137           './src',
138         ],
139       },
140       # We avoid including header files from
141       # cacheinvalidation_proto_cpp in our public header files so we
142       # don't need to export its settings.
143       'export_dependent_settings': [
144         '../../base/base.gyp:base',
145       ],
146       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
147       'msvs_disabled_warnings': [4267, ],
148     },
149     # Unittests for the cache invalidation library.
150     # TODO(ghc): Write native tests and include them here.
151     {
152       # GN: //third_party/cacheinvalidation:cacheinvalidation_unittests (secondary)
153       'target_name': 'cacheinvalidation_unittests',
154       'type': 'executable',
155       'sources': [
156         'src/google/cacheinvalidation/test/deterministic-scheduler.cc',
157         'src/google/cacheinvalidation/test/deterministic-scheduler.h',
158         'src/google/cacheinvalidation/test/test-logger.cc',
159         'src/google/cacheinvalidation/test/test-logger.h',
160         'src/google/cacheinvalidation/test/test-utils.cc',
161         'src/google/cacheinvalidation/test/test-utils.h',
162         'src/google/cacheinvalidation/impl/invalidation-client-impl_test.cc',
163         'src/google/cacheinvalidation/impl/protocol-handler_test.cc',
164         'src/google/cacheinvalidation/impl/recurring-task_test.cc',
165         'src/google/cacheinvalidation/impl/throttle_test.cc',
166       ],
167       'dependencies': [
168         '../../base/base.gyp:base',
169         '../../base/base.gyp:run_all_unittests',
170         '../../testing/gmock.gyp:gmock',
171         '../../testing/gtest.gyp:gtest',
172         'cacheinvalidation',
173         'cacheinvalidation_proto_cpp',
174       ],
175     },
176   ],
177   'conditions': [
178     ['test_isolation_mode != "noop"', {
179       'targets': [
180         {
181           # TODO(GN)
182           'target_name': 'cacheinvalidation_unittests_run',
183           'type': 'none',
184           'dependencies': [
185             'cacheinvalidation_unittests',
186           ],
187           'includes': [
188             '../../build/isolate.gypi',
189           ],
190           'sources': [
191             'cacheinvalidation_unittests.isolate',
192           ],
193         },
194       ],
195     }],
196     ['OS == "android"', {
197       'variables': {
198         'emma_never_instrument': 1,
199       },
200       'targets': [
201         {
202           # GN: //third_party/cacheinvalidation:cacheinvalidation_proto_java (secondary)
203           'target_name': 'cacheinvalidation_proto_java',
204           'type': 'none',
205           'variables': {
206             'proto_in_dir': '../../third_party/cacheinvalidation/src/proto',
207           },
208           'sources': [
209             '<(proto_in_dir)/android_channel.proto',
210             '<(proto_in_dir)/android_listener.proto',
211             '<(proto_in_dir)/android_service.proto',
212             '<(proto_in_dir)/channel_common.proto',
213             '<(proto_in_dir)/client.proto',
214             '<(proto_in_dir)/client_protocol.proto',
215             '<(proto_in_dir)/java_client.proto',
216             '<(proto_in_dir)/types.proto',
217           ],
218           'includes': [ '../../build/protoc_java.gypi' ],
219         },
220         {
221           # GN: //third_party/cacheinvalidation:cacheinvalidation_javalib (secondary)
222           'target_name': 'cacheinvalidation_javalib',
223           'type': 'none',
224           'dependencies': [
225             '../../third_party/android_tools/android_tools.gyp:android_gcm',
226             '../../third_party/android_tools/android_tools.gyp:google_play_services_javalib',
227             'cacheinvalidation_proto_java',
228           ],
229           'variables': {
230             'java_in_dir': '../../build/android/empty',
231             'additional_src_dirs': [ 'src/java/' ],
232             'run_findbugs': 0,
233           },
234           'includes': [ '../../build/java.gypi' ],
235         },
236       ],
237     }],
238   ],