|  | # 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") | 
|  | import("//url/config.gni") | 
|  |  | 
|  | # Sets the USE_ICU_ALTERNATIVES_ON_ANDROID define based on the build flag. | 
|  | config("url_icu_config") { | 
|  | if (use_icu_alternatives_on_android) { | 
|  | defines = [ "USE_ICU_ALTERNATIVES_ON_ANDROID=1" ] | 
|  | } | 
|  | } | 
|  |  | 
|  | component("url") { | 
|  | if (is_win) { | 
|  | # Don't conflict with Windows' "url.dll". | 
|  | output_name = "url_lib" | 
|  | } | 
|  | sources = [ | 
|  | "android/url_jni_registrar.cc", | 
|  | "android/url_jni_registrar.h", | 
|  | "gurl.cc", | 
|  | "gurl.h", | 
|  | "origin.cc", | 
|  | "origin.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_icu.cc", | 
|  | "url_canon_icu.h", | 
|  | "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", | 
|  | ] | 
|  |  | 
|  | defines = [ "URL_IMPLEMENTATION" ] | 
|  |  | 
|  | configs += [ | 
|  | ":url_icu_config", | 
|  |  | 
|  | # 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:icudata", | 
|  | "//third_party/icu", | 
|  | ] | 
|  |  | 
|  | if (use_icu_alternatives_on_android) { | 
|  | sources -= [ | 
|  | "url_canon_icu.cc", | 
|  | "url_canon_icu.h", | 
|  | ] | 
|  | deps -= [ | 
|  | "//third_party/icu:icudata", | 
|  | "//third_party/icu", | 
|  | ] | 
|  |  | 
|  | sources += [ | 
|  | "url_canon_icu_alternatives_android.cc", | 
|  | "url_canon_icu_alternatives_android.h", | 
|  | ] | 
|  | } | 
|  | } | 
|  |  | 
|  | # TODO(dpranke): crbug.com/360936. Get this to build and run on Android. | 
|  | if (!is_android) { | 
|  | test("url_unittests") { | 
|  | sources = [ | 
|  | "gurl_unittest.cc", | 
|  | "origin_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", | 
|  | ] | 
|  |  | 
|  | if (use_icu_alternatives_on_android) { | 
|  | sources -= [ "url_canon_icu_unittest.cc" ] | 
|  | deps -= [ "//third_party/icu:icuuc" ] | 
|  | } | 
|  | } | 
|  | } |