OLD | NEW |
| (Empty) |
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 { | |
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 ':url_url_features', | |
23 ], | |
24 'sources': [ | |
25 '<@(gurl_sources)', | |
26 ], | |
27 'direct_dependent_settings': { | |
28 'include_dirs': [ | |
29 '..', | |
30 ], | |
31 }, | |
32 'defines': [ | |
33 'URL_IMPLEMENTATION', | |
34 ], | |
35 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. | |
36 'msvs_disabled_warnings': [4267, ], | |
37 | |
38 # ICU Alternatives for Android & iOS | |
39 'conditions': [ | |
40 ['use_platform_icu_alternatives == 1', { | |
41 'sources!': [ | |
42 'url_canon_icu.cc', | |
43 'url_canon_icu.h', | |
44 ], | |
45 'conditions': [ | |
46 ['OS == "android"', { | |
47 'dependencies': [ | |
48 'url_java', | |
49 'url_jni_headers', | |
50 ], | |
51 'sources': [ | |
52 'url_canon_icu_alternatives_android.cc', | |
53 ], | |
54 }], | |
55 ['OS == "ios"', { | |
56 'sources': [ | |
57 'url_canon_icu_alternatives_ios.mm', | |
58 ], | |
59 }], | |
60 ], | |
61 }, | |
62 # 'use_platform_icu_alternatives != 1' | |
63 { | |
64 'dependencies': [ | |
65 '../third_party/icu/icu.gyp:icui18n', | |
66 '../third_party/icu/icu.gyp:icuuc', | |
67 ], | |
68 }], | |
69 ], | |
70 }, | |
71 { | |
72 'target_name': 'url_unittests', | |
73 'type': 'executable', | |
74 'dependencies': [ | |
75 '../base/base.gyp:test_support_base', | |
76 '../testing/gtest.gyp:gtest', | |
77 '../third_party/icu/icu.gyp:icuuc', | |
78 'url_test_mojom', | |
79 'url_lib', | |
80 ], | |
81 'sources': [ | |
82 'gurl_unittest.cc', | |
83 'origin_unittest.cc', | |
84 'run_all_unittests.cc', | |
85 'scheme_host_port_unittest.cc', | |
86 'url_canon_icu_unittest.cc', | |
87 'url_canon_unittest.cc', | |
88 'url_parse_unittest.cc', | |
89 'url_test_utils.h', | |
90 'url_util_unittest.cc', | |
91 ], | |
92 'conditions': [ | |
93 ['OS!="ios"', { | |
94 'sources': [ | |
95 'mojo/url_gurl_struct_traits_unittest.cc', | |
96 ], | |
97 'dependencies': [ | |
98 '../mojo/mojo_edk.gyp:mojo_common_test_support', | |
99 ], | |
100 }], | |
101 # Unit tests that are not supported by the current ICU alternatives on A
ndroid. | |
102 ['OS == "android" and use_platform_icu_alternatives == 1', { | |
103 'sources!': [ | |
104 'url_canon_icu_unittest.cc', | |
105 ], | |
106 }], | |
107 # Unit tests that are not supported by the current ICU alternatives on i
OS. | |
108 ['OS == "ios" and use_platform_icu_alternatives == 1', { | |
109 'sources!': [ | |
110 'origin_unittest.cc', | |
111 'scheme_host_port_unittest.cc', | |
112 'url_canon_icu_unittest.cc', | |
113 'url_canon_unittest.cc', | |
114 ], | |
115 }], | |
116 ], | |
117 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. | |
118 'msvs_disabled_warnings': [4267, ], | |
119 }, | |
120 { | |
121 'target_name': 'url_interfaces_mojom', | |
122 'type': 'none', | |
123 'variables': { | |
124 'mojom_files': [ | |
125 'mojo/origin.mojom', | |
126 'mojo/url.mojom', | |
127 ], | |
128 'mojom_typemaps': [ | |
129 'mojo/gurl.typemap', | |
130 'mojo/origin.typemap', | |
131 ], | |
132 }, | |
133 'includes': [ '../mojo/mojom_bindings_generator_explicit.gypi' ], | |
134 }, | |
135 { | |
136 # GN version: //url/mojo:url_mojom_gurl and //url/mojo:url_mojom_origin | |
137 'target_name': 'url_mojom', | |
138 'type': 'static_library', | |
139 'export_dependent_settings': [ | |
140 '../mojo/mojo_public.gyp:mojo_cpp_bindings', | |
141 ], | |
142 # url_interfaces_mojom generates headers and is a hard dependency. | |
143 # That hard dependency status is not propagated to this target, so | |
144 # we must set it explicitly. | |
145 'hard_dependency': 1, | |
146 'dependencies': [ | |
147 '../mojo/mojo_public.gyp:mojo_cpp_bindings', | |
148 'url_interfaces_mojom', | |
149 'url_lib', | |
150 ], | |
151 }, | |
152 { | |
153 # GN version: //url/mojo:test_url_mojom_gurl | |
154 'target_name': 'url_test_interfaces_mojom', | |
155 'type': 'none', | |
156 'variables': { | |
157 'mojom_files': [ | |
158 'mojo/url_test.mojom', | |
159 ], | |
160 'mojom_typemaps': [ | |
161 'mojo/gurl.typemap', | |
162 'mojo/origin.typemap', | |
163 ], | |
164 }, | |
165 'includes': [ '../mojo/mojom_bindings_generator_explicit.gypi' ], | |
166 'dependencies': [ | |
167 '../mojo/mojo_public.gyp:mojo_cpp_bindings', | |
168 ], | |
169 }, | |
170 { | |
171 'target_name': 'url_test_mojom', | |
172 'type': 'static_library', | |
173 'export_dependent_settings': [ | |
174 '../mojo/mojo_public.gyp:mojo_cpp_bindings', | |
175 ], | |
176 'dependencies': [ | |
177 '../mojo/mojo_public.gyp:mojo_cpp_bindings', | |
178 'url_lib', | |
179 'url_mojom', | |
180 'url_test_interfaces_mojom', | |
181 ], | |
182 }, | |
183 { | |
184 # GN version: //url:url_features | |
185 'target_name': 'url_url_features', | |
186 'includes': [ '../build/buildflag_header.gypi' ], | |
187 'variables': { | |
188 'buildflag_header_path': 'url/url_features.h', | |
189 'buildflag_flags': [ | |
190 'USE_PLATFORM_ICU_ALTERNATIVES=<(use_platform_icu_alternatives)', | |
191 ], | |
192 }, | |
193 } | |
194 ], | |
195 'conditions': [ | |
196 ['OS=="android"', { | |
197 'targets': [ | |
198 { | |
199 'target_name': 'url_jni_headers', | |
200 'type': 'none', | |
201 'sources': [ | |
202 'android/java/src/org/chromium/url/IDNStringUtil.java' | |
203 ], | |
204 'variables': { | |
205 'jni_gen_package': 'url', | |
206 }, | |
207 'includes': [ '../build/jni_generator.gypi' ], | |
208 }, | |
209 { | |
210 'target_name': 'url_java', | |
211 'type': 'none', | |
212 'variables': { | |
213 'java_in_dir': '../url/android/java', | |
214 }, | |
215 'dependencies': [ | |
216 '../base/base.gyp:base', | |
217 ], | |
218 'includes': [ '../build/java.gypi' ], | |
219 }, | |
220 ], | |
221 }], | |
222 ['OS!="ios"', { | |
223 'targets': [ | |
224 { | |
225 'target_name': 'url_interfaces_mojom_for_blink', | |
226 'type': 'none', | |
227 'variables': { | |
228 'for_blink': 'true', | |
229 'mojom_files': [ | |
230 'mojo/origin.mojom', | |
231 'mojo/url.mojom', | |
232 ], | |
233 'mojom_typemaps': [ | |
234 '../third_party/WebKit/Source/platform/mojo/KURL.typemap', | |
235 '../third_party/WebKit/Source/platform/mojo/SecurityOrigin.typemap
', | |
236 ], | |
237 }, | |
238 'includes': [ '../mojo/mojom_bindings_generator_explicit.gypi' ], | |
239 }, | |
240 { | |
241 # GN version: //url/mojo:url_mojom_gurl_blink and //url/mojo:url_mojom
_origin_blink | |
242 'target_name': 'url_mojom_for_blink', | |
243 'type': 'static_library', | |
244 'export_dependent_settings': [ | |
245 '../mojo/mojo_public.gyp:mojo_cpp_bindings', | |
246 ], | |
247 'dependencies': [ | |
248 '../mojo/mojo_public.gyp:mojo_cpp_bindings', | |
249 'url_interfaces_mojom_for_blink', | |
250 'url_lib', | |
251 ], | |
252 }, | |
253 { | |
254 # GN version: //url/mojo:test_url_mojom_gurl_blink | |
255 'target_name': 'url_test_interfaces_mojom_for_blink', | |
256 'type': 'none', | |
257 'variables': { | |
258 'for_blink': 'true', | |
259 'mojom_files': [ | |
260 'mojo/url_test.mojom', | |
261 ], | |
262 'mojom_typemaps': [ | |
263 '../third_party/WebKit/Source/platform/mojo/KURL.typemap', | |
264 '../third_party/WebKit/Source/platform/mojo/SecurityOrigin.typemap
', | |
265 ], | |
266 }, | |
267 'includes': [ '../mojo/mojom_bindings_generator_explicit.gypi' ], | |
268 'dependencies': [ | |
269 '../mojo/mojo_public.gyp:mojo_cpp_bindings', | |
270 ], | |
271 }, | |
272 ], | |
273 }], | |
274 ['test_isolation_mode != "noop"', { | |
275 'targets': [ | |
276 { | |
277 'target_name': 'url_unittests_run', | |
278 'type': 'none', | |
279 'dependencies': [ | |
280 'url_unittests', | |
281 ], | |
282 'includes': [ | |
283 '../build/isolate.gypi', | |
284 ], | |
285 'sources': [ | |
286 'url_unittests.isolate', | |
287 ], | |
288 }, | |
289 ], | |
290 }], | |
291 ], | |
292 } | |
OLD | NEW |