1# Copyright 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.
4{
5  'includes': ['src/cpp/libaddressinput.gypi'],
6  'variables': {
7    'libaddressinput_test_data_dir%': 'src/third_party/libaddressinput/src/testdata',
8    'libaddressinput_util_files': [
9      'src/cpp/src/address_data.cc',
10      'src/cpp/src/address_field.cc',
11      'src/cpp/src/address_field_util.cc',
12      'src/cpp/src/address_formatter.cc',
13      'src/cpp/src/address_metadata.cc',
14      'src/cpp/src/address_ui.cc',
15      'src/cpp/src/format_element.cc',
16      'src/cpp/src/language.cc',
17      'src/cpp/src/localization.cc',
18      'src/cpp/src/lookup_key.cc',
19      'src/cpp/src/region_data_constants.cc',
20      'src/cpp/src/rule.cc',
21      'src/cpp/src/util/cctype_tolower_equal.cc',
22      'src/cpp/src/util/json.cc',
23      'src/cpp/src/util/string_split.cc',
24      'src/cpp/src/util/string_util.cc',
25    ],
26  },
27  'targets': [
28    {
29      'target_name': 'libaddressinput_strings',
30      'type': 'none',
31      'variables': {
32        'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/third_party/libaddressinput/',
33        'grit_grd_file': '../../chrome/app/address_input_strings.grd',
34      },
35      'actions': [
36        {
37          'action_name': 'libaddressinput_strings',
38          'variables': {
39          },
40          'includes': [
41            '../../build/grit_action.gypi',
42          ],
43        },
44      ],
45      'direct_dependent_settings': {
46        # Files in libaddressinput include the grit-generated en_messages.cc
47        # without knowing its path.
48        'include_dirs': [
49          '<(grit_out_dir)',
50        ],
51      },
52    },
53    {
54      'target_name': 'libaddressinput_util',
55      'type': 'static_library',
56      'sources': [
57        '<@(libaddressinput_util_files)',
58        'chromium/addressinput_util.cc',
59        'chromium/json.cc',
60      ],
61      'sources!': [
62        'src/cpp/src/util/json.cc',
63      ],
64      'conditions': [
65        ['OS=="mac" or OS=="ios"', {
66          # localization.cc in libaddressinput_util_files includes
67          # grit-generated en_messages.cc, which does not have a newline.
68          'xcode_settings': {
69            'GCC_WARN_ABOUT_MISSING_NEWLINE': 'NO',
70          },
71        }],
72      ],
73      'include_dirs': [
74        'chromium/override/',
75        'src/cpp/include/',
76      ],
77      'defines': [
78        'I18N_ADDRESSINPUT_USE_BASICTYPES_OVERRIDE=1',
79      ],
80      'direct_dependent_settings': {
81        'include_dirs': [
82          'chromium/override/',
83          'src/cpp/include/',
84        ],
85        'defines': [
86          'I18N_ADDRESSINPUT_USE_BASICTYPES_OVERRIDE=1',
87        ],
88      },
89      'dependencies': [
90        '../../base/base.gyp:base',
91        '../re2/re2.gyp:re2',
92        'libaddressinput_strings',
93      ],
94      'export_dependent_settings': [
95        'libaddressinput_strings',
96      ],
97    },
98    {
99      'target_name': 'libaddressinput',
100      'type': 'static_library',
101      'sources': [
102        '<@(libaddressinput_files)',
103        'chromium/chrome_address_validator.cc',
104        'chromium/chrome_metadata_source.cc',
105        'chromium/chrome_storage_impl.cc',
106        'chromium/fallback_data_store.cc',
107        'chromium/input_suggester.cc',
108        'chromium/string_compare.cc',
109        'chromium/trie.cc',
110      ],
111      'sources!': [
112        '<@(libaddressinput_util_files)',
113        'src/cpp/src/util/string_compare.cc',
114      ],
115      'direct_dependent_settings': {
116        'defines': [
117          'I18N_ADDRESS_VALIDATION_DATA_URL="https://i18napis.appspot.com/ssl-aggregate-address/"',
118        ],
119      },
120      'dependencies': [
121        '../../base/base.gyp:base',
122        '../../base/base.gyp:base_prefs',
123        '../../net/net.gyp:net',
124        '../icu/icu.gyp:icui18n',
125        '../icu/icu.gyp:icuuc',
126        '../re2/re2.gyp:re2',
127        'libaddressinput_util',
128      ],
129      'export_dependent_settings': [
130        'libaddressinput_util',
131      ],
132    },
133    {
134      'target_name': 'libaddressinput_unittests',
135      'type': '<(gtest_target_type)',
136      'sources': [
137        '<@(libaddressinput_test_files)',
138        'chromium/addressinput_util_unittest.cc',
139        'chromium/chrome_address_validator_unittest.cc',
140        'chromium/chrome_metadata_source_unittest.cc',
141        'chromium/chrome_storage_impl_unittest.cc',
142        'chromium/fallback_data_store_unittest.cc',
143        'chromium/storage_test_runner.cc',
144        'chromium/string_compare_unittest.cc',
145        'chromium/trie_unittest.cc',
146      ],
147      'defines': [
148        'TEST_DATA_DIR="<(libaddressinput_test_data_dir)"',
149      ],
150      'include_dirs': [
151        '../../',
152        'src/cpp/src/',
153      ],
154      'dependencies': [
155        '../../base/base.gyp:base_prefs',
156        '../../base/base.gyp:run_all_unittests',
157        '../../net/net.gyp:net_test_support',
158        '../../testing/gtest.gyp:gtest',
159        'libaddressinput',
160        'libaddressinput_util',
161      ],
162    },
163  ],
164  'conditions': [
165    ['OS=="android"', {
166      'targets': [
167        {
168          'target_name': 'android_addressinput_widget',
169          'type': 'none',
170          'variables': {
171            'java_in_dir': 'src/java',
172            'never_lint': 1,
173            'res_v14_verify_only': 1,
174            'has_java_resources': 1,
175            'R_package': 'com.android.i18n.addressinput',
176            'R_package_relpath': 'com/android/i18n/addressinput',
177          },
178          'includes': [
179            '../../build/java.gypi',
180          ],
181        },
182      ],
183    },],
184  ],
185}
186