| # 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", | 
 |     "deprecated_serialized_origin.cc", | 
 |     "deprecated_serialized_origin.h", | 
 |     "gurl.cc", | 
 |     "gurl.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_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 = [ | 
 |       "deprecated_serialized_origin_unittest.cc", | 
 |       "gurl_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", | 
 |     ] | 
 |  | 
 |     if (use_icu_alternatives_on_android) { | 
 |       sources -= [ "url_canon_icu_unittest.cc" ] | 
 |       deps -= [ "//third_party/icu:icuuc" ] | 
 |     } | 
 |   } | 
 | } |