API for binary_dependencies, and import changes to call the new API.
[chromium-blink-merge.git] / components / data_reduction_proxy.gypi
blob931c930644858481d6125e82d8c9c182fa764fcc
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.
7   'variables' :
8   {
9      'data_reduction_proxy_core_browser_sources' : [
10         # Note: sources list duplicated in GN build.
11         "data_reduction_proxy/core/browser/data_reduction_proxy_debug_ui_service.h",
12         'data_reduction_proxy/core/browser/data_reduction_proxy_bypass_protocol.cc',
13         'data_reduction_proxy/core/browser/data_reduction_proxy_bypass_protocol.h',
14         'data_reduction_proxy/core/browser/data_reduction_proxy_bypass_stats.cc',
15         'data_reduction_proxy/core/browser/data_reduction_proxy_bypass_stats.h',
16         'data_reduction_proxy/core/browser/data_reduction_proxy_compression_stats.cc',
17         'data_reduction_proxy/core/browser/data_reduction_proxy_compression_stats.h',
18         'data_reduction_proxy/core/browser/data_reduction_proxy_config.cc',
19         'data_reduction_proxy/core/browser/data_reduction_proxy_config.h',
20         'data_reduction_proxy/core/browser/data_reduction_proxy_config_retrieval_params.cc',
21         'data_reduction_proxy/core/browser/data_reduction_proxy_config_retrieval_params.h',
22         'data_reduction_proxy/core/browser/data_reduction_proxy_config_service_client.cc',
23         'data_reduction_proxy/core/browser/data_reduction_proxy_config_service_client.h',
24         'data_reduction_proxy/core/browser/data_reduction_proxy_configurator.cc',
25         'data_reduction_proxy/core/browser/data_reduction_proxy_configurator.h',
26         'data_reduction_proxy/core/browser/data_reduction_proxy_delegate.cc',
27         'data_reduction_proxy/core/browser/data_reduction_proxy_delegate.h',
28         'data_reduction_proxy/core/browser/data_reduction_proxy_experiments_stats.cc',
29         'data_reduction_proxy/core/browser/data_reduction_proxy_experiments_stats.h',
30         'data_reduction_proxy/core/browser/data_reduction_proxy_interceptor.cc',
31         'data_reduction_proxy/core/browser/data_reduction_proxy_interceptor.h',
32         'data_reduction_proxy/core/browser/data_reduction_proxy_io_data.cc',
33         'data_reduction_proxy/core/browser/data_reduction_proxy_io_data.h',
34         'data_reduction_proxy/core/browser/data_reduction_proxy_metrics.cc',
35         'data_reduction_proxy/core/browser/data_reduction_proxy_metrics.h',
36         'data_reduction_proxy/core/browser/data_reduction_proxy_mutable_config_values.cc',
37         'data_reduction_proxy/core/browser/data_reduction_proxy_mutable_config_values.h',
38         'data_reduction_proxy/core/browser/data_reduction_proxy_network_delegate.cc',
39         'data_reduction_proxy/core/browser/data_reduction_proxy_network_delegate.h',
40         'data_reduction_proxy/core/browser/data_reduction_proxy_prefs.cc',
41         'data_reduction_proxy/core/browser/data_reduction_proxy_prefs.h',
42         'data_reduction_proxy/core/browser/data_reduction_proxy_request_options.cc',
43         'data_reduction_proxy/core/browser/data_reduction_proxy_request_options.h',
44         'data_reduction_proxy/core/browser/data_reduction_proxy_service.cc',
45         'data_reduction_proxy/core/browser/data_reduction_proxy_service.h',
46         'data_reduction_proxy/core/browser/data_reduction_proxy_service_observer.h',
47         'data_reduction_proxy/core/browser/data_reduction_proxy_settings.cc',
48         'data_reduction_proxy/core/browser/data_reduction_proxy_settings.h',
49         'data_reduction_proxy/core/browser/data_reduction_proxy_tamper_detection.cc',
50         'data_reduction_proxy/core/browser/data_reduction_proxy_tamper_detection.h',
51         'data_reduction_proxy/core/browser/data_store.cc',
52         'data_reduction_proxy/core/browser/data_store.h',
53         'data_reduction_proxy/core/browser/data_usage_store.cc',
54         'data_reduction_proxy/core/browser/data_usage_store.h',
55         'data_reduction_proxy/core/browser/db_data_owner.cc',
56         'data_reduction_proxy/core/browser/db_data_owner.h',
57      ],
58      'data_reduction_proxy_core_browser_deps' : [
59         'data_reduction_proxy_version_header',
60         '../base/base.gyp:base',
61         '../crypto/crypto.gyp:crypto',
62         'pref_registry',
63      ],
64      'data_reduction_proxy_core_common_sources' : [
65         # Note: sources list duplicated in GN build.
66         'data_reduction_proxy/core/common/data_reduction_proxy_bypass_action_list.h',
67         'data_reduction_proxy/core/common/data_reduction_proxy_bypass_type_list.h',
68         'data_reduction_proxy/core/common/data_reduction_proxy_client_config_parser.cc',
69         'data_reduction_proxy/core/common/data_reduction_proxy_client_config_parser.h',
70         'data_reduction_proxy/core/common/data_reduction_proxy_config_values.h',
71         'data_reduction_proxy/core/common/data_reduction_proxy_event_creator.cc',
72         'data_reduction_proxy/core/common/data_reduction_proxy_event_creator.h',
73         'data_reduction_proxy/core/common/data_reduction_proxy_event_storage_delegate.h',
74         'data_reduction_proxy/core/common/data_reduction_proxy_event_store.cc',
75         'data_reduction_proxy/core/common/data_reduction_proxy_event_store.h',
76         'data_reduction_proxy/core/common/data_reduction_proxy_headers.cc',
77         'data_reduction_proxy/core/common/data_reduction_proxy_headers.h',
78         'data_reduction_proxy/core/common/data_reduction_proxy_params.cc',
79         'data_reduction_proxy/core/common/data_reduction_proxy_params.h',
80         'data_reduction_proxy/core/common/data_reduction_proxy_pref_names.cc',
81         'data_reduction_proxy/core/common/data_reduction_proxy_pref_names.h',
82         'data_reduction_proxy/core/common/data_reduction_proxy_switches.cc',
83         'data_reduction_proxy/core/common/data_reduction_proxy_switches.h',
84      ],
85   },
86   'conditions': [
87     # Small versions of libraries for Cronet.
88     ['OS=="android"', {
89       'targets' : [
90        {
91          # GN version: //components/data_reduction_proxy/core/browser
92          'target_name': 'data_reduction_proxy_core_browser_small',
93          'type': 'static_library',
94          'dependencies': [
95            '<@(data_reduction_proxy_core_browser_deps)',
96            '../net/net.gyp:net_small',
97            '../url/url.gyp:url_lib_use_icu_alternatives_on_android',
98            'data_reduction_proxy_core_common_small',
99            'data_reduction_proxy_proto',
100          ],
101          'include_dirs': [
102            '..',
103          ],
104          'sources': [
105            '<@(data_reduction_proxy_core_browser_sources)'
106          ],
107        },
108        {
109          # GN version: //components/data_reduction_proxy/core/common
110          'target_name': 'data_reduction_proxy_core_common_small',
111          'type': 'static_library',
112          'dependencies': [
113            '../base/base.gyp:base',
114            '../url/url.gyp:url_lib_use_icu_alternatives_on_android',
115            'data_reduction_proxy_proto',
116          ],
117          'include_dirs': [
118            '..',
119          ],
120          'sources': [
121            '<@(data_reduction_proxy_core_common_sources)'
122          ],
123        },
124     ]}]
125   ],
126   'targets': [
127    {
128       # GN Version: //components/data_reduction_proxy/content
129       'target_name': 'data_reduction_proxy_content',
130       'type': 'static_library',
131       'dependencies': [
132         '../base/base.gyp:base',
133         '../content/content.gyp:content_browser',
134         '../skia/skia.gyp:skia',
135         '../ui/base/ui_base.gyp:ui_base',
136         'components_resources.gyp:components_resources',
137         'components_strings.gyp:components_strings',
138       ],
139       'include_dirs': [
140         '..',
141       ],
142       'sources': [
143         # Note: sources list duplicated in GN build.
144         'data_reduction_proxy/content/browser/content_data_reduction_proxy_debug_ui_service.cc',
145         'data_reduction_proxy/content/browser/content_data_reduction_proxy_debug_ui_service.h',
146         'data_reduction_proxy/content/browser/data_reduction_proxy_debug_blocking_page.cc',
147         'data_reduction_proxy/content/browser/data_reduction_proxy_debug_blocking_page.h',
148         'data_reduction_proxy/content/browser/data_reduction_proxy_debug_resource_throttle.cc',
149         'data_reduction_proxy/content/browser/data_reduction_proxy_debug_resource_throttle.h',
150         'data_reduction_proxy/content/browser/data_reduction_proxy_debug_ui_manager.cc',
151         'data_reduction_proxy/content/browser/data_reduction_proxy_debug_ui_manager.h',
152       ],
153     },
154     {
155       # GN version: //components/data_reduction_proxy/content/common
156       'target_name': 'data_reduction_proxy_content_common',
157       'type': 'static_library',
158       'dependencies': [
159         '../content/content.gyp:content_common',
160         '../ipc/ipc.gyp:ipc',
161       ],
162       'include_dirs': [
163         '..',
164       ],
165       'sources': [
166         'data_reduction_proxy/content/common/data_reduction_proxy_messages.cc',
167         'data_reduction_proxy/content/common/data_reduction_proxy_messages.h',
168       ],
169     },
170     {
171       # GN version: //components/data_reduction_proxy/content/browser
172       'target_name': 'data_reduction_proxy_content_browser',
173       'type': 'static_library',
174       'dependencies': [
175         '../content/content.gyp:content_common',
176         '../ipc/ipc.gyp:ipc',
177         'data_reduction_proxy_content_common',
178       ],
179       'include_dirs': [
180         '..',
181       ],
182       'sources': [
183         'data_reduction_proxy/content/browser/data_reduction_proxy_message_filter.cc',
184         'data_reduction_proxy/content/browser/data_reduction_proxy_message_filter.h',
185       ],
186     },
187     {
188       # GN version: //components/data_reduction_proxy/core/browser
189       'target_name': 'data_reduction_proxy_core_browser',
190       'type': 'static_library',
191       'conditions': [
192         ['OS != "ios"', {
193           'defines': [
194             'USE_GOOGLE_API_KEYS_FOR_AUTH_KEY' 
195           ]
196         }],
197       ],
198       'defines': [
199         'USE_GOOGLE_API_KEYS'
200       ],
201       'dependencies': [
202         '<@(data_reduction_proxy_core_browser_deps)',
203         '../google_apis/google_apis.gyp:google_apis',
204         '../net/net.gyp:net',
205         '../url/url.gyp:url_lib',
206         'data_reduction_proxy_core_common',
207         'data_reduction_proxy_proto',
208         '../third_party/leveldatabase/leveldatabase.gyp:leveldatabase',
209       ],
210       'include_dirs': [
211         '..',
212       ],
213       'sources': [
214         '<@(data_reduction_proxy_core_browser_sources)',
215         'data_reduction_proxy/core/browser/data_store_impl.cc',
216         'data_reduction_proxy/core/browser/data_store_impl.h',
217       ],
218     },
219     {
220       # GN version: //components/data_reduction_proxy/core/common
221       'target_name': 'data_reduction_proxy_core_common',
222       'type': 'static_library',
223       'dependencies': [
224         '../base/base.gyp:base',
225         '../url/url.gyp:url_lib',
226         'data_reduction_proxy_proto',
227       ],
228       'include_dirs': [
229         '..',
230       ],
231       'sources': [
232         '<@(data_reduction_proxy_core_common_sources)'
233       ],
234     },
235     {
236       # GN version: //components/data_reduction_proxy/core/browser:test_support
237       'target_name': 'data_reduction_proxy_test_support',
238       'type': 'static_library',
239       'dependencies' : [
240         '../base/base.gyp:base',
241         '../net/net.gyp:net',
242         '../net/net.gyp:net_test_support',
243         '../testing/gmock.gyp:gmock',
244         '../testing/gtest.gyp:gtest',
245         'data_reduction_proxy_content',
246         'data_reduction_proxy_core_browser',
247         'data_reduction_proxy_core_common',
248       ],
249       'include_dirs': [
250         '..',
251       ],
252       'sources': [
253         # Note: sources list duplicated in GN build.
254         'data_reduction_proxy/core/browser/data_reduction_proxy_config_test_utils.cc',
255         'data_reduction_proxy/core/browser/data_reduction_proxy_config_test_utils.h',
256         'data_reduction_proxy/core/browser/data_reduction_proxy_configurator_test_utils.cc',
257         'data_reduction_proxy/core/browser/data_reduction_proxy_configurator_test_utils.h',
258         'data_reduction_proxy/core/browser/data_reduction_proxy_settings_test_utils.cc',
259         'data_reduction_proxy/core/browser/data_reduction_proxy_settings_test_utils.h',
260         'data_reduction_proxy/core/browser/data_reduction_proxy_test_utils.cc',
261         'data_reduction_proxy/core/browser/data_reduction_proxy_test_utils.h',
262         'data_reduction_proxy/core/common/data_reduction_proxy_event_storage_delegate_test_utils.cc',
263         'data_reduction_proxy/core/common/data_reduction_proxy_event_storage_delegate_test_utils.h',
264         'data_reduction_proxy/core/common/data_reduction_proxy_headers_test_utils.cc',
265         'data_reduction_proxy/core/common/data_reduction_proxy_headers_test_utils.h',
266         'data_reduction_proxy/core/common/data_reduction_proxy_params_test_utils.cc',
267         'data_reduction_proxy/core/common/data_reduction_proxy_params_test_utils.h',
268       ],
269       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
270       'msvs_disabled_warnings': [4267, ],
271     },
272     {
273       # GN version: //components/data_reduction_proxy/proto
274       'target_name': 'data_reduction_proxy_proto',
275       'type': 'static_library',
276       'dependencies': [
277       ],
278       'include_dirs': [
279       ],
280       'sources': [
281         # Note: sources list duplicated in GN build.
282         'data_reduction_proxy/proto/client_config.proto',
283         'data_reduction_proxy/proto/data_store.proto',
284       ],
285       'variables': {
286         'proto_in_dir': 'data_reduction_proxy/proto',
287         'proto_out_dir': 'components/data_reduction_proxy/proto',
288       },
289       'includes': [ '../build/protoc.gypi' ],
290     },
291     {
292       'target_name': 'data_reduction_proxy_version_header',
293       'type': 'none',
294       'direct_dependent_settings': {
295         'include_dirs': [
296           '<(SHARED_INTERMEDIATE_DIR)',
297         ],
298       },
299       'actions': [
300         {
301           'action_name': 'version_header',
302           'message': 'Generating version header file: <@(_outputs)',
303           'inputs': [
304             '<(version_path)',
305             'data_reduction_proxy/core/common/version.h.in',
306           ],
307           'outputs': [
308             '<(SHARED_INTERMEDIATE_DIR)/components/data_reduction_proxy/core/common/version.h',
309           ],
310           'action': [
311             'python',
312             '<(version_py_path)',
313             '-e', 'VERSION_FULL="<(version_full)"',
314             'data_reduction_proxy/core/common/version.h.in',
315             '<@(_outputs)',
316           ],
317           'includes': [
318             '../build/util/version.gypi',
319           ],
320         },
321       ],
322     },
323   ],