• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (C) 2013 Google Inc.
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14{
15  'variables': {
16    'component%': 'shared_library',
17  },
18  'target_defaults': {
19    'conditions': [
20      ['OS == "linux" and "<(component)" == "shared_library"', {
21        # https://code.google.com/p/gyp/issues/detail?id=374
22        'cflags': ['-fPIC'],
23      }],
24    ],
25    'include_dirs': [
26      'include',
27    ],
28  },
29  'targets': [
30    {
31      'target_name': 'libaddressinput',
32      'type': '<(component)',
33      'sources': [
34        'src/address_field.cc',
35        'src/address_field_util.cc',
36        'src/address_problem.cc',
37        'src/address_ui.cc',
38        'src/address_validator.cc',
39        'src/localization.cc',
40        'src/lookup_key_util.cc',
41        'src/region_data_constants.cc',
42        'src/retriever.cc',
43        'src/rule.cc',
44        'src/rule_retriever.cc',
45        'src/util/json.cc',
46        'src/util/md5.cc',
47        'src/util/string_split.cc',
48        'src/validating_storage.cc',
49        'src/validating_util.cc',
50      ],
51      'defines': [
52        'VALIDATION_DATA_URL="https://i18napis.appspot.com/ssl-address/"',
53      ],
54      'dependencies': [
55        'grit.gyp:generated_messages',
56        'rapidjson.gyp:rapidjson',
57      ],
58    },
59    {
60      'target_name': 'unit_tests',
61      'type': 'executable',
62      'sources': [
63        'test/address_field_util_test.cc',
64        'test/address_ui_test.cc',
65        'test/fake_downloader.cc',
66        'test/fake_downloader_test.cc',
67        'test/fake_storage.cc',
68        'test/fake_storage_test.cc',
69        'test/localization_test.cc',
70        'test/lookup_key_util_test.cc',
71        'test/region_data_constants_test.cc',
72        'test/retriever_test.cc',
73        'test/rule_retriever_test.cc',
74        'test/rule_test.cc',
75        'test/util/json_test.cc',
76        'test/util/md5_unittest.cc',
77        'test/util/scoped_ptr_unittest.cc',
78        'test/util/string_split_unittest.cc',
79        'test/validating_storage_test.cc',
80        'test/validating_util_test.cc',
81      ],
82      'defines': [
83        'TEST_DATA_DIR="../testdata"',
84      ],
85      'include_dirs': [
86        'src',
87      ],
88      'dependencies': [
89        'libaddressinput',
90        'gtest.gyp:main',
91      ],
92      'conditions': [
93        [ 'OS == "mac"', {
94          'postbuilds': [
95            {
96              # To make it possible to execute the unit tests directly from the
97              # build directory, without first installing the library, the path
98              # to the library is set to be relative to the unit test executable
99              # (so that also the library will be loaded directly from the build
100              # directory).
101              'postbuild_name': 'Make dylib path relative to executable',
102              'action': [
103                'install_name_tool',
104                '-change',
105                '/usr/local/lib/libaddressinput.dylib',
106                '@executable_path/libaddressinput.dylib',
107                '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}'
108              ],
109            },
110          ],
111        }],
112      ],
113    },
114  ],
115}
116