Roll src/third_party/WebKit d9c6159:8139f33 (svn 201974:201975)
[chromium-blink-merge.git] / url / url.gyp
bloba9990a6b08308b31e9ee7f37baaac4e43509ecc3
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       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
37       'msvs_disabled_warnings': [4267, ],
38     },
39     {
40       'target_name': 'url_unittests',
41       'type': 'executable',
42       'dependencies': [
43         '../base/base.gyp:run_all_unittests',
44         '../testing/gtest.gyp:gtest',
45         '../third_party/icu/icu.gyp:icuuc',
46         'url_lib',
47       ],
48       'sources': [
49         'gurl_unittest.cc',
50         'origin_unittest.cc',
51         'scheme_host_port_unittest.cc',
52         'url_canon_icu_unittest.cc',
53         'url_canon_unittest.cc',
54         'url_parse_unittest.cc',
55         'url_test_utils.h',
56         'url_util_unittest.cc',
57       ],
58       'conditions': [
59         ['os_posix==1 and OS!="mac" and OS!="ios" and use_allocator!="none"',
60           {
61             'dependencies': [
62               '../base/allocator/allocator.gyp:allocator',
63             ],
64           }
65         ],
66       ],
67       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
68       'msvs_disabled_warnings': [4267, ],
69     },
70   ],
71   'conditions': [
72     ['OS=="android"', {
73       'targets': [
74         {
75           'target_name': 'url_jni_headers',
76           'type': 'none',
77           'sources': [
78             'android/java/src/org/chromium/url/IDNStringUtil.java'
79           ],
80           'variables': {
81             'jni_gen_package': 'url',
82           },
83           'includes': [ '../build/jni_generator.gypi' ],
84         },
85         {
86           'target_name': 'url_java',
87           'type': 'none',
88           'variables': {
89             'java_in_dir': '../url/android/java',
90           },
91           'dependencies': [
92             '../base/base.gyp:base',
93           ],
94           'includes': [ '../build/java.gypi' ],
95         },
96         {
97           # Same as url_lib but using ICU alternatives on Android.
98           'target_name': 'url_lib_use_icu_alternatives_on_android',
99           'type': '<(component)',
100           'dependencies': [
101             '../base/base.gyp:base',
102             '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
103             'url_java',
104             'url_jni_headers',
105           ],
106           'sources': [
107             '<@(gurl_sources)',
108             'url_canon_icu_alternatives_android.cc',
109             'url_canon_icu_alternatives_android.h',
110           ],
111           'sources!': [
112             'url_canon_icu.cc',
113             'url_canon_icu.h',
114           ],
115           'direct_dependent_settings': {
116             'include_dirs': [
117               '..',
118             ],
119           },
120           'defines': [
121             'URL_IMPLEMENTATION',
122             'USE_ICU_ALTERNATIVES_ON_ANDROID=1',
123           ],
124         },
125       ],
126     }],
127     ['test_isolation_mode != "noop"', {
128       'targets': [
129         {
130           'target_name': 'url_unittests_run',
131           'type': 'none',
132           'dependencies': [
133             'url_unittests',
134           ],
135           'includes': [
136             '../build/isolate.gypi',
137           ],
138           'sources': [
139             'url_unittests.isolate',
140           ],
141         },
142       ],
143     }],
144   ],