OLD | NEW |
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import("//testing/test.gni") | 5 import("//testing/test.gni") |
6 import("//url/config.gni") | |
7 | 6 |
8 # Sets the USE_ICU_ALTERNATIVES_ON_ANDROID define based on the build flag. | 7 if (is_android) { |
9 config("url_icu_config") { | 8 import("//build/config/android/rules.gni") |
10 if (use_icu_alternatives_on_android) { | |
11 defines = [ "USE_ICU_ALTERNATIVES_ON_ANDROID=1" ] | |
12 } | |
13 } | 9 } |
14 | 10 |
| 11 # The list of url files is kept in url_srcs.gypi. Read it. |
| 12 url_srcs = exec_script("//build/gypi_to_gn.py", |
| 13 [ rebase_path("url_srcs.gypi") ], |
| 14 "scope", |
| 15 [ "url_srcs.gypi" ]) |
| 16 |
15 component("url") { | 17 component("url") { |
16 if (is_win) { | 18 if (is_win) { |
17 # Don't conflict with Windows' "url.dll". | 19 # Don't conflict with Windows' "url.dll". |
18 output_name = "url_lib" | 20 output_name = "url_lib" |
19 } | 21 } |
20 sources = [ | 22 |
21 "android/url_jni_registrar.cc", | 23 sources = url_srcs.gurl_sources |
22 "android/url_jni_registrar.h", | |
23 "gurl.cc", | |
24 "gurl.h", | |
25 "origin.cc", | |
26 "origin.h", | |
27 "scheme_host_port.cc", | |
28 "scheme_host_port.h", | |
29 "third_party/mozilla/url_parse.cc", | |
30 "third_party/mozilla/url_parse.h", | |
31 "url_canon.h", | |
32 "url_canon_etc.cc", | |
33 "url_canon_filesystemurl.cc", | |
34 "url_canon_fileurl.cc", | |
35 "url_canon_host.cc", | |
36 "url_canon_icu.cc", | |
37 "url_canon_icu.h", | |
38 "url_canon_internal.cc", | |
39 "url_canon_internal.h", | |
40 "url_canon_internal_file.h", | |
41 "url_canon_ip.cc", | |
42 "url_canon_ip.h", | |
43 "url_canon_mailtourl.cc", | |
44 "url_canon_path.cc", | |
45 "url_canon_pathurl.cc", | |
46 "url_canon_query.cc", | |
47 "url_canon_relative.cc", | |
48 "url_canon_stdstring.cc", | |
49 "url_canon_stdstring.h", | |
50 "url_canon_stdurl.cc", | |
51 "url_constants.cc", | |
52 "url_constants.h", | |
53 "url_export.h", | |
54 "url_file.h", | |
55 "url_parse_file.cc", | |
56 "url_parse_internal.h", | |
57 "url_util.cc", | |
58 "url_util.h", | |
59 ] | |
60 | 24 |
61 defines = [ "URL_IMPLEMENTATION" ] | 25 defines = [ "URL_IMPLEMENTATION" ] |
62 | 26 |
63 configs += [ | 27 configs += [ |
64 ":url_icu_config", | |
65 | |
66 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. | 28 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. |
67 "//build/config/compiler:no_size_t_to_int_warning", | 29 "//build/config/compiler:no_size_t_to_int_warning", |
68 ] | 30 ] |
69 | 31 |
70 deps = [ | 32 deps = [ |
71 "//base", | 33 "//base", |
72 "//base/third_party/dynamic_annotations", | 34 "//base/third_party/dynamic_annotations", |
73 "//third_party/icu:icudata", | 35 "//third_party/icu:icudata", |
74 "//third_party/icu", | 36 "//third_party/icu", |
75 ] | 37 ] |
| 38 } |
76 | 39 |
77 if (use_icu_alternatives_on_android) { | 40 if (is_android) { |
| 41 generate_jni("url_jni_headers") { |
| 42 sources = [ |
| 43 "android/java/src/org/chromium/url/IDNStringUtil.java", |
| 44 ] |
| 45 jni_package = "url" |
| 46 } |
| 47 } |
| 48 |
| 49 if (is_android) { |
| 50 component("url_lib_use_icu_alternatives_on_android") { |
| 51 sources = url_srcs.gurl_sources + [ |
| 52 "url_canon_icu_alternatives_android.cc", |
| 53 "url_canon_icu_alternatives_android.h", |
| 54 ] |
| 55 |
78 sources -= [ | 56 sources -= [ |
79 "url_canon_icu.cc", | 57 "url_canon_icu.cc", |
80 "url_canon_icu.h", | 58 "url_canon_icu.h", |
81 ] | 59 ] |
82 deps -= [ | 60 defines = [ |
83 "//third_party/icu:icudata", | 61 "URL_IMPLEMENTATION", |
84 "//third_party/icu", | 62 "USE_ICU_ALTERNATIVES_ON_ANDROID=1", |
85 ] | 63 ] |
86 | 64 |
87 sources += [ | 65 configs += [ |
88 "url_canon_icu_alternatives_android.cc", | 66 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. |
89 "url_canon_icu_alternatives_android.h", | 67 "//build/config/compiler:no_size_t_to_int_warning", |
| 68 ] |
| 69 |
| 70 deps = [ |
| 71 "//base", |
| 72 "//base/third_party/dynamic_annotations", |
| 73 ":url_jni_headers", |
90 ] | 74 ] |
91 } | 75 } |
92 } | 76 } |
93 | 77 |
94 # TODO(dpranke): crbug.com/360936. Get this to build and run on Android. | 78 # TODO(dpranke): crbug.com/360936. Get this to build and run on Android. |
95 if (!is_android) { | 79 if (!is_android) { |
96 # TODO(GYP): Delete this after we've converted everything to GN. | 80 # TODO(GYP): Delete this after we've converted everything to GN. |
97 # The _run targets exist only for compatibility w/ GYP. | 81 # The _run targets exist only for compatibility w/ GYP. |
98 group("url_unittests_run") { | 82 group("url_unittests_run") { |
99 testonly = true | 83 testonly = true |
(...skipping 23 matching lines...) Expand all Loading... |
123 # } | 107 # } |
124 #} | 108 #} |
125 | 109 |
126 deps = [ | 110 deps = [ |
127 ":url", | 111 ":url", |
128 "//base", | 112 "//base", |
129 "//base/test:run_all_unittests", | 113 "//base/test:run_all_unittests", |
130 "//testing/gtest", | 114 "//testing/gtest", |
131 "//third_party/icu:icuuc", | 115 "//third_party/icu:icuuc", |
132 ] | 116 ] |
133 | |
134 if (use_icu_alternatives_on_android) { | |
135 sources -= [ "url_canon_icu_unittest.cc" ] | |
136 deps -= [ "//third_party/icu:icuuc" ] | |
137 } | |
138 } | 117 } |
139 } | 118 } |
OLD | NEW |