Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(86)

Side by Side Diff: url/BUILD.gn

Issue 1839803002: Remove net & url small, iOS ICU alternatives, unit tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed Misha's comments. Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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("features.gni")
6 7
7 if (is_android) { 8 if (is_android) {
8 import("//build/config/android/rules.gni") 9 import("//build/config/android/rules.gni")
9 } 10 }
10 11
11 # Shared sources between url and url_lib_use_icu_alternatives_on_android. 12 config("url_config") {
12 url_shared_sources = [ 13 defines = []
13 "gurl.cc", 14 if (use_platform_icu_alternatives) {
14 "gurl.h", 15 defines += [ "USE_PLATFORM_ICU_ALTERNATIVES=1" ]
15 "origin.cc", 16 }
16 "origin.h", 17 }
17 "scheme_host_port.cc",
18 "scheme_host_port.h",
19 "third_party/mozilla/url_parse.cc",
20 "third_party/mozilla/url_parse.h",
21 "url_canon.h",
22 "url_canon_etc.cc",
23 "url_canon_filesystemurl.cc",
24 "url_canon_fileurl.cc",
25 "url_canon_host.cc",
26 "url_canon_internal.cc",
27 "url_canon_internal.h",
28 "url_canon_internal_file.h",
29 "url_canon_ip.cc",
30 "url_canon_ip.h",
31 "url_canon_mailtourl.cc",
32 "url_canon_path.cc",
33 "url_canon_pathurl.cc",
34 "url_canon_query.cc",
35 "url_canon_relative.cc",
36 "url_canon_stdstring.cc",
37 "url_canon_stdstring.h",
38 "url_canon_stdurl.cc",
39 "url_constants.cc",
40 "url_constants.h",
41 "url_export.h",
42 "url_file.h",
43 "url_parse_file.cc",
44 "url_parse_internal.h",
45 "url_util.cc",
46 "url_util.h",
47 ]
48 18
49 component("url") { 19 component("url") {
50 sources = url_shared_sources + [ 20 sources = [
51 "url_canon_icu.cc", 21 "gurl.cc",
52 "url_canon_icu.h", 22 "gurl.h",
53 ] 23 "origin.cc",
24 "origin.h",
25 "scheme_host_port.cc",
26 "scheme_host_port.h",
27 "third_party/mozilla/url_parse.cc",
28 "third_party/mozilla/url_parse.h",
29 "url_canon.h",
30 "url_canon_etc.cc",
31 "url_canon_filesystemurl.cc",
32 "url_canon_fileurl.cc",
33 "url_canon_host.cc",
34 "url_canon_internal.cc",
35 "url_canon_internal.h",
36 "url_canon_internal_file.h",
37 "url_canon_ip.cc",
38 "url_canon_ip.h",
39 "url_canon_mailtourl.cc",
40 "url_canon_path.cc",
41 "url_canon_pathurl.cc",
42 "url_canon_query.cc",
43 "url_canon_relative.cc",
44 "url_canon_stdstring.cc",
45 "url_canon_stdstring.h",
46 "url_canon_stdurl.cc",
47 "url_constants.cc",
48 "url_constants.h",
49 "url_export.h",
50 "url_file.h",
51 "url_parse_file.cc",
52 "url_parse_internal.h",
53 "url_util.cc",
54 "url_util.h",
55 ]
56
57 defines = [ "URL_IMPLEMENTATION" ]
58
59 configs += [
60 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
61 "//build/config/compiler:no_size_t_to_int_warning",
62 ":url_config",
63 ]
64
65 deps = [
66 "//base",
67 "//base/third_party/dynamic_annotations",
68 ]
54 69
55 if (is_win) { 70 if (is_win) {
56 # Don't conflict with Windows' "url.dll". 71 # Don't conflict with Windows' "url.dll".
57 output_name = "url_lib" 72 output_name = "url_lib"
58 } 73 }
59 defines = [ "URL_IMPLEMENTATION" ]
60 74
61 configs += [ 75 # ICU support.
62 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 76 if (use_platform_icu_alternatives) {
63 "//build/config/compiler:no_size_t_to_int_warning", 77 if (is_android) {
64 ] 78 sources += [
65 79 "android/url_jni_registrar.cc",
66 deps = [ 80 "android/url_jni_registrar.h",
67 "//base", 81 "url_canon_icu_alternatives_android.cc",
68 "//base/third_party/dynamic_annotations", 82 "url_canon_icu_alternatives_android.h",
69 "//third_party/icu", 83 ]
70 "//third_party/icu:icudata", 84 deps += [
71 ] 85 ":url_java",
86 ":url_jni_headers",
87 "//base",
88 "//base/third_party/dynamic_annotations",
89 ]
90 } else if (is_ios) {
91 sources += [ "url_canon_icu_alternatives_ios.mm" ]
92 } else {
93 assert(false,
94 "ICU alternative is not implemented for platform: " + target_os)
95 }
96 } else {
97 # use third-party ICU implementation.
brettw 2016/04/04 22:54:11 This comment is confusing me since it might be say
kapishnikov 2016/04/05 15:22:04 Done.
98 sources += [
99 "url_canon_icu.cc",
100 "url_canon_icu.h",
101 ]
102 deps += [
103 "//third_party/icu",
104 "//third_party/icu:icudata",
105 ]
106 }
72 } 107 }
73 108
74 if (is_android) { 109 if (is_android) {
75 android_library("url_java") { 110 android_library("url_java") {
76 java_files = [ "android/java/src/org/chromium/url/IDNStringUtil.java" ] 111 java_files = [ "android/java/src/org/chromium/url/IDNStringUtil.java" ]
77 deps = [ 112 deps = [
78 "//base:base_java", 113 "//base:base_java",
79 ] 114 ]
80 } 115 }
81 116
82 generate_jni("url_jni_headers") { 117 generate_jni("url_jni_headers") {
83 sources = [ 118 sources = [
84 "android/java/src/org/chromium/url/IDNStringUtil.java", 119 "android/java/src/org/chromium/url/IDNStringUtil.java",
85 ] 120 ]
86 jni_package = "url" 121 jni_package = "url"
87 } 122 }
88
89 component("url_lib_use_icu_alternatives_on_android") {
90 sources = url_shared_sources + [
91 "android/url_jni_registrar.cc",
92 "android/url_jni_registrar.h",
93 "url_canon_icu_alternatives_android.cc",
94 "url_canon_icu_alternatives_android.h",
95 ]
96
97 defines = [
98 "URL_IMPLEMENTATION",
99 "USE_ICU_ALTERNATIVES_ON_ANDROID=1",
100 ]
101
102 configs += [
103 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
104 "//build/config/compiler:no_size_t_to_int_warning",
105 ]
106
107 deps = [
108 ":url_java",
109 ":url_jni_headers",
110 "//base",
111 "//base/third_party/dynamic_annotations",
112 ]
113 }
114 } 123 }
115 124
116 test("url_unittests") { 125 test("url_unittests") {
117 sources = [ 126 sources = [
118 "gurl_unittest.cc", 127 "gurl_unittest.cc",
119 "origin_unittest.cc", 128 "origin_unittest.cc",
120 "run_all_unittests.cc", 129 "run_all_unittests.cc",
121 "scheme_host_port_unittest.cc", 130 "scheme_host_port_unittest.cc",
122 "url_canon_icu_unittest.cc", 131 "url_canon_icu_unittest.cc",
123 "url_canon_unittest.cc", 132 "url_canon_unittest.cc",
124 "url_parse_unittest.cc", 133 "url_parse_unittest.cc",
125 "url_test_utils.h", 134 "url_test_utils.h",
126 "url_util_unittest.cc", 135 "url_util_unittest.cc",
127 ] 136 ]
128 137
129 if (!is_ios) { 138 if (!is_ios) {
130 sources += [ "mojo/url_gurl_struct_traits_unittest.cc" ] 139 sources += [ "mojo/url_gurl_struct_traits_unittest.cc" ]
131 } 140 }
132 141
142 # Unit tests that are not supported by the current ICU alternatives on Android .
143 if (is_android && use_platform_icu_alternatives) {
144 sources -= [
145 "origin_unittest.cc",
146 "scheme_host_port_unittest.cc",
147 "url_canon_icu_unittest.cc",
mef 2016/04/04 22:25:43 It's a bit strange that it fails on Android, shoul
kapishnikov 2016/04/05 15:22:04 The test depends on ICUCharsetConverter https://co
148 "url_canon_unittest.cc",
149 ]
150 }
151
152 # Unit tests that are not supported by the current ICU alternatives on iOS.
153 if (is_ios && use_platform_icu_alternatives) {
154 sources -= [
155 "origin_unittest.cc",
156 "scheme_host_port_unittest.cc",
157 "url_canon_icu_unittest.cc",
158 "url_canon_unittest.cc",
159 ]
160 }
161
133 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 162 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
134 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] 163 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
135 164
136 deps = [ 165 deps = [
137 ":url", 166 ":url",
138 "//base", 167 "//base",
139 "//base/test:test_support", 168 "//base/test:test_support",
140 "//testing/gtest", 169 "//testing/gtest",
141 "//third_party/icu:icuuc", 170 "//third_party/icu:icuuc",
142 ] 171 ]
143 172
144 if (!is_ios) { 173 if (!is_ios) {
145 deps += [ 174 deps += [
146 "//mojo/edk/system", 175 "//mojo/edk/system",
147 "//mojo/edk/test:test_support", 176 "//mojo/edk/test:test_support",
148 "//url/mojo:test_url_mojom_gurl", 177 "//url/mojo:test_url_mojom_gurl",
149 ] 178 ]
150 } 179 }
151 } 180 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698