blob: 2f3678c7ca7d9289d3572fea097410495a65ddff [file] [log] [blame]
# Copyright (c) 2013 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//testing/test.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",
]
component("url") {
sources = url_shared_sources + [
"url_canon_icu.cc",
"url_canon_icu.h",
]
if (is_win) {
# Don't conflict with Windows' "url.dll".
output_name = "url_lib"
}
defines = [ "URL_IMPLEMENTATION" ]
configs += [
# TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
"//build/config/compiler:no_size_t_to_int_warning",
]
deps = [
"//base",
"//base/third_party/dynamic_annotations",
"//third_party/icu",
"//third_party/icu:icudata",
]
}
if (is_android) {
generate_jni("url_jni_headers") {
sources = [
"android/java/src/org/chromium/url/IDNStringUtil.java",
]
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_jni_headers",
"//base",
"//base/third_party/dynamic_annotations",
]
}
}
# TODO(dpranke): crbug.com/360936. Get this to build and run on Android.
if (!is_android) {
# TODO(GYP): Delete this after we've converted everything to GN.
# The _run targets exist only for compatibility w/ GYP.
group("url_unittests_run") {
testonly = true
deps = [
":url_unittests",
]
}
test("url_unittests") {
sources = [
"gurl_unittest.cc",
"origin_unittest.cc",
"scheme_host_port_unittest.cc",
"url_canon_icu_unittest.cc",
"url_canon_unittest.cc",
"url_parse_unittest.cc",
"url_test_utils.h",
"url_util_unittest.cc",
]
# TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
#if (is_posix && !is_mac && !is_ios) {
# if (use_allocator!="none") {
# deps += "//base/allocator"
# }
#}
deps = [
":url",
"//base",
"//base/test:run_all_unittests",
"//testing/gtest",
"//third_party/icu:icuuc",
]
}
}