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

Unified 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: Rebase 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/mb/mb_config.pyl ('k') | url/android/url_jni_registrar.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: url/BUILD.gn
diff --git a/url/BUILD.gn b/url/BUILD.gn
index 361c516fd28584324eb085477122423c0db687df..764e3a9b5e96d14df9e844d3cba71122d41130ea 100644
--- a/url/BUILD.gn
+++ b/url/BUILD.gn
@@ -2,60 +2,57 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+import("//build/buildflag_header.gni")
import("//testing/test.gni")
+import("features.gni")
if (is_android) {
import("//build/config/android/rules.gni")
}
-# Shared sources between url and url_lib_use_icu_alternatives_on_android.
-url_shared_sources = [
- "gurl.cc",
- "gurl.h",
- "origin.cc",
- "origin.h",
- "scheme_host_port.cc",
- "scheme_host_port.h",
- "third_party/mozilla/url_parse.cc",
- "third_party/mozilla/url_parse.h",
- "url_canon.h",
- "url_canon_etc.cc",
- "url_canon_filesystemurl.cc",
- "url_canon_fileurl.cc",
- "url_canon_host.cc",
- "url_canon_internal.cc",
- "url_canon_internal.h",
- "url_canon_internal_file.h",
- "url_canon_ip.cc",
- "url_canon_ip.h",
- "url_canon_mailtourl.cc",
- "url_canon_path.cc",
- "url_canon_pathurl.cc",
- "url_canon_query.cc",
- "url_canon_relative.cc",
- "url_canon_stdstring.cc",
- "url_canon_stdstring.h",
- "url_canon_stdurl.cc",
- "url_constants.cc",
- "url_constants.h",
- "url_export.h",
- "url_file.h",
- "url_parse_file.cc",
- "url_parse_internal.h",
- "url_util.cc",
- "url_util.h",
-]
+buildflag_header("url_features") {
+ header = "url_features.h"
+ flags = [ "USE_PLATFORM_ICU_ALTERNATIVES=$use_platform_icu_alternatives" ]
+}
component("url") {
- sources = url_shared_sources + [
- "url_canon_icu.cc",
- "url_canon_icu.h",
- ]
+ sources = [
+ "gurl.cc",
+ "gurl.h",
+ "origin.cc",
+ "origin.h",
+ "scheme_host_port.cc",
+ "scheme_host_port.h",
+ "third_party/mozilla/url_parse.cc",
+ "third_party/mozilla/url_parse.h",
+ "url_canon.h",
+ "url_canon_etc.cc",
+ "url_canon_filesystemurl.cc",
+ "url_canon_fileurl.cc",
+ "url_canon_host.cc",
+ "url_canon_internal.cc",
+ "url_canon_internal.h",
+ "url_canon_internal_file.h",
+ "url_canon_ip.cc",
+ "url_canon_ip.h",
+ "url_canon_mailtourl.cc",
+ "url_canon_path.cc",
+ "url_canon_pathurl.cc",
+ "url_canon_query.cc",
+ "url_canon_relative.cc",
+ "url_canon_stdstring.cc",
+ "url_canon_stdstring.h",
+ "url_canon_stdurl.cc",
+ "url_constants.cc",
+ "url_constants.h",
+ "url_export.h",
+ "url_file.h",
+ "url_parse_file.cc",
+ "url_parse_internal.h",
+ "url_util.cc",
+ "url_util.h",
+ ]
- if (is_win) {
- # Don't conflict with Windows' "url.dll".
- output_name = "url_lib"
- }
defines = [ "URL_IMPLEMENTATION" ]
configs += [
@@ -66,9 +63,43 @@ component("url") {
deps = [
"//base",
"//base/third_party/dynamic_annotations",
- "//third_party/icu",
- "//third_party/icu:icudata",
]
+
+ if (is_win) {
+ # Don't conflict with Windows' "url.dll".
+ output_name = "url_lib"
+ }
+
+ # ICU support.
+ if (use_platform_icu_alternatives) {
+ if (is_android) {
+ sources += [
+ "android/url_jni_registrar.cc",
+ "android/url_jni_registrar.h",
+ "url_canon_icu_alternatives_android.cc",
+ "url_canon_icu_alternatives_android.h",
+ ]
+ deps += [
+ ":url_features",
+ ":url_java",
+ ":url_jni_headers",
+ "//base",
+ "//base/third_party/dynamic_annotations",
+ ]
+ } else if (is_ios) {
+ sources += [ "url_canon_icu_alternatives_ios.mm" ]
+ } else {
+ assert(false,
+ "ICU alternative is not implemented for platform: " + target_os)
+ }
+ } else {
+ # Use ICU.
+ sources += [
+ "url_canon_icu.cc",
+ "url_canon_icu.h",
+ ]
+ deps += [ "//third_party/icu" ]
+ }
}
if (is_android) {
@@ -85,32 +116,6 @@ if (is_android) {
]
jni_package = "url"
}
-
- component("url_lib_use_icu_alternatives_on_android") {
- sources = url_shared_sources + [
- "android/url_jni_registrar.cc",
- "android/url_jni_registrar.h",
- "url_canon_icu_alternatives_android.cc",
- "url_canon_icu_alternatives_android.h",
- ]
-
- defines = [
- "URL_IMPLEMENTATION",
- "USE_ICU_ALTERNATIVES_ON_ANDROID=1",
- ]
-
- configs += [
- # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
- "//build/config/compiler:no_size_t_to_int_warning",
- ]
-
- deps = [
- ":url_java",
- ":url_jni_headers",
- "//base",
- "//base/third_party/dynamic_annotations",
- ]
- }
}
test("url_unittests") {
@@ -126,22 +131,44 @@ test("url_unittests") {
"url_util_unittest.cc",
]
- if (!is_ios) {
- sources += [ "mojo/url_gurl_struct_traits_unittest.cc" ]
- }
-
- # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
- configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
-
deps = [
":url",
"//base",
"//base/test:test_support",
"//testing/gtest",
- "//third_party/icu:icuuc",
]
if (!is_ios) {
+ sources += [ "mojo/url_gurl_struct_traits_unittest.cc" ]
+ }
+
+ if (use_platform_icu_alternatives) {
+ # Unit tests that are not supported by the current ICU alternatives on Android.
+ if (is_android) {
+ sources -= [
+ "url_canon_icu_unittest.cc",
+ "url_canon_unittest.cc",
+ ]
+ deps += [ ":url_java" ]
+ }
+
+ # Unit tests that are not supported by the current ICU alternatives on iOS.
+ if (is_ios) {
+ sources -= [
+ "origin_unittest.cc",
+ "scheme_host_port_unittest.cc",
+ "url_canon_icu_unittest.cc",
+ "url_canon_unittest.cc",
+ ]
+ }
+ } else { # !use_platform_icu_alternatives
+ deps += [ "//third_party/icu:icuuc" ]
+ }
+
+ # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
+ configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
+
+ if (!is_ios) {
deps += [
"//mojo/edk/system",
"//mojo/edk/test:test_support",
« no previous file with comments | « tools/mb/mb_config.pyl ('k') | url/android/url_jni_registrar.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698