Using pre-existing constants instead of hard-coding
[chromium-blink-merge.git] / components / autofill.gypi
blobd691ae32ff2220a4520f2887c48c31574bb04457
1 # Copyright (c) 2013 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       # Private target only used in components/autofill.
9       'target_name': 'autofill_regexes',
10       'type': 'none',
11       'actions': [{
12         'action_name': 'autofill_regexes',
13         'inputs': [
14           '<(DEPTH)/build/escape_unicode.py',
15           'autofill/core/browser/autofill_regex_constants.cc.utf8',
16         ],
17         'outputs': [
18           '<(SHARED_INTERMEDIATE_DIR)/autofill_regex_constants.cc',
19         ],
20         'action': ['python', '<(DEPTH)/build/escape_unicode.py',
21                    '-o', '<(SHARED_INTERMEDIATE_DIR)',
22                    'autofill/core/browser/autofill_regex_constants.cc.utf8'],
23       }],
24     },
26     {
27       'target_name': 'autofill_core_common',
28       'type': 'static_library',
29       'dependencies': [
30         '../base/base.gyp:base',
31         '../ui/base/ui_base.gyp:ui_base',
32         '../ui/gfx/gfx.gyp:gfx',
33         '../url/url.gyp:url_lib',
34       ],
35       'conditions': [
36         ['OS == "android"', {
37           'dependencies': [
38             'autofill_jni_headers',
39           ],
40         }],
41       ],
42       'include_dirs': [
43         '..',
44       ],
45       'sources': [
46         'autofill/core/browser/android/auxiliary_profile_loader_android.cc',
47         'autofill/core/browser/android/auxiliary_profile_loader_android.h',
48         'autofill/core/browser/android/auxiliary_profiles_android.cc',
49         'autofill/core/browser/android/auxiliary_profiles_android.h',
50         'autofill/core/browser/android/component_jni_registrar.cc',
51         'autofill/core/browser/android/component_jni_registrar.h',
52         'autofill/core/browser/android/personal_data_manager_android.cc',
53         'autofill/core/common/autofill_constants.cc',
54         'autofill/core/common/autofill_constants.h',
55         'autofill/core/common/autofill_data_validation.cc',
56         'autofill/core/common/autofill_data_validation.h',
57         'autofill/core/common/autofill_pref_names.cc',
58         'autofill/core/common/autofill_pref_names.h',
59         'autofill/core/common/autofill_switches.cc',
60         'autofill/core/common/autofill_switches.h',
61         'autofill/core/common/form_data.cc',
62         'autofill/core/common/form_data.h',
63         'autofill/core/common/form_data_predictions.cc',
64         'autofill/core/common/form_data_predictions.h',
65         'autofill/core/common/form_field_data.cc',
66         'autofill/core/common/form_field_data.h',
67         'autofill/core/common/form_field_data_predictions.cc',
68         'autofill/core/common/form_field_data_predictions.h',
69         'autofill/core/common/password_autofill_util.cc',
70         'autofill/core/common/password_autofill_util.h',
71         'autofill/core/common/password_form.cc',
72         'autofill/core/common/password_form.h',
73         'autofill/core/common/password_form_fill_data.cc',
74         'autofill/core/common/password_form_fill_data.h',
75         'autofill/core/common/password_generation_util.cc',
76         'autofill/core/common/password_generation_util.h',
77         'autofill/core/common/save_password_progress_logger.cc',
78         'autofill/core/common/save_password_progress_logger.h',
79         'autofill/core/common/web_element_descriptor.cc',
80         'autofill/core/common/web_element_descriptor.h',
81       ],
82     },
84     {
85       'target_name': 'autofill_core_browser',
86       'type': 'static_library',
87       'include_dirs': [
88         '..',
89       ],
90       'dependencies': [
91         '../base/base.gyp:base',
92         '../base/base.gyp:base_i18n',
93         '../base/base.gyp:base_prefs',
94         '../google_apis/google_apis.gyp:google_apis',
95         '../skia/skia.gyp:skia',
96         '../sql/sql.gyp:sql',
97         '../third_party/icu/icu.gyp:icui18n',
98         '../third_party/icu/icu.gyp:icuuc',
99         '../third_party/libjingle/libjingle.gyp:libjingle',
100         '../third_party/libaddressinput/libaddressinput.gyp:libaddressinput_util',
101         '../third_party/libphonenumber/libphonenumber.gyp:libphonenumber',
102         '../ui/base/ui_base.gyp:ui_base',
103         '../ui/gfx/gfx.gyp:gfx',
104         '../ui/gfx/gfx.gyp:gfx_geometry',
105         '../url/url.gyp:url_lib',
106         'autofill_core_common',
107         'autofill_regexes',
108         'components_resources.gyp:components_resources',
109         'components_strings.gyp:components_strings',
110         'os_crypt',
111         'pref_registry',
112         'webdata_common',
113       ],
114       'sources': [
115         'autofill/core/browser/address.cc',
116         'autofill/core/browser/address.h',
117         'autofill/core/browser/address_field.cc',
118         'autofill/core/browser/address_field.h',
119         'autofill/core/browser/address_i18n.cc',
120         'autofill/core/browser/address_i18n.h',
121         'autofill/core/browser/autocomplete_history_manager.cc',
122         'autofill/core/browser/autocomplete_history_manager.h',
123         'autofill/core/browser/autofill-inl.h',
124         'autofill/core/browser/autofill_country.cc',
125         'autofill/core/browser/autofill_country.h',
126         'autofill/core/browser/autofill_data_model.cc',
127         'autofill/core/browser/autofill_data_model.h',
128         'autofill/core/browser/autofill_download.cc',
129         'autofill/core/browser/autofill_download.h',
130         'autofill/core/browser/autofill_driver.h',
131         'autofill/core/browser/autofill_external_delegate.cc',
132         'autofill/core/browser/autofill_external_delegate.h',
133         'autofill/core/browser/autofill_field.cc',
134         'autofill/core/browser/autofill_field.h',
135         'autofill/core/browser/autofill_ie_toolbar_import_win.cc',
136         'autofill/core/browser/autofill_ie_toolbar_import_win.h',
137         'autofill/core/browser/autofill_manager.cc',
138         'autofill/core/browser/autofill_manager.h',
139         'autofill/core/browser/autofill_manager_delegate.h',
140         'autofill/core/browser/autofill_manager_test_delegate.h',
141         'autofill/core/browser/autofill_metrics.cc',
142         'autofill/core/browser/autofill_metrics.h',
143         'autofill/core/browser/autofill_popup_delegate.h',
144         'autofill/core/browser/autofill_profile.cc',
145         'autofill/core/browser/autofill_profile.h',
146         'autofill/core/browser/autofill_regex_constants.cc.utf8',
147         'autofill/core/browser/autofill_regex_constants.h',
148         'autofill/core/browser/autofill_regexes.cc',
149         'autofill/core/browser/autofill_regexes.h',
150         'autofill/core/browser/autofill_scanner.cc',
151         'autofill/core/browser/autofill_scanner.h',
152         'autofill/core/browser/autofill_server_field_info.h',
153         'autofill/core/browser/autofill_type.cc',
154         'autofill/core/browser/autofill_type.h',
155         'autofill/core/browser/autofill_xml_parser.cc',
156         'autofill/core/browser/autofill_xml_parser.h',
157         'autofill/core/browser/contact_info.cc',
158         'autofill/core/browser/contact_info.h',
159         'autofill/core/browser/credit_card.cc',
160         'autofill/core/browser/credit_card.h',
161         'autofill/core/browser/credit_card_field.cc',
162         'autofill/core/browser/credit_card_field.h',
163         'autofill/core/browser/email_field.cc',
164         'autofill/core/browser/email_field.h',
165         'autofill/core/browser/field_types.h',
166         'autofill/core/browser/form_field.cc',
167         'autofill/core/browser/form_field.h',
168         'autofill/core/browser/form_group.cc',
169         'autofill/core/browser/form_group.h',
170         'autofill/core/browser/form_structure.cc',
171         'autofill/core/browser/form_structure.h',
172         'autofill/core/browser/name_field.cc',
173         'autofill/core/browser/name_field.h',
174         'autofill/core/browser/password_generator.cc',
175         'autofill/core/browser/password_generator.h',
176         'autofill/core/browser/personal_data_manager.cc',
177         'autofill/core/browser/personal_data_manager.h',
178         'autofill/core/browser/personal_data_manager_mac.mm',
179         'autofill/core/browser/personal_data_manager_observer.h',
180         'autofill/core/browser/phone_field.cc',
181         'autofill/core/browser/phone_field.h',
182         'autofill/core/browser/phone_number.cc',
183         'autofill/core/browser/phone_number.h',
184         'autofill/core/browser/phone_number_i18n.cc',
185         'autofill/core/browser/phone_number_i18n.h',
186         'autofill/core/browser/popup_item_ids.h',
187         'autofill/core/browser/state_names.cc',
188         'autofill/core/browser/state_names.h',
189         'autofill/core/browser/validation.cc',
190         'autofill/core/browser/validation.h',
191         'autofill/core/browser/webdata/autofill_change.cc',
192         'autofill/core/browser/webdata/autofill_change.h',
193         'autofill/core/browser/webdata/autofill_entry.cc',
194         'autofill/core/browser/webdata/autofill_entry.h',
195         'autofill/core/browser/webdata/autofill_profile_syncable_service.cc',
196         'autofill/core/browser/webdata/autofill_profile_syncable_service.h',
197         'autofill/core/browser/webdata/autofill_table.cc',
198         'autofill/core/browser/webdata/autofill_table.h',
199         'autofill/core/browser/webdata/autofill_webdata.h',
200         'autofill/core/browser/webdata/autofill_webdata_backend.h',
201         'autofill/core/browser/webdata/autofill_webdata_backend_impl.cc',
202         'autofill/core/browser/webdata/autofill_webdata_backend_impl.h',
203         'autofill/core/browser/webdata/autofill_webdata_service.cc',
204         'autofill/core/browser/webdata/autofill_webdata_service.h',
205         'autofill/core/browser/webdata/autofill_webdata_service_observer.h',
207         # This file is generated by the autofill_regexes action.
208         '<(SHARED_INTERMEDIATE_DIR)/autofill_regex_constants.cc',
209       ],
210       'variables': {
211         'conditions': [
212           ['android_webview_build == 1', {
213             # Android WebView doesn't support sync.
214             'autofill_enable_sync%': 0,
215           }, {
216             'autofill_enable_sync%': 1,
217           }],
218         ],
219       },
220       'conditions': [
221         ['autofill_enable_sync == 1', {
222           'defines': [
223             'AUTOFILL_ENABLE_SYNC',
224           ],
225           'dependencies': [
226             '../sync/sync.gyp:sync',
227           ],
228           'direct_dependent_settings': {
229             'defines': [
230               'AUTOFILL_ENABLE_SYNC',
231             ],
232           },
233         }, { # 'autofill_enable_sync == 0'
234           'sources!': [
235             'autofill/core/browser/webdata/autofill_profile_syncable_service.cc',
236             'autofill/core/browser/webdata/autofill_profile_syncable_service.h',
237           ],
238         }],
239       ],
241       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
242       'msvs_disabled_warnings': [4267, ],
243     },
245     {
246       'target_name': 'autofill_core_test_support',
247       'type': 'static_library',
248       'dependencies': [
249         'autofill_core_common',
250         'autofill_core_browser',
251         '../skia/skia.gyp:skia',
252         '../testing/gtest.gyp:gtest',
253       ],
254       'sources': [
255         'autofill/core/browser/android/test_auxiliary_profile_loader_android.cc',
256         'autofill/core/browser/android/test_auxiliary_profile_loader_android.h',
257         'autofill/core/browser/autofill_test_utils.cc',
258         'autofill/core/browser/autofill_test_utils.h',
259         'autofill/core/browser/data_driven_test.cc',
260         'autofill/core/browser/data_driven_test.h',
261         'autofill/core/browser/test_autofill_driver.cc',
262         'autofill/core/browser/test_autofill_driver.h',
263         'autofill/core/browser/test_autofill_external_delegate.cc',
264         'autofill/core/browser/test_autofill_external_delegate.h',
265         'autofill/core/browser/test_autofill_manager_delegate.cc',
266         'autofill/core/browser/test_autofill_manager_delegate.h',
267         'autofill/core/browser/test_personal_data_manager.cc',
268         'autofill/core/browser/test_personal_data_manager.h',
269       ],
270     },
271   ],
272   'conditions': [
273     ['OS != "ios"', {
274       'targets': [
275         {
276           'target_name': 'autofill_content_common',
277           'type': 'static_library',
278           'dependencies': [
279             'autofill_core_common',
280             '../base/base.gyp:base',
281             '../content/content.gyp:content_common',
282             '../ipc/ipc.gyp:ipc',
283             '../third_party/WebKit/public/blink.gyp:blink_minimal',
284             '../ui/gfx/gfx.gyp:gfx',
285           ],
286           'include_dirs': [
287             '..',
288           ],
289           'sources': [
290             'autofill/content/common/autofill_message_generator.cc',
291             'autofill/content/common/autofill_message_generator.h',
292             'autofill/content/common/autofill_messages.h',
293             'autofill/content/common/autofill_param_traits_macros.h',
294           ],
295         },
297         {
298           # Protobuf compiler / generate rule for Autofill's risk integration.
299           'target_name': 'autofill_content_risk_proto',
300           'type': 'static_library',
301           'sources': [
302             'autofill/content/browser/risk/proto/fingerprint.proto',
303           ],
304           'variables': {
305             'proto_in_dir': 'autofill/content/browser/risk/proto',
306             'proto_out_dir': 'components/autofill/content/browser/risk/proto',
307           },
308           'includes': [ '../build/protoc.gypi' ]
309         },
310        {
311          'target_name': 'autofill_content_test_support',
312          'type': 'static_library',
313          'dependencies': [
314             '../testing/gmock.gyp:gmock',
315          ],
316          'sources': [
317            'autofill/content/browser/wallet/mock_wallet_client.cc',
318            'autofill/content/browser/wallet/mock_wallet_client.h',
319            'autofill/content/browser/wallet/wallet_test_util.cc',
320            'autofill/content/browser/wallet/wallet_test_util.h',
321          ],
322          'include_dirs': [ '..' ],
323        },
324        {
325           'target_name': 'autofill_content_browser',
326           'type': 'static_library',
327           'include_dirs': [
328             '..',
329           ],
330           'dependencies': [
331             '../base/base.gyp:base',
332             '../base/base.gyp:base_i18n',
333             '../base/base.gyp:base_prefs',
334             '../content/content.gyp:content_browser',
335             '../content/content.gyp:content_common',
336             '../google_apis/google_apis.gyp:google_apis',
337             '../ipc/ipc.gyp:ipc',
338             '../skia/skia.gyp:skia',
339             '../sql/sql.gyp:sql',
340             '../third_party/icu/icu.gyp:icui18n',
341             '../third_party/icu/icu.gyp:icuuc',
342             '../third_party/libjingle/libjingle.gyp:libjingle',
343             '../third_party/libphonenumber/libphonenumber.gyp:libphonenumber',
344             '../ui/base/ui_base.gyp:ui_base',
345             '../ui/gfx/gfx.gyp:gfx',
346             '../ui/gfx/gfx.gyp:gfx_geometry',
347             '../url/url.gyp:url_lib',
348             'autofill_content_common',
349             'autofill_content_risk_proto',
350             'autofill_core_browser',
351             'autofill_core_common',
352             'autofill_regexes',
353             'components_resources.gyp:components_resources',
354             'components_strings.gyp:components_strings',
355             'os_crypt',
356             'user_prefs',
357             'webdata_common',
358           ],
359           'sources': [
360             'autofill/content/browser/content_autofill_driver.cc',
361             'autofill/content/browser/content_autofill_driver.h',
362             'autofill/content/browser/request_autocomplete_manager.cc',
363             'autofill/content/browser/request_autocomplete_manager.h',
364             'autofill/content/browser/risk/fingerprint.cc',
365             'autofill/content/browser/risk/fingerprint.h',
366             'autofill/content/browser/wallet/form_field_error.cc',
367             'autofill/content/browser/wallet/form_field_error.h',
368             'autofill/content/browser/wallet/full_wallet.cc',
369             'autofill/content/browser/wallet/full_wallet.h',
370             'autofill/content/browser/wallet/gaia_account.cc',
371             'autofill/content/browser/wallet/gaia_account.h',
372             'autofill/content/browser/wallet/instrument.cc',
373             'autofill/content/browser/wallet/instrument.h',
374             'autofill/content/browser/wallet/required_action.cc',
375             'autofill/content/browser/wallet/required_action.h',
376             'autofill/content/browser/wallet/wallet_address.cc',
377             'autofill/content/browser/wallet/wallet_address.h',
378             'autofill/content/browser/wallet/wallet_client.cc',
379             'autofill/content/browser/wallet/wallet_client.h',
380             'autofill/content/browser/wallet/wallet_client_delegate.h',
381             'autofill/content/browser/wallet/wallet_items.cc',
382             'autofill/content/browser/wallet/wallet_items.h',
383             'autofill/content/browser/wallet/wallet_service_url.cc',
384             'autofill/content/browser/wallet/wallet_service_url.h',
385             'autofill/content/browser/wallet/wallet_signin_helper.cc',
386             'autofill/content/browser/wallet/wallet_signin_helper.h',
387           ],
389           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
390           'msvs_disabled_warnings': [4267, ],
392           'conditions': [
393             [ 'OS == "android"', {
394               'sources!': [
395                 'autofill/content/browser/risk/fingerprint.cc',
396                 'autofill/content/browser/risk/fingerprint.h',
397               ],
398             }],
399           ],
400         },
402         {
403           'target_name': 'autofill_content_renderer',
404           'type': 'static_library',
405           'include_dirs': [
406             '..',
407           ],
408           'dependencies': [
409             '../base/base.gyp:base',
410             '../content/content.gyp:content_common',
411             '../content/content.gyp:content_renderer',
412             '../ipc/ipc.gyp:ipc',
413             '../skia/skia.gyp:skia',
414             '../third_party/WebKit/public/blink.gyp:blink',
415             'autofill_content_common',
416             'autofill_core_common',
417             'components_strings.gyp:components_strings',
418           ],
419           'sources': [
420             'autofill/content/renderer/autofill_agent.cc',
421             'autofill/content/renderer/autofill_agent.h',
422             'autofill/content/renderer/form_autofill_util.cc',
423             'autofill/content/renderer/form_autofill_util.h',
424             'autofill/content/renderer/form_cache.cc',
425             'autofill/content/renderer/form_cache.h',
426             'autofill/content/renderer/page_click_listener.h',
427             'autofill/content/renderer/page_click_tracker.cc',
428             'autofill/content/renderer/page_click_tracker.h',
429             'autofill/content/renderer/password_autofill_agent.cc',
430             'autofill/content/renderer/password_autofill_agent.h',
431             'autofill/content/renderer/password_form_conversion_utils.cc',
432             'autofill/content/renderer/password_form_conversion_utils.h',
433             'autofill/content/renderer/password_generation_agent.cc',
434             'autofill/content/renderer/password_generation_agent.h',
435             'autofill/content/renderer/renderer_save_password_progress_logger.cc',
436             'autofill/content/renderer/renderer_save_password_progress_logger.h',
437           ],
438           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
439           'msvs_disabled_warnings': [4267, ],
440         },
441       ],
442     }],
443     ['OS == "android"', {
444       'targets': [
445         {
446           'target_name': 'autofill_java',
447           'type': 'none',
448           'dependencies': [
449             '../base/base.gyp:base',
450             '../content/content.gyp:content_java',
451           ],
452           'variables': {
453             'java_in_dir': 'autofill/core/browser/android/java',
454           },
455           'includes': [ '../build/java.gypi' ],
456         },
457         {
458           'target_name': 'autofill_jni_headers',
459           'type': 'none',
460           'sources': [
461             'autofill/core/browser/android/java/src/org/chromium/components/browser/autofill/PersonalAutofillPopulator.java',
462           ],
463           'variables': {
464             'jni_gen_package': 'autofill',
465           },
466           'includes': [ '../build/jni_generator.gypi' ],
467         },
468       ],
469     }],
470   ],