Roll src/breakpad/src d1f8b74:ac07e58 (svn 1427:1433)
[chromium-blink-merge.git] / url / url.gyp
blob0ffc51a8c410ecad04934baa5f790deae3c8d9d5
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.
6   'variables': {
7     'chromium_code': 1,
8   },
9   'includes': [
10     'url_srcs.gypi',
11   ],
12   'targets': [
13     {
14       # Note, this target_name cannot be 'url', because that will generate
15       # 'url.dll' for a Windows component build, and that will confuse Windows,
16       # which has a system DLL with the same name.
17       'target_name': 'url_lib',
18       'type': '<(component)',
19       'dependencies': [
20         '../base/base.gyp:base',
21         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
22         '../third_party/icu/icu.gyp:icui18n',
23         '../third_party/icu/icu.gyp:icuuc',
24       ],
25       'sources': [
26         '<@(gurl_sources)',
27       ],
28       'direct_dependent_settings': {
29         'include_dirs': [
30           '..',
31         ],
32       },
33       'defines': [
34         'URL_IMPLEMENTATION',
35       ],
36       'conditions': [
37         ['use_icu_alternatives_on_android==1', {
38           'sources!': [
39             'url_canon_icu.cc',
40             'url_canon_icu.h',
41           ],
42           'dependencies!': [
43             '../third_party/icu/icu.gyp:icui18n',
44             '../third_party/icu/icu.gyp:icuuc',
45           ],
46         }],
47         ['use_icu_alternatives_on_android==1 and OS=="android"', {
48           'dependencies': [
49             'url_java',
50             'url_jni_headers',
51           ],
52           'sources': [
53             'url_canon_icu_alternatives_android.cc',
54             'url_canon_icu_alternatives_android.h',
55           ],
56         }],
57       ],
58       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
59       'msvs_disabled_warnings': [4267, ],
60     },
61     {
62       'target_name': 'url_unittests',
63       'type': 'executable',
64       'dependencies': [
65         '../base/base.gyp:run_all_unittests',
66         '../testing/gtest.gyp:gtest',
67         '../third_party/icu/icu.gyp:icuuc',
68         'url_lib',
69       ],
70       'sources': [
71         'gurl_unittest.cc',
72         'origin_unittest.cc',
73         'url_canon_icu_unittest.cc',
74         'url_canon_unittest.cc',
75         'url_parse_unittest.cc',
76         'url_test_utils.h',
77         'url_util_unittest.cc',
78       ],
79       'conditions': [
80         ['os_posix==1 and OS!="mac" and OS!="ios" and use_allocator!="none"',
81           {
82             'dependencies': [
83               '../base/allocator/allocator.gyp:allocator',
84             ],
85           }
86         ],
87         ['use_icu_alternatives_on_android==1',
88           {
89             'sources!': [
90               'url_canon_icu_unittest.cc',
91             ],
92             'dependencies!': [
93               '../third_party/icu/icu.gyp:icuuc',
94             ],
95           }
96         ],
97       ],
98       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
99       'msvs_disabled_warnings': [4267, ],
100     },
101   ],
102   'conditions': [
103     ['use_icu_alternatives_on_android==1 and OS=="android"', {
104       'targets': [
105         {
106           'target_name': 'url_jni_headers',
107           'type': 'none',
108           'sources': [
109             'android/java/src/org/chromium/url/IDNStringUtil.java'
110           ],
111           'variables': {
112             'jni_gen_package': 'url',
113           },
114           'includes': [ '../build/jni_generator.gypi' ],
115         },
116         {
117           'target_name': 'url_java',
118           'type': 'none',
119           'variables': {
120             'java_in_dir': '../url/android/java',
121           },
122           'dependencies': [
123             '../base/base.gyp:base',
124           ],
125           'includes': [ '../build/java.gypi' ],
126         },
127       ],
128     }],
129   ],